From 4c8f0d39de7c6e425ac3bdfdc3891f1b4d4b31cb Mon Sep 17 00:00:00 2001 From: UGA Innovation Factory Date: Tue, 16 Dec 2025 16:48:21 -0500 Subject: [PATCH] change what sw modules export --- flake.nix | 13 +--------- installer/modules.nix | 58 ++++++------------------------------------- 2 files changed, 9 insertions(+), 62 deletions(-) diff --git a/flake.nix b/flake.nix index aaba908..118cbc6 100644 --- a/flake.nix +++ b/flake.nix @@ -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; diff --git a/installer/modules.nix b/installer/modules.nix index c9bcb5a..9af1356 100644 --- a/installer/modules.nix +++ b/installer/modules.nix @@ -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 = ; }) ]; - 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; })); }