diff --git a/nixos/default.nix b/nixos/default.nix index f2c60a1..c9f9259 100755 --- a/nixos/default.nix +++ b/nixos/default.nix @@ -1,5 +1,7 @@ let modulesPath = ./modules; + servicePath = modulesPath + "/services"; + moduleImport = path: nameTransform: builtins.listToAttrs ( map @@ -13,25 +15,10 @@ let (builtins.attrNames (builtins.readDir path)) ) ); + modules = moduleImport modulesPath (name: builtins.replaceStrings [".nix"] [""] name) - // ( - let - path = modulesPath; - in - builtins.listToAttrs ( - map - (name: { - name = name; - value = import (path + "/${name}"); - }) - ( - builtins.filter - (name: (builtins.readDir path).${name} == "directory") - (builtins.attrNames (builtins.readDir path)) - ) - ) - ); + // moduleImport servicePath (name: builtins.replaceStrings [".nix"] [""] name); in { flake.nixosModules = { personal = { @@ -72,7 +59,19 @@ in { imports = builtins.attrValues { inherit (modules) - services + acme + caddy + jellyfin + logrotate + mastodon + minecraft + nextcloud + ollama + owncast + peertube + postgresql + samba + vaultwarden ; }; }; diff --git a/nixos/modules/services/config/acme.nix b/nixos/modules/services/acme.nix similarity index 100% rename from nixos/modules/services/config/acme.nix rename to nixos/modules/services/acme.nix diff --git a/nixos/modules/services/config/caddy.nix b/nixos/modules/services/caddy.nix similarity index 100% rename from nixos/modules/services/config/caddy.nix rename to nixos/modules/services/caddy.nix diff --git a/nixos/modules/services/default.nix b/nixos/modules/services/default.nix deleted file mode 100755 index 96fbf9f..0000000 --- a/nixos/modules/services/default.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ - imports = let - configPath = ./config; - in - (map - (folder: (configPath + ./${folder})) - [ - "mastodon" - ]) - ++ (map - (file: (configPath + ./${file}.nix)) - [ - "acme" - "caddy" - "jellyfin" - "logrotate" - "minecraft" - "ollama" - "peertube" - "postgresql" - "owncast" - "samba" - "vaultwarden" - # "forgejo" - # "nextcloud" - ]); -} diff --git a/nixos/modules/services/config/forgejo.nix b/nixos/modules/services/forgejo.nix similarity index 100% rename from nixos/modules/services/config/forgejo.nix rename to nixos/modules/services/forgejo.nix diff --git a/nixos/modules/services/config/jellyfin.nix b/nixos/modules/services/jellyfin.nix similarity index 100% rename from nixos/modules/services/config/jellyfin.nix rename to nixos/modules/services/jellyfin.nix diff --git a/nixos/modules/services/config/logrotate.nix b/nixos/modules/services/logrotate.nix similarity index 100% rename from nixos/modules/services/config/logrotate.nix rename to nixos/modules/services/logrotate.nix diff --git a/nixos/modules/services/config/mastodon/chars.patch b/nixos/modules/services/mastodon/chars.patch similarity index 100% rename from nixos/modules/services/config/mastodon/chars.patch rename to nixos/modules/services/mastodon/chars.patch diff --git a/nixos/modules/services/config/mastodon/default.nix b/nixos/modules/services/mastodon/default.nix similarity index 100% rename from nixos/modules/services/config/mastodon/default.nix rename to nixos/modules/services/mastodon/default.nix diff --git a/nixos/modules/services/config/mastodon/twitter.txt b/nixos/modules/services/mastodon/twitter.txt similarity index 100% rename from nixos/modules/services/config/mastodon/twitter.txt rename to nixos/modules/services/mastodon/twitter.txt diff --git a/nixos/modules/services/config/minecraft.nix b/nixos/modules/services/minecraft.nix similarity index 100% rename from nixos/modules/services/config/minecraft.nix rename to nixos/modules/services/minecraft.nix diff --git a/nixos/modules/services/config/nextcloud.nix b/nixos/modules/services/nextcloud.nix similarity index 100% rename from nixos/modules/services/config/nextcloud.nix rename to nixos/modules/services/nextcloud.nix diff --git a/nixos/modules/services/config/ollama.nix b/nixos/modules/services/ollama.nix similarity index 100% rename from nixos/modules/services/config/ollama.nix rename to nixos/modules/services/ollama.nix diff --git a/nixos/modules/services/config/owncast.nix b/nixos/modules/services/owncast.nix similarity index 100% rename from nixos/modules/services/config/owncast.nix rename to nixos/modules/services/owncast.nix diff --git a/nixos/modules/services/config/peertube.nix b/nixos/modules/services/peertube.nix similarity index 100% rename from nixos/modules/services/config/peertube.nix rename to nixos/modules/services/peertube.nix diff --git a/nixos/modules/services/config/postgresql.nix b/nixos/modules/services/postgresql.nix similarity index 100% rename from nixos/modules/services/config/postgresql.nix rename to nixos/modules/services/postgresql.nix diff --git a/nixos/modules/services/config/samba.nix b/nixos/modules/services/samba.nix similarity index 100% rename from nixos/modules/services/config/samba.nix rename to nixos/modules/services/samba.nix diff --git a/nixos/modules/services/config/vaultwarden.nix b/nixos/modules/services/vaultwarden.nix similarity index 100% rename from nixos/modules/services/config/vaultwarden.nix rename to nixos/modules/services/vaultwarden.nix