46 lines
1.2 KiB
Nix
46 lines
1.2 KiB
Nix
{inputs}: _: _: let
|
|
mkHost = {
|
|
host,
|
|
system,
|
|
extraModules ? [],
|
|
}:
|
|
inputs.nixpkgs.lib.nixosSystem {
|
|
inherit system;
|
|
modules =
|
|
extraModules
|
|
++ [
|
|
../hosts/${host}
|
|
inputs.self.nixosModules.default
|
|
({config, ...}: {
|
|
config = {
|
|
alqueva.xonsh.enable = true;
|
|
nix = {
|
|
settings.extra-experimental-features = [
|
|
"nix-command"
|
|
"flakes"
|
|
];
|
|
gc = {
|
|
automatic = true;
|
|
dates = "weekly";
|
|
};
|
|
};
|
|
nixpkgs.config.allowUnfree = true;
|
|
environment.shellAliases = {
|
|
rebs = "nixos-rebuild --use-remote-sudo switch --flake .#${host}";
|
|
rebt = "nixos-rebuild --use-remote-sudo test --flake .#${host}";
|
|
};
|
|
nixpkgs.overlays = [
|
|
inputs.self.overlays.default
|
|
];
|
|
networking.hostName = host;
|
|
};
|
|
})
|
|
];
|
|
specialArgs = {
|
|
inherit inputs;
|
|
inherit (inputs) self;
|
|
};
|
|
};
|
|
in {
|
|
mkHosts = builtins.mapAttrs (n: v: mkHost (v // {host = n;}));
|
|
}
|