# ============================================================================ # 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 }: # Automatically import all variant modules from variants/ directory # This returns an attribute set like: { nix-desktop = ...; nix-laptop = ...; nix-lxc = ...; sw = ...; } (import ../variants { inherit inputs; }) // { # Software configuration module - main module with all athenix.sw options # Use athenix.sw.type to select profile: "desktop", "tablet-kiosk", "headless", "stateless-kiosk" sw = { inputs, ... }@args: (import ../sw/default.nix (args // { inherit inputs; })); }