# flake.nix { description = "Auto-install NixOS ISO"; inputs = { # nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-26.05"; nixos-conf-editor.url = "github:snowfallorg/nixos-conf-editor"; flake-utils.url = "github:numtide/flake-utils"; nixos-generators.url = "github:nix-community/nixos-generators"; # home-manager.url = "github:nix-community/home-manager"; # home-manager.inputs.nixpkgs.follows = "nixpkgs"; home-manager = { url = "github:nix-community/home-manager/release-26.05"; inputs.nixpkgs.follows = "nixpkgs"; }; disko = { url = "github:nix-community/disko"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { self, nixpkgs, flake-utils, nixos-generators, home-manager, ... }: flake-utils.lib.eachDefaultSystem (system: let pkgs = nixpkgs.legacyPackages.${system}; iso = nixos-generators.nixosGenerate { inherit system; format = "install-iso"; modules = [ ./installer.nix ]; }; netbootSystem = nixpkgs.lib.nixosSystem { inherit system; modules = [ ./installer.nix ({ modulesPath, ... }: { imports = [ (modulesPath + "/installer/netboot/netboot-minimal.nix") ]; }) ]; }; in { packages.default = iso; # packages.netboot = netbootSystem.config.system.build.netboot; #packages.netboot-debug = # pkgs.writeText "attrs.json" # (builtins.toJSON # (builtins.attrNames netbootSystem.config.system.build)); packages.netboot-ipxe = netbootSystem.config.system.build.netbootIpxeScript; packages.netboot-initrd = netbootSystem.config.system.build.netbootRamdisk; packages.netboot-kernel = netbootSystem.config.system.build.kernel; }); }