2026-02-01 19:43:03 +02:00
|
|
|
{
|
|
|
|
|
description = "NixOS installation ISO with Lix";
|
|
|
|
|
|
|
|
|
|
inputs = {
|
|
|
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11";
|
2026-02-03 09:52:52 +02:00
|
|
|
nix-index-database = {
|
|
|
|
|
url = "github:nix-community/nix-index-database";
|
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
|
};
|
2026-02-01 19:49:22 +02:00
|
|
|
lix-module.url = "git+https://git.lix.systems/lix-project/nixos-module?ref=release-2.93";
|
2026-02-01 19:43:03 +02:00
|
|
|
lix-module.inputs.nixpkgs.follows = "nixpkgs";
|
2026-02-01 20:12:00 +02:00
|
|
|
lanzaboote.url = "github:nix-community/lanzaboote";
|
|
|
|
|
lanzaboote.inputs.nixpkgs.follows = "nixpkgs";
|
2026-02-01 19:43:03 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
outputs = inputs@{ self, nixpkgs, ... }:
|
|
|
|
|
let
|
|
|
|
|
lib = nixpkgs.lib;
|
|
|
|
|
hostFiles = builtins.attrNames (builtins.readDir ./hosts);
|
2026-02-01 22:06:30 +02:00
|
|
|
hostNames =
|
|
|
|
|
lib.filter (name:
|
|
|
|
|
lib.hasSuffix ".nix" name
|
|
|
|
|
&& !(lib.hasSuffix "-hardware.nix" name)
|
|
|
|
|
&& name != "iso.nix"
|
|
|
|
|
)
|
|
|
|
|
hostFiles;
|
2026-02-01 19:43:03 +02:00
|
|
|
mkHost = name: lib.nixosSystem {
|
|
|
|
|
system = "x86_64-linux";
|
|
|
|
|
specialArgs = { inherit inputs; };
|
|
|
|
|
modules = [ (./hosts + "/${name}.nix") ];
|
|
|
|
|
};
|
|
|
|
|
in {
|
2026-02-01 22:06:30 +02:00
|
|
|
nixosConfigurations =
|
|
|
|
|
lib.genAttrs (map (lib.removeSuffix ".nix") hostNames) mkHost
|
|
|
|
|
// {
|
|
|
|
|
installer = nixpkgs.lib.nixosSystem {
|
|
|
|
|
system = "x86_64-linux";
|
|
|
|
|
specialArgs = { inherit inputs; };
|
|
|
|
|
modules = [ ./hosts/iso.nix ];
|
|
|
|
|
};
|
|
|
|
|
};
|
2026-02-01 19:43:03 +02:00
|
|
|
|
|
|
|
|
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;
|
|
|
|
|
};
|
|
|
|
|
}
|