diff --git a/hosts/desktop/configuration.nix b/hosts/desktop/configuration.nix index cac1170..853c97b 100644 --- a/hosts/desktop/configuration.nix +++ b/hosts/desktop/configuration.nix @@ -18,6 +18,7 @@ external-speakers.enable = true; gaming.enable = true; link2c.enable = true; + plasma.enable = true; # config diff --git a/modules/nixos/bundles/desktop.nix b/modules/nixos/bundles/desktop.nix index 1ad393c..24612bc 100644 --- a/modules/nixos/bundles/desktop.nix +++ b/modules/nixos/bundles/desktop.nix @@ -11,29 +11,21 @@ in config = lib.mkIf config.${feature}.enable { pipewire.enable = true; print-and-scan.enable = true; - plasma.enable = true; - environment.systemPackages = - with pkgs; - [ - beeper - brave - calibre - cameractrls-gtk3 - firefox - jellyfin-media-player - kiwix - libreoffice - nixfmt-rfc-style - obsidian - vlc - vscode - ] - ++ (with pkgs.kdePackages; [ - skanlite - ktorrent - kzones - ]); + environment.systemPackages = with pkgs; [ + beeper + brave + calibre + cameractrls-gtk3 + firefox + jellyfin-media-player + kiwix + libreoffice + nixfmt-rfc-style + obsidian + vlc + vscode + ]; }; imports = [ ]; diff --git a/modules/nixos/features/gnome.nix b/modules/nixos/features/gnome.nix new file mode 100644 index 0000000..de5378f --- /dev/null +++ b/modules/nixos/features/gnome.nix @@ -0,0 +1,53 @@ +{ + config, + lib, + pkgs, + ... +}: +let + feature = "gnome"; +in +{ + config = lib.mkIf config.${feature}.enable { + services = { + desktopManager.gnome.enable = true; + displayManager.gdm.enable = true; + }; + + # https://discourse.nixos.org/t/howto-disable-most-gnome-default-applications-and-what-they-are/13505 + environment.gnome.excludePackages = with pkgs; [ + # baobab # disk usage analyzer + # cheese # photo booth + # eog # image viewer + epiphany # web browser + gedit # text editor + # simple-scan # document scanner + totem # video player + yelp # help viewer + evince # document viewer + # file-roller # archive manager + geary # email client + seahorse # password manager + + # these should be self explanatory + gnome-calculator + gnome-calendar + gnome-characters + gnome-clocks + gnome-contacts + gnome-font-viewer + gnome-logs + gnome-maps + gnome-music + gnome-photos + # gnome-screenshot + # gnome-system-monitor + gnome-terminal + gnome-weather + # gnome-disk-utility + gnome-connections + ]; + }; + + options.${feature}.enable = lib.mkEnableOption "enables ${feature}"; +} diff --git a/modules/nixos/features/plasma.nix b/modules/nixos/features/plasma.nix index 7868f69..0855f9a 100644 --- a/modules/nixos/features/plasma.nix +++ b/modules/nixos/features/plasma.nix @@ -1,4 +1,4 @@ -{ config, lib, ... }: +{ config, lib, pkgs, ... }: let feature = "plasma"; in @@ -11,6 +11,12 @@ in wayland.enable = true; }; }; + + environment.systemPackages = with pkgs.kdePackages; [ + skanlite + ktorrent + kzones + ]; }; options.${feature}.enable = lib.mkEnableOption "enables ${feature}";