refactor(configurations): centralise home-manager config
This commit is contained in:
parent
b5772e4525
commit
b63959f307
2 changed files with 11 additions and 23 deletions
|
@ -7,7 +7,14 @@
|
|||
let
|
||||
inherit (lib) nixosSystem;
|
||||
inherit (lib.attrsets) mapAttrs;
|
||||
inherit (cfg.lib.modules) forAllUsers';
|
||||
cfg = config.flake;
|
||||
globalCfg = {
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
sharedModules = [ cfg.modules.homeManager.default ];
|
||||
users = forAllUsers' (name: _: cfg.homes.${name});
|
||||
};
|
||||
hosts = cfg.manifest.hosts or { };
|
||||
mkConfigurations =
|
||||
class: hosts:
|
||||
|
@ -15,13 +22,11 @@ let
|
|||
name: value:
|
||||
if class == "nixos" then
|
||||
nixosSystem {
|
||||
specialArgs = {
|
||||
inherit inputs;
|
||||
inherit (cfg) manifest;
|
||||
hostName = name;
|
||||
};
|
||||
specialArgs.hostName = name;
|
||||
modules = [
|
||||
cfg.modules.nixos.default
|
||||
inputs.home-manager.nixosModules.home-manager
|
||||
{ home-manager = globalCfg; }
|
||||
(value.extraCfg or { })
|
||||
];
|
||||
}
|
||||
|
@ -30,5 +35,6 @@ let
|
|||
) hosts;
|
||||
in
|
||||
{
|
||||
imports = [ inputs.home-manager.flakeModules.home-manager ];
|
||||
flake.nixosConfigurations = mkConfigurations "nixos" hosts.nixos;
|
||||
}
|
||||
|
|
|
@ -1,18 +0,0 @@
|
|||
{ inputs, config, ... }:
|
||||
let
|
||||
inherit (cfg.lib.modules) forAllUsers';
|
||||
cfg = config.flake;
|
||||
hm = inputs.home-manager;
|
||||
globalCfg = {
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
extraSpecialArgs = { inherit (cfg) manifest; };
|
||||
sharedModules = [ cfg.modules.homeManager.default ];
|
||||
users = forAllUsers' (name: _: cfg.homes.${name});
|
||||
};
|
||||
in
|
||||
{
|
||||
imports = [ hm.flakeModules.home-manager ];
|
||||
flake.modules.nixos.default.imports = [ hm.nixosModules.home-manager ];
|
||||
flake.modules.nixos.default.config.home-manager = globalCfg;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue