Build ISO installer nix build .#nixosConfigurations.installer-iso.config.system.build.isoImage Build kiosk system and push to Attic cache nix build .#nixosConfigurations.radiantwavekiosk.config.system.build.toplevel attic push kiosk ./result Deploy to a specific kiosk over SSH nixos-rebuild switch --flake .#radiantwavekiosk --target-host root@ --- ## How these build paths work The build commands follow the flake output attribute tree. Start with `flake.nix`: ```nix nixosConfigurations = { radiantwavekiosk = nixpkgs.lib.nixosSystem { ... }; # production machine installer-iso = nixpkgs.lib.nixosSystem { ... }; # USB installer }; ``` Each `nixosConfiguration` is a full NixOS system. You access what you want to build by walking the attribute tree with dots: ``` .#nixosConfigurations..config.system.build. │ │ │ │ │ │ │ └─ what to build: │ │ │ toplevel = full system closure │ │ │ isoImage = bootable ISO │ │ │ │ │ └─ name from flake.nix (radiantwavekiosk, installer-iso) │ │ │ └─ nixosConfigurations = standard flake output for NixOS systems │ └─ .# = "this flake, attribute..." ``` You can explore what's available with: nix eval .#nixosConfigurations --apply builtins.attrNames nix eval .#nixosConfigurations.radiantwavekiosk.config.system.build --apply builtins.attrNames