From 60de63c5ad98ef5008be6cd42c1bd55302f00f5d Mon Sep 17 00:00:00 2001 From: benvonh Date: Thu, 26 Dec 2024 23:59:46 +1000 Subject: [PATCH 1/2] Add override option --- nix/module.nix | 30 +++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/nix/module.nix b/nix/module.nix index e30ca7137..15cb6439d 100644 --- a/nix/module.nix +++ b/nix/module.nix @@ -52,7 +52,7 @@ let in "{ " + inner + " }" else - abort "Unexpected error! Please post a new issue..."; + abort "Unexpected error! Please post a new issue and @benvonh..."; toNestedObject = attrSet: let @@ -72,7 +72,21 @@ in type = types.str; default = ""; example = "catppuccin_mocha"; - description = "Theme to import (see ./themes/*.json)"; + description = "Theme to import (see ../themes/*.json)"; + }; + + override = mkOption { + type = types.attrs; + default = {}; + example = '' + { + theme.bar.menus.text = "#123ABC"; + } + ''; + description = '' + An arbitrary set to override the final config with. + Useful for overriding colors in your selected theme. + ''; }; layout = mkOption { @@ -538,8 +552,7 @@ in (if pkgs ? nerd-fonts.jetbrains-mono then pkgs.nerd-fonts.jetbrains-mono # NOTE:(benvonh) Remove after next release 25.05 - else pkgs.nerdfonts.override { fonts = [ "JetBrainsMono" ]; } - ) + else pkgs.nerdfonts.override { fonts = [ "JetBrainsMono" ]; }) ]; # NOTE:(benvonh) @@ -556,12 +569,15 @@ in }; xdg.configFile.hyprpanel = let - theme = if cfg.theme != "" then builtins.fromJSON (builtins.readFile ../themes/${cfg.theme}.json) else {}; + theme = if cfg.theme != "" + then builtins.fromJSON (builtins.readFile ../themes/${cfg.theme}.json) + else {}; flatSet = flattenAttrs (lib.attrsets.recursiveUpdate cfg.settings theme) ""; - mergeSet = if cfg.layout == null then flatSet else flatSet // cfg.layout; + mergeSet = flatSet // (flattenAttrs cfg.override ""); + fullSet = if cfg.layout == null then mergeSet else mergeSet // cfg.layout; in { target = "hyprpanel/config.json"; - text = toNestedObject mergeSet; + text = toNestedObject fullSet; onChange = "${pkgs.procps}/bin/pkill -u $USER -USR1 hyprpanel || true"; }; From 7c4355d138fcc7711ed446820797e111cd82bab0 Mon Sep 17 00:00:00 2001 From: benvonh Date: Fri, 27 Dec 2024 18:00:57 +1000 Subject: [PATCH 2/2] nix: Add package back to HM module --- nix/module.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nix/module.nix b/nix/module.nix index bf3b60ca0..dbe5c04e8 100644 --- a/nix/module.nix +++ b/nix/module.nix @@ -549,6 +549,7 @@ in config = mkIf cfg.enable { home.packages = [ + package (if pkgs ? nerd-fonts.jetbrains-mono then pkgs.nerd-fonts.jetbrains-mono # NOTE:(benvonh) Remove after next release 25.05