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 (final: prev: { tools = { gerrit-hook = import ../tools/gerrit-hook final; ipconverter = import ../tools/ipconverter final; git-blame-stats = import ../tools/git-blame-stats final; }; }) ]; }; # Add each input as a registry nix.registry = inputs.nixpkgs.lib.mapAttrs' (n: v: inputs.nixpkgs.lib.nameValuePair (n) ({ flake = v; })) inputs; } ]; }