46 lines
1.2 KiB
Nix
46 lines
1.2 KiB
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
let
|
|
# --- Path to your modules ---
|
|
modulesPath = ./generated/modules;
|
|
|
|
# --- Import all modules via import-tree ---
|
|
importedModules = import-tree modulesPath;
|
|
|
|
# --- Flatten the modules into a list ---
|
|
allModules = builtins.attrValues importedModules.imports;
|
|
|
|
# --- Helper: extract homeManagerExtraUsers if present ---
|
|
getFragment = module:
|
|
if builtins.hasAttr "homeManagerExtraFragments" module
|
|
then module.homeManagerExtraFragments
|
|
else {};
|
|
|
|
# --- Merge all fragments together ---
|
|
mergedHomeManagerUsers = lib.foldl' lib.mkMerge {} (map getFragment allModules);
|
|
|
|
in
|
|
{
|
|
# Host-specific configuration
|
|
networking.hostName = "traveldroid";
|
|
system.stateVersion = "26.05";
|
|
|
|
# Enable modules
|
|
enableFlatpaks = false;
|
|
enableThunar = false;
|
|
enableWofi = false;
|
|
enableZenBrowser= false;
|
|
enableEmacs = false;
|
|
enableKitty = false;
|
|
enableZsh = false;
|
|
enableFonts = false;
|
|
enableHyprland = true;
|
|
enableStylix = false;
|
|
|
|
# --- Inject the merged homeManagerExtraUsers fragments ---
|
|
home-manager.users = lib.mkMerge [
|
|
config.home-manager.users
|
|
mergedHomeManagerUsers
|
|
];
|
|
}
|