# flake.nix { description = "Auto-install NixOS ISO"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; 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"; }; 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; }); }