dotfiles/nixos/default.nix

112 lines
1.8 KiB
Nix
Raw Normal View History

2024-10-06 15:25:05 -05:00
let
modulesPath = ./modules;
modules =
2024-11-03 20:50:41 -06:00
builtins.foldl' (
emptySet: importedModules:
emptySet // importedModules
2024-11-04 12:54:00 -06:00
) {} (map
(name: {
2024-11-04 17:29:51 -06:00
"${name}" = import (modulesPath + "/${name}");
2024-11-04 12:54:00 -06:00
})
[
"services"
])
2024-11-03 20:50:41 -06:00
// builtins.foldl' (
emptySet: importedModules:
emptySet // importedModules
2024-11-04 12:54:00 -06:00
) {} (map
(name: {
2024-11-04 17:29:51 -06:00
"${name}" = import (modulesPath + "/${name}.nix");
2024-11-04 12:54:00 -06:00
})
[
"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"
]);
2024-10-06 15:25:05 -05:00
in {
flake.nixosModules = {
personal = {
imports = with modules; [
2024-10-06 15:25:05 -05:00
android
audio
bluetooth
corectrl
dconf
disks
firejail
2024-10-31 13:28:04 -05:00
flatpak
2024-10-06 15:25:05 -05:00
fonts
nur
plasma
printing
sddm
steam
sysstat
virtualization
];
};
desktop = {
imports = with modules; [
syncthing
2024-11-03 20:50:41 -06:00
# ollama
];
};
server = {
imports = with modules; [
services
];
};
shared = {
imports = with modules; [
accounts
doas
environment
2024-10-06 15:25:05 -05:00
gvfs
home-manager
locale
nix
2024-11-03 00:26:15 -05:00
rsyncd
2024-10-11 17:38:05 -05:00
sops
ssh
2024-10-06 15:25:05 -05:00
system
xserver
];
2024-10-06 15:25:05 -05:00
};
};
}