nanuqsaurus/flake.nix

43 lines
1.4 KiB
Nix

{
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;
};
}