2024-10-16 00:03:53 +01:00
|
|
|
{inputs}: _: _: let
|
|
|
|
mkComputer = {
|
|
|
|
host,
|
|
|
|
system,
|
|
|
|
user,
|
|
|
|
extraModules ? [],
|
|
|
|
}:
|
|
|
|
inputs.nixpkgs.lib.nixosSystem {
|
|
|
|
inherit system;
|
|
|
|
modules =
|
|
|
|
extraModules
|
|
|
|
++ [
|
2024-10-16 01:44:45 +01:00
|
|
|
../computers/${host}
|
2024-10-16 08:55:04 +01:00
|
|
|
inputs.self.nixosModules.default
|
2024-10-16 00:03:53 +01:00
|
|
|
({config, ...}: {
|
|
|
|
config = {
|
2024-10-29 15:37:11 +00:00
|
|
|
alqueva.xonsh.enable = true;
|
2024-10-16 00:03:53 +01:00
|
|
|
nix = {
|
|
|
|
settings.extra-experimental-features = [
|
|
|
|
"nix-command"
|
|
|
|
"flakes"
|
|
|
|
];
|
|
|
|
gc = {
|
|
|
|
automatic = true;
|
|
|
|
dates = "weekly";
|
|
|
|
};
|
|
|
|
};
|
2024-11-26 13:51:16 +00:00
|
|
|
nixpkgs.config.allowUnfree = true;
|
2024-10-16 00:03:53 +01:00
|
|
|
environment.shellAliases = {
|
|
|
|
rebs = "nixos-rebuild --use-remote-sudo switch --flake .#${host}";
|
|
|
|
rebt = "nixos-rebuild --use-remote-sudo test --flake .#${host}";
|
|
|
|
};
|
2024-10-16 17:01:46 +01:00
|
|
|
nixpkgs.overlays = [
|
|
|
|
inputs.self.overlays.default
|
|
|
|
];
|
2024-10-16 00:03:53 +01:00
|
|
|
networking.hostName = host;
|
|
|
|
};
|
|
|
|
})
|
|
|
|
];
|
|
|
|
specialArgs = {
|
|
|
|
inherit inputs;
|
|
|
|
inherit (inputs) self;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
in {
|
|
|
|
mkComputers = computers: builtins.mapAttrs (n: v: mkComputer (v // {host = n;})) computers;
|
|
|
|
}
|