From f34f59c2aa756d320ce81efde0d70f6dfc179369 Mon Sep 17 00:00:00 2001 From: Bernardo Magri Date: Sun, 31 May 2026 13:59:46 +0100 Subject: [PATCH] fix: drop mkDefault on three more list options it was silently dropping MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Same footgun as the home.packages fix, found by sweeping the tree for `mkDefault` on list options that other modules contribute to at normal priority (so filterOverrides discards the mkDefault def entirely): * themes/engine/sddm.nix — environment.systemPackages = mkDefault [ nomarchy-sddm-theme ] was dropped, so the SDDM greeter theme package was never installed (unthemed login). * themes/engine/plymouth.nix — boot.kernelParams = mkDefault [ quiet splash loglevel=3 … ] was dropped, so boots weren't quiet/clean. * features/desktop/waybar/default.nix — home.packages = mkDefault [ font-awesome ] was dropped, so waybar's icon font was missing. Verified via eval: nomarchy-sddm-theme now in systemPackages, "quiet" in kernelParams, font-awesome in home.packages. Left the genuinely-safe single-definition mkDefaults alone (plymouth.themePackages, resolved.fallbackDns, hyprsunset.extraArgs) and the hybridGPU videoDrivers mkDefault (it outranks nixpkgs' mkOptionDefault on real hardware). Co-Authored-By: Claude Opus 4.8 --- features/desktop/waybar/default.nix | 7 +++++-- themes/engine/plymouth.nix | 5 ++++- themes/engine/sddm.nix | 5 ++++- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/features/desktop/waybar/default.nix b/features/desktop/waybar/default.nix index c3bf376..3d55389 100644 --- a/features/desktop/waybar/default.nix +++ b/features/desktop/waybar/default.nix @@ -47,7 +47,10 @@ in style = lib.mkDefault (builtins.readFile styleFile); }; - home.packages = lib.mkDefault (with pkgs; [ + # Not mkDefault: home.packages is a list other modules set at normal + # priority, so a mkDefault def is dropped — leaving font-awesome (waybar's + # icon font) uninstalled. Merge it in. + home.packages = with pkgs; [ font-awesome - ]); + ]; } diff --git a/themes/engine/plymouth.nix b/themes/engine/plymouth.nix index 3ed8b6e..12e27ab 100644 --- a/themes/engine/plymouth.nix +++ b/themes/engine/plymouth.nix @@ -70,5 +70,8 @@ in theme = lib.mkDefault "nomarchy"; }; - boot.kernelParams = lib.mkDefault [ "quiet" "splash" "loglevel=3" "rd.systemd.show_status=false" "rd.udev.log_level=3" "udev.log_priority=3" "boot.shell_on_fail" ]; + # Not mkDefault: kernelParams is a list nixpkgs and other modules add to at + # normal priority, so a mkDefault def is dropped — losing the quiet/splash + # boot. These params merge with (don't replace) the rest. + boot.kernelParams = [ "quiet" "splash" "loglevel=3" "rd.systemd.show_status=false" "rd.udev.log_level=3" "udev.log_priority=3" "boot.shell_on_fail" ]; } diff --git a/themes/engine/sddm.nix b/themes/engine/sddm.nix index eb57ce7..1b114f9 100644 --- a/themes/engine/sddm.nix +++ b/themes/engine/sddm.nix @@ -36,7 +36,10 @@ in user = lib.mkDefault "nomarchy"; }; - environment.systemPackages = lib.mkDefault [ nomarchy-sddm-theme ]; + # Not mkDefault: systemPackages is a list every module contributes to at + # normal priority, so a mkDefault def is dropped entirely — leaving the + # SDDM theme package uninstalled and the greeter unthemed. + environment.systemPackages = [ nomarchy-sddm-theme ]; # Enable Hyprland system-level dependencies programs.hyprland = {