45 lines
872 B
Nix
45 lines
872 B
Nix
{
|
|
hostname,
|
|
inputs,
|
|
system ? "x86_64-linux",
|
|
users ? [ ],
|
|
modules ? [ ],
|
|
homeModules ? [ ],
|
|
overlays ? [ ],
|
|
}:
|
|
let
|
|
mkUsers = import ./mkUsers.nix;
|
|
in
|
|
inputs.nixpkgs.lib.nixosSystem {
|
|
inherit system;
|
|
modules = [
|
|
{
|
|
_module.args = {
|
|
inherit inputs;
|
|
inherit hostname;
|
|
inherit system;
|
|
}
|
|
// inputs;
|
|
nixpkgs.overlays = overlays;
|
|
}
|
|
inputs.sops-nix.nixosModules.sops
|
|
inputs.home-manager.nixosModules.home-manager
|
|
{
|
|
home-manager = {
|
|
useGlobalPkgs = true;
|
|
sharedModules = [ inputs.sops-nix.homeManagerModules.sops ] ++ homeModules;
|
|
extraSpecialArgs = {
|
|
inherit inputs;
|
|
inherit hostname;
|
|
};
|
|
};
|
|
}
|
|
../hosts/${hostname}
|
|
../hosts/common
|
|
(mkUsers {
|
|
inherit hostname;
|
|
inherit users;
|
|
})
|
|
]
|
|
++ modules;
|
|
}
|