2025-02-16 17:15:44 +00:00
|
|
|
{
|
|
|
|
config,
|
2025-02-17 11:53:45 +00:00
|
|
|
lib,
|
2025-02-16 17:15:44 +00:00
|
|
|
...
|
|
|
|
}:
|
|
|
|
|
|
|
|
with lib;
|
|
|
|
let
|
2025-02-17 11:53:45 +00:00
|
|
|
moduleFiles = [
|
|
|
|
../../user-modules/desktop/systemwide.nix
|
|
|
|
../../user-modules/development/systemwide.nix
|
|
|
|
../../user-modules/gaming/systemwide.nix
|
|
|
|
../../user-modules/keyring/systemwide.nix
|
|
|
|
];
|
|
|
|
|
|
|
|
moduleConfig = lists.foldr (file: acc: recursiveUpdate acc (import file)) { } moduleFiles;
|
|
|
|
|
|
|
|
moduleNames = attrNames moduleConfig;
|
|
|
|
|
|
|
|
mkModule =
|
|
|
|
name: moduleConfig:
|
|
|
|
{ pkgs, ... }:
|
|
|
|
{
|
|
|
|
config = mkIf (any (user: user.modules.${name}.enable) (attrValues config.home-manager.users)) (
|
|
|
|
if (isAttrs moduleConfig) then moduleConfig else (moduleConfig { inherit config pkgs; })
|
|
|
|
);
|
|
|
|
};
|
|
|
|
|
|
|
|
imports = map (name: mkModule name moduleConfig."${name}") moduleNames;
|
2025-02-16 17:15:44 +00:00
|
|
|
in
|
|
|
|
{
|
2025-02-17 11:53:45 +00:00
|
|
|
imports = imports;
|
2025-02-16 17:15:44 +00:00
|
|
|
}
|