inputs@{ self, ... }: { system ? "x86_64-linux", hostname, }: let naersk = inputs.naersk.lib."${system}"; in inputs.nixpkgs.lib.nixosSystem { inherit system; specialArgs = { inherit inputs system hostname self; }; modules = [ "${self}/modules" "${self}/hosts/${hostname}" "${self}/modules/homelab" "${self}/modules/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; inherit naersk; }; }) ]; }; } ]; }