about summary refs log tree commit diff
path: root/nix/mkSystem.nix
blob: 1f7ccaf0864e320a48da4e7de87237ec2b9ead73 (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
27
28
29
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.emacs-overlay.overlay
          inputs.nur.overlay
          inputs.rust.overlay
          (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;
    }
  ];
}