diff options
| author | Jakub Stachurski <j.stachurski@student.utwente.nl> | 2026-04-28 20:15:33 +0200 |
|---|---|---|
| committer | Jakub Stachurski <j.stachurski@student.utwente.nl> | 2026-04-28 20:15:33 +0200 |
| commit | 0785f0c5d36e442a7d65a5e35378c09903d39211 (patch) | |
| tree | 885a3561a58f4d2beee5355a0ae0adf034771dd5 | |
| parent | ff05ad9be1e136fc8eb3f7904739be97cca51ce9 (diff) | |
Add KDE properly and fix live-cd
| -rw-r--r-- | flake.nix | 7 | ||||
| -rw-r--r-- | home-modules/default.nix | 1 | ||||
| -rw-r--r-- | home-modules/desktop/default.nix | 1 | ||||
| -rw-r--r-- | home-modules/desktop/kde.nix | 28 | ||||
| -rw-r--r-- | home-modules/desktop/wayland/default.nix | 1 | ||||
| -rw-r--r-- | hosts/apocalypse/default.nix | 5 | ||||
| -rw-r--r-- | hosts/full-iso/default.nix | 23 | ||||
| -rw-r--r-- | modules/default.nix | 5 | ||||
| -rw-r--r-- | modules/desktop/common.nix | 8 | ||||
| -rw-r--r-- | modules/desktop/wms/default.nix | 1 | ||||
| -rw-r--r-- | modules/desktop/wms/kde.nix | 43 | ||||
| -rw-r--r-- | modules/gpg.nix | 6 | ||||
| -rw-r--r-- | users/live-user.nix | 2 | ||||
| -rw-r--r-- | users/user-common.nix | 2 |
14 files changed, 111 insertions, 22 deletions
@@ -70,12 +70,7 @@ treefmtExtract = name: (builtins.mapAttrs (_system: conf: conf."${name}") (treefmtStuff)); in { - # packages."x86_64-linux".full-iso = self.nixosConfigurations.full-iso.config.system.build.isoImage; - packages = ( - forAllSystems (_pkgs: { - - }) - ); + packages."x86_64-linux".full-iso = self.nixosConfigurations.full-iso.config.system.build.isoImage; # for `nix fmt` formatter = treefmtExtract "formatter"; # for `nix flake check` diff --git a/home-modules/default.nix b/home-modules/default.nix index 5286b0b..d8d285b 100644 --- a/home-modules/default.nix +++ b/home-modules/default.nix @@ -9,7 +9,6 @@ ./desktop ./services ]; - sops = { age.keyFile = "/home/${config.home.username}/.config/sops/age/keys.txt"; defaultSopsFile = ../secrets/secrets.yaml; diff --git a/home-modules/desktop/default.nix b/home-modules/desktop/default.nix index 4af361e..006478e 100644 --- a/home-modules/desktop/default.nix +++ b/home-modules/desktop/default.nix @@ -3,6 +3,7 @@ imports = [ ./wayland ./hyprland.nix + ./kde.nix ]; } diff --git a/home-modules/desktop/kde.nix b/home-modules/desktop/kde.nix new file mode 100644 index 0000000..96be671 --- /dev/null +++ b/home-modules/desktop/kde.nix @@ -0,0 +1,28 @@ +{ + pkgs, + lib, + hostconfig, + ... +}: +{ + config = lib.mkIf hostconfig.addons.desktop.kde.enable { + home.packages = with pkgs; [ + (catppuccin-kde.override { + accents = [ + "pink" + "mauve" + "rosewater" + "teal" + "sky" + ]; + flavour = [ + "mocha" + "macchiato" + "frappe" + "latte" + ]; + }) + ]; + }; + +} diff --git a/home-modules/desktop/wayland/default.nix b/home-modules/desktop/wayland/default.nix index 97f5fef..b4e09aa 100644 --- a/home-modules/desktop/wayland/default.nix +++ b/home-modules/desktop/wayland/default.nix @@ -10,6 +10,7 @@ ./mako.nix ]; xdg.portal = lib.mkIf hostconfig.addons.desktop.wayland.enable { + configPackages = lib.mkIf hostconfig.addons.desktop.kde.enable [ pkgs.kdePackages.plasma-desktop ]; enable = true; extraPortals = [ diff --git a/hosts/apocalypse/default.nix b/hosts/apocalypse/default.nix index 0977258..e82b048 100644 --- a/hosts/apocalypse/default.nix +++ b/hosts/apocalypse/default.nix @@ -21,9 +21,10 @@ ## Addons for this system addons = { - desktop.hyprland.enable = true; + desktop.hyprland.enable = false; desktop.xfce.enable = true; - desktop.cosmic.enable = true; + desktop.cosmic.enable = false; + desktop.kde.enable = true; steam.enable = true; virtualisation.guest = false; diff --git a/hosts/full-iso/default.nix b/hosts/full-iso/default.nix index 8d6199a..06b46aa 100644 --- a/hosts/full-iso/default.nix +++ b/hosts/full-iso/default.nix @@ -1,4 +1,4 @@ -{ modulesPath, ... }: +{ modulesPath, lib, ... }: { imports = [ (modulesPath + "/installer/cd-dvd/installation-cd-base.nix") @@ -6,8 +6,25 @@ boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; + services.hardware.bolt.enable = true; + powerManagement.enable = true; - addons.desktop.hyprland.enable = true; - addons.desktop.xfce.enable = false; + networking.useDHCP = lib.mkDefault true; + + networking.hostName = "conscript-live"; # Define your hostname. + networking.networkmanager.enable = true; # Easiest to use and most distros use this by default. + + hardware.bluetooth.enable = true; + hardware.bluetooth.settings = { + General = { + Enable = "Source,Sink,Media,Socket"; + }; + }; + + hardware.bluetooth.powerOnBoot = true; + services.blueman.enable = true; + + addons.desktop.hyprland.enable = false; + addons.desktop.xfce.enable = true; addons.gpg.enable = false; } diff --git a/modules/default.nix b/modules/default.nix index 50d36db..406d37c 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -55,10 +55,9 @@ enableSystemSlice = true; enableRootSlice = true; settings.OOM = { - SwapUsedLimit = "50%"; - DefaultMemoryPressureLimit = "50%"; + SwapUsedLimit = "40%"; + DefaultMemoryPressureLimit = "80%"; DefaultMemoryPressureDurationSec = 20; - }; }; diff --git a/modules/desktop/common.nix b/modules/desktop/common.nix index 2632a19..09b86cc 100644 --- a/modules/desktop/common.nix +++ b/modules/desktop/common.nix @@ -12,7 +12,7 @@ dconf.enable = true; thunar = { enable = true; - plugins = with pkgs.xfce; [ + plugins = with pkgs; [ thunar-archive-plugin thunar-media-tags-plugin thunar-volman @@ -20,15 +20,14 @@ }; }; + # Stuff that is useful for desktop environments. environment.systemPackages = with pkgs; [ xdg-user-dirs zathura - sioyek vlc mpv gparted kitty - # qalculate networkmanagerapplet (catppuccin-sddm.override { flavor = "mocha"; @@ -38,8 +37,6 @@ background = "${../sddm_bg.png}"; loginBackground = true; }) - # disabled because it imports a unsafe package - # surf # A basic browser in case we don't want to import a larger browser ]; # Enable CUPS to print documents. @@ -49,6 +46,7 @@ services.libinput.enable = true; services = { + # TODO: Make it so bluetooth and audio are also toggleable. blueman.enable = true; # Enable sound pipewire = { diff --git a/modules/desktop/wms/default.nix b/modules/desktop/wms/default.nix index ea6b61e..4d8c079 100644 --- a/modules/desktop/wms/default.nix +++ b/modules/desktop/wms/default.nix @@ -4,5 +4,6 @@ ./hyprland.nix ./xfce.nix ./cosmic.nix + ./kde.nix ]; } diff --git a/modules/desktop/wms/kde.nix b/modules/desktop/wms/kde.nix new file mode 100644 index 0000000..2120613 --- /dev/null +++ b/modules/desktop/wms/kde.nix @@ -0,0 +1,43 @@ +{ + pkgs, + lib, + config, + ... +}: +let + cfg = config.addons.desktop.kde; +in +{ + options.addons.desktop.kde = { + enable = lib.mkEnableOption "Enable KDE"; + }; + + config = lib.mkIf cfg.enable ( + { + services = { + desktopManager.plasma6.enable = true; + displayManager.sddm.enable = true; + displayManager.sddm.wayland.enable = true; + }; + + environment.systemPackages = with pkgs; [ + kdePackages.kcharselect # Character map + kdePackages.kclock # Clock app + kdePackages.kcolorchooser # Color picker + kdePackages.ksystemlog # System log viewer + kdePackages.sddm-kcm # SDDM configuration module + kdiff3 # File/directory comparison tool + + # Hardware/System Utilities (Optional) + hardinfo2 # System benchmarks and hardware info + wayland-utils # Wayland diagnostic tools + wl-clipboard # Wayland copy/paste support + ]; + environment.plasma6.excludePackages = with pkgs; [ + kdePackages.konversation + kdePackages.ktorrent + ]; + } + // (import ../../../utils/makeWm.nix "KDE" "wayland") + ); +} diff --git a/modules/gpg.nix b/modules/gpg.nix index b2651b9..650a8be 100644 --- a/modules/gpg.nix +++ b/modules/gpg.nix @@ -1,4 +1,5 @@ { + pkgs, config, lib, ... @@ -16,6 +17,11 @@ in programs.gnupg = { agent = { enable = true; + pinentryPackage = + if (config.addons.desktop.kde.enable) then + lib.mkForce pkgs.pinentry-qt + else + lib.mkForce pkgs.pinentry-gtk2; }; }; }) diff --git a/users/live-user.nix b/users/live-user.nix index 226fbe7..0a6ad0a 100644 --- a/users/live-user.nix +++ b/users/live-user.nix @@ -27,11 +27,11 @@ homeapps = { nvim.enable = true; - nvim.lsp = false; presets = { browser.enable = true; utils.enable = true; + dev.enable = true; }; }; diff --git a/users/user-common.nix b/users/user-common.nix index 28bf606..f43dae1 100644 --- a/users/user-common.nix +++ b/users/user-common.nix @@ -9,7 +9,7 @@ home-manager = { # useUserPackages = true; useGlobalPkgs = true; - backupFileExtension = "bak"; + backupFileExtension = ".bak"; sharedModules = [ ( |
