feat: server test

This commit is contained in:
Nick 2024-11-23 20:44:17 -06:00
parent 38ba756246
commit 1633a13be9

View file

@ -1,34 +1,60 @@
let
modulesPath = ./modules;
moduleImport = path: nameTransform:
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
builtins.foldl' (
emptySet: importedModules:
emptySet // importedModules
) {} (map
(name: {
name = name;
value = import (path + "/${name}");
"${name}" = import (modulesPath + "/${name}");
})
(
builtins.filter
(name: (builtins.readDir path).${name} == "directory")
(builtins.attrNames (builtins.readDir path))
)
))
modulesPath;
[
"services"
])
// builtins.foldl' (
emptySet: importedModules:
emptySet // importedModules
) {} (map
(name: {
"${name}" = import (modulesPath + "/${name}.nix");
})
[
"accounts"
"android"
"audio"
"bluetooth"
"corectrl"
"dconf"
"disks"
"doas"
"environment"
"firejail"
"flatpak"
"fonts"
"gnome"
"greetd"
"gvfs"
"home-manager"
"locale"
"network"
"nix"
"nur"
"ollama"
"plasma"
"printing"
"regreet"
"rsyncd"
"sddm"
"sops"
"ssh"
"steam"
"syncthing"
"sysstat"
"system"
"virtualization"
"xserver"
]);
in {
flake.nixosModules = {
personal = {