57 lines
1.2 KiB
Nix
57 lines
1.2 KiB
Nix
# SPDX-FileCopyrightText: 2025 Ethan Reece <contact@ethanreece.com>
|
|
#
|
|
# SPDX-License-Identifier: MIT
|
|
#
|
|
# https://hoverbear.org/blog/nix-flake-live-media/
|
|
|
|
{ module-name, ... }:
|
|
{
|
|
config,
|
|
inputs,
|
|
lib,
|
|
withSystem,
|
|
...
|
|
}:
|
|
{
|
|
flake.nixosConfigurations = lib.mkIf config.devices.${module-name}.enable (
|
|
let
|
|
system = config.devices.${module-name}.system;
|
|
in
|
|
{
|
|
${module-name} = withSystem system (
|
|
{ pkgs, ... }:
|
|
lib.nixosSystem {
|
|
inherit system;
|
|
specialArgs = {
|
|
inherit
|
|
inputs
|
|
module-name
|
|
pkgs
|
|
system
|
|
;
|
|
flakeConfig = config;
|
|
};
|
|
modules = [ ./configuration.nix ];
|
|
}
|
|
);
|
|
"iso-${module-name}" = lib.mkIf config.devices.${module-name}.iso (
|
|
withSystem system (
|
|
{ pkgs, ... }:
|
|
lib.nixosSystem {
|
|
inherit system;
|
|
specialArgs = {
|
|
inherit
|
|
inputs
|
|
pkgs
|
|
system
|
|
module-name
|
|
;
|
|
flakeConfig = config;
|
|
};
|
|
modules = [ ./iso.nix ];
|
|
}
|
|
)
|
|
);
|
|
}
|
|
);
|
|
}
|