flake/systems/default.nix

66 lines
1.4 KiB
Nix
Raw Normal View History

2023-11-14 18:29:14 +01:00
{
lib,
2024-02-03 21:55:58 +01:00
self,
2023-11-14 18:29:14 +01:00
inputs,
...
}: let
# shamelessly borrowed from https://github.com/getchoo/flake/blob/94dc521310b34b80158d1a0ab65d4daa3a44d81e/systems/default.nix
toSystem = builder: name: args:
(args.builder or builder) (
(builtins.removeAttrs args ["builder"])
// {
modules =
args.modules
++ [
./${name}
./${name}/hardware-configuration.nix
{networking.hostName = name;}
];
specialArgs = inputs;
}
);
mapNixOS = lib.mapAttrs (toSystem inputs.nixpkgs.lib.nixosSystem);
2023-11-14 19:47:42 +01:00
nixos = with inputs; [
2024-02-03 14:44:27 +01:00
../configs/common.nix
2024-01-18 17:55:21 +01:00
agenix.nixosModules.default
2024-01-18 15:21:54 +01:00
home-manager.nixosModules.home-manager
2024-01-19 23:45:31 +01:00
vscode-server.nixosModules.default
2023-11-14 18:29:14 +01:00
];
2023-11-14 19:47:42 +01:00
desktop = with inputs;
[
2024-02-03 14:44:27 +01:00
../configs/desktop.nix
2023-11-14 19:47:42 +01:00
lanzaboote.nixosModules.lanzaboote
2023-12-24 08:13:53 +01:00
catppuccin.nixosModules.catppuccin
2023-11-14 19:47:42 +01:00
]
++ nixos;
2024-01-18 15:15:14 +01:00
2024-02-03 14:44:27 +01:00
server = nixos ++ [../configs/server.nix];
2023-11-14 18:29:14 +01:00
in {
flake.nixosConfigurations = mapNixOS {
fuji = {
system = "x86_64-linux";
modules = desktop;
};
kilimandjaro = {
system = "x86_64-linux";
modules = desktop;
};
2024-01-18 15:15:14 +01:00
etna = {
system = "x86_64-linux";
2024-02-02 15:20:48 +01:00
modules =
server
++ (with inputs; [
api-rs.nixosModules.default
2024-02-02 16:20:46 +01:00
ukubot-rs.nixosModules.default
2024-02-03 21:55:58 +01:00
self.nixosModules.reposilite
2024-02-02 15:20:48 +01:00
]);
2024-01-18 15:15:14 +01:00
};
2023-11-14 18:29:14 +01:00
};
}