{ inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-23.11"; get-flake.url = "github:ursi/get-flake"; home-manager.url = "github:nix-community/home-manager/master"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; disko.url = "github:nix-community/disko"; disko.inputs.nixpkgs.follows = "nixpkgs"; srvos.url = "github:numtide/srvos"; srvos.inputs.nixpkgs.follows = "nixpkgs"; }; # outputs = _: {}; outputs = { self, get-flake, nixpkgs, ... } @ attrs: let system = "x86_64-linux"; nodeName = "sj-bm-hostkey0"; mkNixosConfiguration = {extraModules ? [], ...} @ attrs: nixpkgs.lib.nixosSystem ( nixpkgs.lib.attrsets.recursiveUpdate attrs { specialArgs = { nodeFlake = self; repoFlake = get-flake ../../../..; inherit nodeName; }; modules = [ ./configuration.nix # flake registry { nix.registry.nixpkgs.flake = nixpkgs; } { nixpkgs.overlays = [ (final: previous: { }) ]; } ] ++ extraModules; } ); in { nixosConfigurations = { native = mkNixosConfiguration { inherit system; }; }; }; }