aboutsummaryrefslogtreecommitdiff
path: root/modules/default.nix
blob: 6bf0abfba7c70fee8889a1aeaa095c341373773e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
{ inputs }:
let
  mkModules = modules: builtins.map (module: "${inputs.self}/modules/${module}") modules;
in
{
  mkSystem = hostname: system: nixpkgsVersion: modules: rec {
    deploy.nodes.${hostname} = {
      inherit hostname;
      profiles.system = {
        user = "root";
        sshUser = "tdback";
        path = inputs.deploy-rs.lib.${system}.activate.nixos nixosConfigurations.${hostname};
      };
    };

    nixosConfigurations.${hostname} = nixpkgsVersion.lib.nixosSystem {
      inherit system;
      modules = (mkModules modules) ++ [
        "${inputs.self}/hosts/${hostname}"
        "${inputs.self}/modules/users"
        inputs.home-manager.nixosModules.home-manager
        inputs.agenix.nixosModules.default
      ];
      specialArgs = { inherit inputs; };
    };
  };

  mergeSets = inputs.nixpkgs.lib.lists.foldl' (
    x: y: inputs.nixpkgs.lib.attrsets.recursiveUpdate x y
  ) { };
}