# ============================================================================ # 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; })); }