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