fix: Change what sw modules export
This commit is contained in:
committed by
Hunter Halloran
parent
d2841f2969
commit
3a9ddd4f93
13
flake.nix
13
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;
|
||||
|
||||
@@ -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; }));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user