fix: Change what sw modules export

This commit is contained in:
UGA Innovation Factory
2025-12-16 16:48:21 -05:00
committed by Hunter Halloran
parent d2841f2969
commit 3a9ddd4f93
2 changed files with 9 additions and 62 deletions

View File

@@ -93,18 +93,7 @@
packages = forAllSystems (_: artifacts);
# Expose modules for external use
nixosModules =
let
modules = import ./installer/modules.nix { inherit inputs; };
in
nixpkgs.lib.filterAttrs (n: _: n != "homeModules") modules;
# Expose Home Manager modules separately
homeModules =
let
modules = import ./installer/modules.nix { inherit inputs; };
in
modules.homeModules or { };
nixosModules = import ./installer/modules.nix { inherit inputs; };
# Templates for external configurations
templates = import ./templates;

View File

@@ -26,42 +26,6 @@
# ];
{ inputs }:
let
# Helper function to create software-only modules
# Bundles common system-level software with profile-specific config
mkSwModule =
swType:
{
config,
lib,
pkgs,
...
}:
{
imports = [
../sw/ghostty.nix # Terminal emulator
../sw/python.nix # Python environment
(import ../sw/${swType} {
inherit
config
lib
pkgs
inputs
;
})
];
# Apply Home Manager modules to all users via sharedModules
# This ensures consistent shell theme across all users
home-manager.sharedModules = [
../sw/theme.nix
];
};
# Helper to create a Home Manager module for nvim (requires user context)
# External users can import this with their user data
mkNvimModule = user: (import ../sw/nvim.nix { inherit user; });
in
{
# ========== Full Host Type Modules ==========
# Complete system configurations including hardware, boot, and software
@@ -72,18 +36,12 @@ in
nix-wsl = import ../hosts/types/nix-wsl.nix { inherit inputs; }; # WSL2 systems
nix-ephemeral = import ../hosts/types/nix-ephemeral.nix { inherit inputs; }; # Diskless/RAM-only
# ========== Software-Only Modules (NixOS) ==========
# For use with custom hardware configurations
sw-desktop = mkSwModule "desktop"; # Full desktop environment
sw-headless = mkSwModule "headless"; # CLI-only systems
sw-stateless-kiosk = mkSwModule "stateless-kiosk"; # Netboot kiosk
sw-tablet-kiosk = mkSwModule "tablet-kiosk"; # Touch-based kiosk
# ========== Home Manager Modules ==========
# User-level configuration modules
# Usage: home-manager.users.myuser.imports = [ (inputs.nixos-systems.homeManagerModules.nvim { user = <user-data>; }) ];
homeModules = {
theme = ../sw/theme.nix; # Zsh theme (no params needed)
nvim = mkNvimModule; # Neovim (requires user param)
};
# ========== Software Configuration Module ==========
# Main software module with all ugaif.sw options
# Use ugaif.sw.type to select profile: "desktop", "tablet-kiosk", "headless", "stateless-kiosk"
# Use ugaif.sw.extraPackages to add additional packages
# Use ugaif.sw.kioskUrl to set kiosk mode URL
sw =
{ inputs, ... }@args:
(import ../sw/default.nix (args // { inherit inputs; }));
}