54 lines
1.6 KiB
Nix
54 lines
1.6 KiB
Nix
{
|
|
pkgs,
|
|
lib,
|
|
config,
|
|
...
|
|
}: let
|
|
cfg = config.desktop.kde;
|
|
in {
|
|
options.desktop.kde = {
|
|
enable = lib.mkEnableOption "enable kde on nixos side";
|
|
};
|
|
|
|
config = lib.mkIf cfg.enable {
|
|
# enable kde plasma
|
|
services = {
|
|
desktopManager.plasma6.enable = true;
|
|
displayManager.sddm.enable = true;
|
|
displayManager.sddm.wayland.enable = true;
|
|
};
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
# KDE Utilities
|
|
kdePackages.discover # Optional: Software center for Flatpaks/firmware updates
|
|
kdePackages.kcalc # Calculator
|
|
kdePackages.kcharselect # Character map
|
|
kdePackages.kclock # Clock app
|
|
kdePackages.kcolorchooser # Color picker
|
|
kdePackages.kolourpaint # Simple paint program
|
|
kdePackages.ksystemlog # System log viewer
|
|
kdePackages.sddm-kcm # SDDM configuration module
|
|
kdiff3 # File/directory comparison tool
|
|
|
|
# Hardware/System Utilities (Optional)
|
|
kdePackages.isoimagewriter # Write hybrid ISOs to USB
|
|
kdePackages.partitionmanager # Disk and partition management
|
|
hardinfo2 # System benchmarks and hardware info
|
|
wayland-utils # Wayland diagnostic tools
|
|
wl-clipboard # Wayland copy/paste support
|
|
vlc # Media player
|
|
];
|
|
|
|
environment.plasma6.excludePackages = with pkgs; [
|
|
kdePackages.elisa # Music player
|
|
kdePackages.kdepim-runtime # Akonadi agents
|
|
kdePackages.kmahjongg
|
|
#kdePackages.kmines
|
|
kdePackages.konversation # IRC client
|
|
kdePackages.kpat # Solitaire
|
|
kdePackages.ksudoku
|
|
kdePackages.ktorrent
|
|
];
|
|
};
|
|
}
|