- Use fleet.modules instead of trying to access mkFleet output directly - Fix netboot artifact generation to correctly access module list - Ensure artifacts can access both nixosConfigurations and modules from fleet
32 lines
1.1 KiB
Nix
32 lines
1.1 KiB
Nix
# ============================================================================
|
|
# NixOS Modules Export
|
|
# ============================================================================
|
|
# This file exposes host types and software configurations as reusable NixOS
|
|
# modules that can be imported by external flakes or configurations.
|
|
#
|
|
# Usage in another flake:
|
|
# # Full host type configurations (includes hardware + software + system config)
|
|
# inputs.athenix.nixosModules.nix-desktop
|
|
# inputs.athenix.nixosModules.nix-laptop
|
|
#
|
|
# # Software-only configuration (for custom hardware setups)
|
|
# inputs.athenix.nixosModules.sw
|
|
|
|
{ inputs }:
|
|
# Expose hardware type modules from hw/ directory
|
|
# This returns an attribute set like: { nix-desktop = ...; nix-laptop = ...; nix-lxc = ...; }
|
|
let
|
|
hostTypes = import ../hw { inherit inputs; };
|
|
in
|
|
{
|
|
# Software configuration module - main module with all athenix.sw options
|
|
# Use athenix.sw.type to select profile: "desktop", "tablet-kiosk", "headless", "stateless-kiosk"
|
|
hw = hostTypes;
|
|
sw =
|
|
{
|
|
inputs,
|
|
...
|
|
}@args:
|
|
(import ../sw/default.nix (args // { inherit inputs; }));
|
|
}
|