refactor: cleaned up nixos and home dirs

This commit is contained in:
Nick 2025-02-06 00:51:06 -06:00
parent 2000adb56a
commit 824a91d405
643 changed files with 323 additions and 195 deletions

104
modules/nixos/default.nix Executable file
View file

@ -0,0 +1,104 @@
let
collectDirs =
path:
let
content = builtins.readDir path;
subdirs = builtins.filter (name: content.${name} == "directory") (builtins.attrNames content);
buildPath = name: path + "/${name}";
thisDirs = map buildPath subdirs;
subDirs = builtins.concatMap collectDirs thisDirs;
in
[ path ] ++ subDirs;
directoryImport =
path:
builtins.listToAttrs (
map (dir: {
name = baseNameOf (toString dir);
value = import dir;
}) (collectDirs path)
);
modules = directoryImport ./.;
in
{
flake.nixosModules = {
desktop = {
imports = builtins.attrValues {
inherit (modules)
mullvad
syncthing
ollama
hypr
wayland
xserver
;
};
};
fallaryn = {
imports = builtins.attrValues {
inherit (modules)
plasma
sddm
tablet
;
};
};
laptop = {
imports = builtins.attrValues {
inherit (modules)
gnome
xserver
;
};
};
server = {
imports = builtins.attrValues {
inherit (modules)
acme
caddy
jellyfin
logrotate
mastodon
minecraft
ollama
website
postgresql
samba
vaultwarden
forgejo
;
};
};
sops = {
imports = builtins.attrValues {
inherit (modules)
sops
;
};
};
system = {
imports = builtins.attrValues {
inherit (modules)
hardware
programs
;
};
};
core = {
imports = builtins.attrValues {
inherit (modules)
core
xserver
;
};
};
};
}