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
|
let
|
||||||
inherit (lib) nixosSystem;
|
inherit (lib) nixosSystem;
|
||||||
inherit (lib.attrsets) mapAttrs;
|
inherit (lib.attrsets) mapAttrs;
|
||||||
|
inherit (cfg.lib.modules) forAllUsers';
|
||||||
cfg = config.flake;
|
cfg = config.flake;
|
||||||
|
globalCfg = {
|
||||||
|
useGlobalPkgs = true;
|
||||||
|
useUserPackages = true;
|
||||||
|
sharedModules = [ cfg.modules.homeManager.default ];
|
||||||
|
users = forAllUsers' (name: _: cfg.homes.${name});
|
||||||
|
};
|
||||||
hosts = cfg.manifest.hosts or { };
|
hosts = cfg.manifest.hosts or { };
|
||||||
mkConfigurations =
|
mkConfigurations =
|
||||||
class: hosts:
|
class: hosts:
|
||||||
|
@ -15,13 +22,11 @@ let
|
||||||
name: value:
|
name: value:
|
||||||
if class == "nixos" then
|
if class == "nixos" then
|
||||||
nixosSystem {
|
nixosSystem {
|
||||||
specialArgs = {
|
specialArgs.hostName = name;
|
||||||
inherit inputs;
|
|
||||||
inherit (cfg) manifest;
|
|
||||||
hostName = name;
|
|
||||||
};
|
|
||||||
modules = [
|
modules = [
|
||||||
cfg.modules.nixos.default
|
cfg.modules.nixos.default
|
||||||
|
inputs.home-manager.nixosModules.home-manager
|
||||||
|
{ home-manager = globalCfg; }
|
||||||
(value.extraCfg or { })
|
(value.extraCfg or { })
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
@ -30,5 +35,6 @@ let
|
||||||
) hosts;
|
) hosts;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
|
imports = [ inputs.home-manager.flakeModules.home-manager ];
|
||||||
flake.nixosConfigurations = mkConfigurations "nixos" hosts.nixos;
|
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