Files
athenix/installer/modules.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>.enable to enable software profiles: desktop, tablet-kiosk, headless, stateless-kiosk, builders
hw = hostTypes;
sw =
{
inputs,
...
}@args:
(import ../sw/default.nix (args // { inherit inputs; }));
}