2024-10-06 15:25:05 -05:00
|
|
|
let
|
2024-11-03 17:48:32 -06:00
|
|
|
modulesPath = ./modules;
|
2024-11-23 20:45:46 -06:00
|
|
|
moduleImport = path: nameTransform:
|
2025-01-16 16:14:09 -06:00
|
|
|
builtins.listToAttrs (map (name: {
|
|
|
|
name = nameTransform name;
|
|
|
|
value = import (path + "/${name}");
|
|
|
|
}) (builtins.filter (name:
|
|
|
|
(builtins.readDir path).${name} == "regular"
|
|
|
|
&& builtins.match ".*\\.nix$" name != null)
|
|
|
|
(builtins.attrNames (builtins.readDir path))));
|
|
|
|
modules = moduleImport modulesPath
|
|
|
|
(name: builtins.replaceStrings [ ".nix" ] [ "" ] name) // (path:
|
|
|
|
builtins.listToAttrs (map (name: {
|
|
|
|
name = name;
|
2024-11-23 20:45:46 -06:00
|
|
|
value = import (path + "/${name}");
|
2025-01-16 16:14:09 -06:00
|
|
|
}) (builtins.filter (name: (builtins.readDir path).${name} == "directory")
|
|
|
|
(builtins.attrNames (builtins.readDir path))))) modulesPath;
|
2024-10-06 15:25:05 -05:00
|
|
|
in {
|
2024-11-03 17:48:32 -06:00
|
|
|
flake.nixosModules = {
|
|
|
|
personal = {
|
2024-11-04 19:24:06 -06:00
|
|
|
imports = builtins.attrValues {
|
2025-01-16 16:14:09 -06:00
|
|
|
inherit (modules)
|
|
|
|
android audio bluetooth corectrl dconf disks firejail flatpak fonts
|
|
|
|
printing steam sysstat virtualization;
|
2024-11-04 19:24:06 -06:00
|
|
|
};
|
2024-11-03 17:48:32 -06:00
|
|
|
};
|
|
|
|
|
|
|
|
desktop = {
|
2024-11-04 19:24:06 -06:00
|
|
|
imports = builtins.attrValues {
|
2025-01-16 16:14:09 -06:00
|
|
|
inherit (modules)
|
|
|
|
syncthing ollama
|
2025-01-10 17:35:00 -06:00
|
|
|
# plasma
|
2025-01-08 01:05:45 -06:00
|
|
|
# sddm
|
2025-01-16 16:14:09 -06:00
|
|
|
;
|
2024-12-24 20:09:31 -06:00
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2025-01-08 01:05:45 -06:00
|
|
|
hyprland = {
|
2025-01-16 16:14:09 -06:00
|
|
|
imports = builtins.attrValues { inherit (modules) hyprland; };
|
2024-11-03 17:48:32 -06:00
|
|
|
};
|
|
|
|
|
2025-01-16 16:14:09 -06:00
|
|
|
server = { imports = builtins.attrValues { inherit (modules) services; }; };
|
2024-11-03 17:48:32 -06:00
|
|
|
|
|
|
|
shared = {
|
2024-11-04 19:24:06 -06:00
|
|
|
imports = builtins.attrValues {
|
2025-01-16 16:14:09 -06:00
|
|
|
inherit (modules)
|
|
|
|
accounts doas environment gvfs home-manager locale nh nix rsyncd sops
|
|
|
|
ssh system xserver;
|
2024-11-04 19:24:06 -06:00
|
|
|
};
|
2024-10-06 15:25:05 -05:00
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|