diff --git a/flake.nix b/flake.nix index 44d882a2..8a7bd924 100644 --- a/flake.nix +++ b/flake.nix @@ -168,5 +168,13 @@ }; homeConfigurations = {}; + + # Collect colorschemes from all hosts and configs + colorschemes = let + homeConfigs = lib.mapAttrs' (n: v: lib.nameValuePair (lib.last (lib.splitString "@" n)) v.config) outputs.homeConfigurations; + systemConfigs = lib.mapAttrs (_: v: v.config.home-manager.users.gabriel) outputs.systemConfigs; + nixosConfigs = lib.mapAttrs (_: v: v.config.home-manager.users.gabriel) outputs.nixosConfigurations; + in + lib.mapAttrs (_: v: v.colorscheme.rawColorscheme) (homeConfigs // systemConfigs // nixosConfigs); }; } diff --git a/modules/home-manager/colors.nix b/modules/home-manager/colors.nix index 0e4fefb2..d73d3800 100644 --- a/modules/home-manager/colors.nix +++ b/modules/home-manager/colors.nix @@ -56,12 +56,7 @@ in { hosts = mkOption { readOnly = true; type = types.attrs; - default = let - homeConfigs = lib.mapAttrs' (n: v: lib.nameValuePair (lib.last (lib.splitString "@" n)) v.config) outputs.homeConfigurations; - systemConfigs = lib.mapAttrs (_: v: v.config.home-manager.users.gabriel) outputs.systemConfigs; - nixosConfigs = lib.mapAttrs (_: v: v.config.home-manager.users.gabriel) outputs.nixosConfigurations; - in - lib.mapAttrs (_: v: v.colorscheme.rawColorscheme.colors.${cfg.mode}) (homeConfigs // systemConfigs // nixosConfigs); + default = lib.mapAttrs (_: v: v.colors.${cfg.mode}) outputs.colorschemes; }; }; }