about summary refs log tree commit diff
path: root/nix/mkSystem.nix
blob: 00b566405a5ee37ef3cdf084673041888160c0eb (plain) (blame)
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
inputs@{ self, ... }:
{ system ? "x86_64-linux", hostname, }:
inputs.nixpkgs.lib.nixosSystem {
  inherit system;
  specialArgs = { inherit inputs system hostname; };
  modules = [
    "${self}/modules"
    "${self}/hosts/${hostname}"
    ./private-wireguard.nix
    {
      networking.hostName = hostname;
      nixpkgs = {
        config.allowUnfree = true;
        overlays = [
          inputs.nur.overlay
          inputs.rust.overlays.default
          (final: prev: { tools = import "${self}/tools" { pkgs = prev; }; })
        ];
      };
      # Add each input as a registry
      nix.registry = inputs.nixpkgs.lib.mapAttrs'
        (n: v: inputs.nixpkgs.lib.nameValuePair (n) ({ flake = v; }))
        inputs;
    }
  ];
}