49 lines
1010 B
Nix
49 lines
1010 B
Nix
{
|
|
nixpkgs,
|
|
home-manager,
|
|
inputs,
|
|
}:
|
|
{
|
|
hostname,
|
|
hostName ? hostname,
|
|
systemStateVersion ? "25.05",
|
|
system,
|
|
profile,
|
|
username,
|
|
extraModules ? [ ],
|
|
extraSpecialArgs ? { },
|
|
homeModules ? [ ../home ],
|
|
homeStateVersion ? "25.05",
|
|
useSops ? true,
|
|
}:
|
|
nixpkgs.lib.nixosSystem {
|
|
inherit system;
|
|
specialArgs = {
|
|
inherit inputs system username;
|
|
}
|
|
// extraSpecialArgs;
|
|
|
|
modules = [
|
|
../hosts/${hostname}
|
|
../profiles/${profile}.nix
|
|
{
|
|
networking.hostName = hostName;
|
|
system.stateVersion = systemStateVersion;
|
|
}
|
|
home-manager.nixosModules.home-manager
|
|
{
|
|
home-manager.useGlobalPkgs = true;
|
|
home-manager.useUserPackages = true;
|
|
home-manager.extraSpecialArgs = {
|
|
inherit inputs system;
|
|
};
|
|
home-manager.users.${username} = {
|
|
home.stateVersion = homeStateVersion;
|
|
imports = homeModules;
|
|
};
|
|
}
|
|
]
|
|
++ nixpkgs.lib.optionals useSops [ inputs.sops-nix.nixosModules.sops ]
|
|
++ extraModules;
|
|
}
|