{ description = "NixOS installation ISO with Lix"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11"; lix-module.url = "git+https://git.lix.systems/lix-project/nixos-module?ref=release-2.93"; lix-module.inputs.nixpkgs.follows = "nixpkgs"; lanzaboote.url = "github:nix-community/lanzaboote"; lanzaboote.inputs.nixpkgs.follows = "nixpkgs"; }; outputs = inputs@{ self, nixpkgs, ... }: let lib = nixpkgs.lib; hostFiles = builtins.attrNames (builtins.readDir ./hosts); hostNames = lib.filter (name: lib.hasSuffix ".nix" name && !(lib.hasSuffix "-hardware.nix" name) && name != "iso.nix" ) hostFiles; mkHost = name: lib.nixosSystem { system = "x86_64-linux"; specialArgs = { inherit inputs; }; modules = [ (./hosts + "/${name}.nix") ]; }; in { nixosConfigurations = lib.genAttrs (map (lib.removeSuffix ".nix") hostNames) mkHost // { installer = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; specialArgs = { inherit inputs; }; modules = [ ./hosts/iso.nix ]; }; }; packages.x86_64-linux.install-iso = self.nixosConfigurations.installer.config.system.build.isoImage; packages.x86_64-linux.default = self.packages.x86_64-linux.install-iso; }; }