From 4e783c052bb35dac9d36ce3c0beeec19415b4dc8 Mon Sep 17 00:00:00 2001 From: Crony Akatsuki Date: Mon, 19 Jan 2026 19:21:11 +0100 Subject: [PATCH] refactor: reorganize server modules - Moved each individual service definition into a dedicated `services/` directory under every server module (e.g. `modules/servers/bragi/services/`). - Updated the corresponding `default.nix` files to import the renamed service modules from the new location. - Applied the same changes across all server modules, ensuring the API and import paths remain consistent. --- helpers.nix | 2 +- modules/servers/baldur/default.nix | 17 ++++++++--- .../{ => services}/crafty-controller.nix | 0 modules/servers/bragi/default.nix | 22 +++++++++----- .../bragi/{ => services}/audiobookshelf.nix | 0 .../bragi/{ => services}/navidrome.nix | 0 .../bragi/{ => services}/storage-box.nix | 0 .../servers/bragi/{ => services}/umurmur.nix | 0 modules/servers/freyja/default.nix | 17 ++++++++--- .../servers/freyja/{ => services}/immich.nix | 0 modules/servers/heimdall/default.nix | 24 ++++++++------- .../servers/heimdall/{ => services}/atuin.nix | 0 .../heimdall/{ => services}/beszel-hub.nix | 0 .../heimdall/{ => services}/ntfy-sh.nix | 0 .../heimdall/{ => services}/redlib.nix | 0 .../heimdall/{ => services}/uptime-kuma.nix | 0 .../heimdall/{ => services}/wireguard.nix | 0 modules/servers/odin/default.nix | 25 +++++++++------- .../odin/{ => services}/filebrowser.nix | 0 .../servers/odin/{ => services}/miniflux.nix | 0 modules/servers/odin/{ => services}/searx.nix | 0 .../servers/odin/{ => services}/syncyomi.nix | 0 .../odin/{ => services}/upfast-cleaner.sh | 0 .../servers/odin/{ => services}/upfast.nix | 0 .../servers/odin/{ => services}/wallabag.nix | 0 .../servers/odin/{ => services}/website.nix | 0 modules/servers/thor/default.nix | 23 ++++++++------ .../{ => services}/changedetection-io.nix | 0 .../servers/thor/{ => services}/conduit.nix | 0 .../servers/thor/{ => services}/forgejo.nix | 0 modules/servers/thor/{ => services}/lemmy.nix | 0 .../servers/thor/{ => services}/plausible.nix | 0 modules/servers/tyr/default.nix | 30 +++++++++---------- modules/servers/tyr/{ => services}/dns.nix | 0 modules/servers/tyr/{ => services}/glance.nix | 0 .../tyr/{ => services}/home-assistant.nix | 0 modules/servers/tyr/{ => services}/komga.nix | 0 .../servers/tyr/{ => services}/linkwarden.nix | 0 .../servers/tyr/{ => services}/mosquitto.nix | 0 .../servers/tyr/{ => services}/nfs-server.nix | 0 .../tyr/{ => services}/paperless-ngx.nix | 0 .../servers/tyr/{ => services}/syncthing.nix | 0 .../servers/tyr/{ => services}/traefik.nix | 0 modules/servers/tyr/{ => services}/wallos.nix | 0 .../servers/tyr/{ => services}/wireguard.nix | 0 45 files changed, 97 insertions(+), 63 deletions(-) rename modules/servers/baldur/{ => services}/crafty-controller.nix (100%) rename modules/servers/bragi/{ => services}/audiobookshelf.nix (100%) rename modules/servers/bragi/{ => services}/navidrome.nix (100%) rename modules/servers/bragi/{ => services}/storage-box.nix (100%) rename modules/servers/bragi/{ => services}/umurmur.nix (100%) rename modules/servers/freyja/{ => services}/immich.nix (100%) rename modules/servers/heimdall/{ => services}/atuin.nix (100%) rename modules/servers/heimdall/{ => services}/beszel-hub.nix (100%) rename modules/servers/heimdall/{ => services}/ntfy-sh.nix (100%) rename modules/servers/heimdall/{ => services}/redlib.nix (100%) rename modules/servers/heimdall/{ => services}/uptime-kuma.nix (100%) rename modules/servers/heimdall/{ => services}/wireguard.nix (100%) rename modules/servers/odin/{ => services}/filebrowser.nix (100%) rename modules/servers/odin/{ => services}/miniflux.nix (100%) rename modules/servers/odin/{ => services}/searx.nix (100%) rename modules/servers/odin/{ => services}/syncyomi.nix (100%) rename modules/servers/odin/{ => services}/upfast-cleaner.sh (100%) rename modules/servers/odin/{ => services}/upfast.nix (100%) rename modules/servers/odin/{ => services}/wallabag.nix (100%) rename modules/servers/odin/{ => services}/website.nix (100%) rename modules/servers/thor/{ => services}/changedetection-io.nix (100%) rename modules/servers/thor/{ => services}/conduit.nix (100%) rename modules/servers/thor/{ => services}/forgejo.nix (100%) rename modules/servers/thor/{ => services}/lemmy.nix (100%) rename modules/servers/thor/{ => services}/plausible.nix (100%) rename modules/servers/tyr/{ => services}/dns.nix (100%) rename modules/servers/tyr/{ => services}/glance.nix (100%) rename modules/servers/tyr/{ => services}/home-assistant.nix (100%) rename modules/servers/tyr/{ => services}/komga.nix (100%) rename modules/servers/tyr/{ => services}/linkwarden.nix (100%) rename modules/servers/tyr/{ => services}/mosquitto.nix (100%) rename modules/servers/tyr/{ => services}/nfs-server.nix (100%) rename modules/servers/tyr/{ => services}/paperless-ngx.nix (100%) rename modules/servers/tyr/{ => services}/syncthing.nix (100%) rename modules/servers/tyr/{ => services}/traefik.nix (100%) rename modules/servers/tyr/{ => services}/wallos.nix (100%) rename modules/servers/tyr/{ => services}/wireguard.nix (100%) diff --git a/helpers.nix b/helpers.nix index bf15983..b0e1331 100644 --- a/helpers.nix +++ b/helpers.nix @@ -19,7 +19,7 @@ serverExtras = if host.type == "server" then [ - ./modules/servers/general + # ./modules/servers/general ./modules/servers/${name} ./modules/servers/home-manager ] diff --git a/modules/servers/baldur/default.nix b/modules/servers/baldur/default.nix index 202ef19..104999f 100644 --- a/modules/servers/baldur/default.nix +++ b/modules/servers/baldur/default.nix @@ -1,5 +1,14 @@ -{...}: { - imports = [ - ./crafty-controller.nix - ]; +{...}: let + servicesDir = ./services; + serviceFiles = + builtins.filter + (name: builtins.match "^.*\\.nix$" name != null) + (builtins.attrNames (builtins.readDir servicesDir)); + hostModules = map (fn: import "${servicesDir}/${fn}") serviceFiles; +in { + imports = + [ + ../general + ] + ++ hostModules; } diff --git a/modules/servers/baldur/crafty-controller.nix b/modules/servers/baldur/services/crafty-controller.nix similarity index 100% rename from modules/servers/baldur/crafty-controller.nix rename to modules/servers/baldur/services/crafty-controller.nix diff --git a/modules/servers/bragi/default.nix b/modules/servers/bragi/default.nix index b09386f..8a29e03 100644 --- a/modules/servers/bragi/default.nix +++ b/modules/servers/bragi/default.nix @@ -1,9 +1,15 @@ -{...}: { - imports = [ - ./audiobookshelf.nix - ./storage-box.nix - ./secrets.nix - ./navidrome.nix - ./umurmur.nix - ]; +{...}: let + servicesDir = ./services; + serviceFiles = + builtins.filter + (name: builtins.match "^.*\\.nix$" name != null) + (builtins.attrNames (builtins.readDir servicesDir)); + hostModules = map (fn: import "${servicesDir}/${fn}") serviceFiles; +in { + imports = + [ + ../general + ./secrets.nix + ] + ++ hostModules; } diff --git a/modules/servers/bragi/audiobookshelf.nix b/modules/servers/bragi/services/audiobookshelf.nix similarity index 100% rename from modules/servers/bragi/audiobookshelf.nix rename to modules/servers/bragi/services/audiobookshelf.nix diff --git a/modules/servers/bragi/navidrome.nix b/modules/servers/bragi/services/navidrome.nix similarity index 100% rename from modules/servers/bragi/navidrome.nix rename to modules/servers/bragi/services/navidrome.nix diff --git a/modules/servers/bragi/storage-box.nix b/modules/servers/bragi/services/storage-box.nix similarity index 100% rename from modules/servers/bragi/storage-box.nix rename to modules/servers/bragi/services/storage-box.nix diff --git a/modules/servers/bragi/umurmur.nix b/modules/servers/bragi/services/umurmur.nix similarity index 100% rename from modules/servers/bragi/umurmur.nix rename to modules/servers/bragi/services/umurmur.nix diff --git a/modules/servers/freyja/default.nix b/modules/servers/freyja/default.nix index 0410e25..104999f 100644 --- a/modules/servers/freyja/default.nix +++ b/modules/servers/freyja/default.nix @@ -1,5 +1,14 @@ -{...}: { - imports = [ - ./immich.nix - ]; +{...}: let + servicesDir = ./services; + serviceFiles = + builtins.filter + (name: builtins.match "^.*\\.nix$" name != null) + (builtins.attrNames (builtins.readDir servicesDir)); + hostModules = map (fn: import "${servicesDir}/${fn}") serviceFiles; +in { + imports = + [ + ../general + ] + ++ hostModules; } diff --git a/modules/servers/freyja/immich.nix b/modules/servers/freyja/services/immich.nix similarity index 100% rename from modules/servers/freyja/immich.nix rename to modules/servers/freyja/services/immich.nix diff --git a/modules/servers/heimdall/default.nix b/modules/servers/heimdall/default.nix index 498dfca..8a29e03 100644 --- a/modules/servers/heimdall/default.nix +++ b/modules/servers/heimdall/default.nix @@ -1,11 +1,15 @@ -{...}: { - imports = [ - ./uptime-kuma.nix - ./ntfy-sh.nix - ./wireguard.nix - ./secrets.nix - ./redlib.nix - ./beszel-hub.nix - ./atuin.nix - ]; +{...}: let + servicesDir = ./services; + serviceFiles = + builtins.filter + (name: builtins.match "^.*\\.nix$" name != null) + (builtins.attrNames (builtins.readDir servicesDir)); + hostModules = map (fn: import "${servicesDir}/${fn}") serviceFiles; +in { + imports = + [ + ../general + ./secrets.nix + ] + ++ hostModules; } diff --git a/modules/servers/heimdall/atuin.nix b/modules/servers/heimdall/services/atuin.nix similarity index 100% rename from modules/servers/heimdall/atuin.nix rename to modules/servers/heimdall/services/atuin.nix diff --git a/modules/servers/heimdall/beszel-hub.nix b/modules/servers/heimdall/services/beszel-hub.nix similarity index 100% rename from modules/servers/heimdall/beszel-hub.nix rename to modules/servers/heimdall/services/beszel-hub.nix diff --git a/modules/servers/heimdall/ntfy-sh.nix b/modules/servers/heimdall/services/ntfy-sh.nix similarity index 100% rename from modules/servers/heimdall/ntfy-sh.nix rename to modules/servers/heimdall/services/ntfy-sh.nix diff --git a/modules/servers/heimdall/redlib.nix b/modules/servers/heimdall/services/redlib.nix similarity index 100% rename from modules/servers/heimdall/redlib.nix rename to modules/servers/heimdall/services/redlib.nix diff --git a/modules/servers/heimdall/uptime-kuma.nix b/modules/servers/heimdall/services/uptime-kuma.nix similarity index 100% rename from modules/servers/heimdall/uptime-kuma.nix rename to modules/servers/heimdall/services/uptime-kuma.nix diff --git a/modules/servers/heimdall/wireguard.nix b/modules/servers/heimdall/services/wireguard.nix similarity index 100% rename from modules/servers/heimdall/wireguard.nix rename to modules/servers/heimdall/services/wireguard.nix diff --git a/modules/servers/odin/default.nix b/modules/servers/odin/default.nix index 1422479..8a29e03 100644 --- a/modules/servers/odin/default.nix +++ b/modules/servers/odin/default.nix @@ -1,12 +1,15 @@ -{...}: { - imports = [ - ./secrets.nix - ./searx.nix - ./syncyomi.nix - ./wallabag.nix - ./upfast.nix - ./miniflux.nix - ./website.nix - ./filebrowser.nix - ]; +{...}: let + servicesDir = ./services; + serviceFiles = + builtins.filter + (name: builtins.match "^.*\\.nix$" name != null) + (builtins.attrNames (builtins.readDir servicesDir)); + hostModules = map (fn: import "${servicesDir}/${fn}") serviceFiles; +in { + imports = + [ + ../general + ./secrets.nix + ] + ++ hostModules; } diff --git a/modules/servers/odin/filebrowser.nix b/modules/servers/odin/services/filebrowser.nix similarity index 100% rename from modules/servers/odin/filebrowser.nix rename to modules/servers/odin/services/filebrowser.nix diff --git a/modules/servers/odin/miniflux.nix b/modules/servers/odin/services/miniflux.nix similarity index 100% rename from modules/servers/odin/miniflux.nix rename to modules/servers/odin/services/miniflux.nix diff --git a/modules/servers/odin/searx.nix b/modules/servers/odin/services/searx.nix similarity index 100% rename from modules/servers/odin/searx.nix rename to modules/servers/odin/services/searx.nix diff --git a/modules/servers/odin/syncyomi.nix b/modules/servers/odin/services/syncyomi.nix similarity index 100% rename from modules/servers/odin/syncyomi.nix rename to modules/servers/odin/services/syncyomi.nix diff --git a/modules/servers/odin/upfast-cleaner.sh b/modules/servers/odin/services/upfast-cleaner.sh similarity index 100% rename from modules/servers/odin/upfast-cleaner.sh rename to modules/servers/odin/services/upfast-cleaner.sh diff --git a/modules/servers/odin/upfast.nix b/modules/servers/odin/services/upfast.nix similarity index 100% rename from modules/servers/odin/upfast.nix rename to modules/servers/odin/services/upfast.nix diff --git a/modules/servers/odin/wallabag.nix b/modules/servers/odin/services/wallabag.nix similarity index 100% rename from modules/servers/odin/wallabag.nix rename to modules/servers/odin/services/wallabag.nix diff --git a/modules/servers/odin/website.nix b/modules/servers/odin/services/website.nix similarity index 100% rename from modules/servers/odin/website.nix rename to modules/servers/odin/services/website.nix diff --git a/modules/servers/thor/default.nix b/modules/servers/thor/default.nix index b02c131..8a29e03 100644 --- a/modules/servers/thor/default.nix +++ b/modules/servers/thor/default.nix @@ -1,10 +1,15 @@ -{...}: { - imports = [ - ./changedetection-io.nix - ./forgejo.nix - ./secrets.nix - ./plausible.nix - ./conduit.nix - ./lemmy.nix - ]; +{...}: let + servicesDir = ./services; + serviceFiles = + builtins.filter + (name: builtins.match "^.*\\.nix$" name != null) + (builtins.attrNames (builtins.readDir servicesDir)); + hostModules = map (fn: import "${servicesDir}/${fn}") serviceFiles; +in { + imports = + [ + ../general + ./secrets.nix + ] + ++ hostModules; } diff --git a/modules/servers/thor/changedetection-io.nix b/modules/servers/thor/services/changedetection-io.nix similarity index 100% rename from modules/servers/thor/changedetection-io.nix rename to modules/servers/thor/services/changedetection-io.nix diff --git a/modules/servers/thor/conduit.nix b/modules/servers/thor/services/conduit.nix similarity index 100% rename from modules/servers/thor/conduit.nix rename to modules/servers/thor/services/conduit.nix diff --git a/modules/servers/thor/forgejo.nix b/modules/servers/thor/services/forgejo.nix similarity index 100% rename from modules/servers/thor/forgejo.nix rename to modules/servers/thor/services/forgejo.nix diff --git a/modules/servers/thor/lemmy.nix b/modules/servers/thor/services/lemmy.nix similarity index 100% rename from modules/servers/thor/lemmy.nix rename to modules/servers/thor/services/lemmy.nix diff --git a/modules/servers/thor/plausible.nix b/modules/servers/thor/services/plausible.nix similarity index 100% rename from modules/servers/thor/plausible.nix rename to modules/servers/thor/services/plausible.nix diff --git a/modules/servers/tyr/default.nix b/modules/servers/tyr/default.nix index 0c2d257..8a29e03 100644 --- a/modules/servers/tyr/default.nix +++ b/modules/servers/tyr/default.nix @@ -1,17 +1,15 @@ -{ - imports = [ - ./syncthing.nix - ./glance.nix - ./wallos.nix - ./wireguard.nix - ./secrets.nix - ./nfs-server.nix - ./dns.nix - ./traefik.nix - ./home-assistant.nix - ./mosquitto.nix - ./linkwarden.nix - ./paperless-ngx.nix - ./komga.nix - ]; +{...}: let + servicesDir = ./services; + serviceFiles = + builtins.filter + (name: builtins.match "^.*\\.nix$" name != null) + (builtins.attrNames (builtins.readDir servicesDir)); + hostModules = map (fn: import "${servicesDir}/${fn}") serviceFiles; +in { + imports = + [ + ../general + ./secrets.nix + ] + ++ hostModules; } diff --git a/modules/servers/tyr/dns.nix b/modules/servers/tyr/services/dns.nix similarity index 100% rename from modules/servers/tyr/dns.nix rename to modules/servers/tyr/services/dns.nix diff --git a/modules/servers/tyr/glance.nix b/modules/servers/tyr/services/glance.nix similarity index 100% rename from modules/servers/tyr/glance.nix rename to modules/servers/tyr/services/glance.nix diff --git a/modules/servers/tyr/home-assistant.nix b/modules/servers/tyr/services/home-assistant.nix similarity index 100% rename from modules/servers/tyr/home-assistant.nix rename to modules/servers/tyr/services/home-assistant.nix diff --git a/modules/servers/tyr/komga.nix b/modules/servers/tyr/services/komga.nix similarity index 100% rename from modules/servers/tyr/komga.nix rename to modules/servers/tyr/services/komga.nix diff --git a/modules/servers/tyr/linkwarden.nix b/modules/servers/tyr/services/linkwarden.nix similarity index 100% rename from modules/servers/tyr/linkwarden.nix rename to modules/servers/tyr/services/linkwarden.nix diff --git a/modules/servers/tyr/mosquitto.nix b/modules/servers/tyr/services/mosquitto.nix similarity index 100% rename from modules/servers/tyr/mosquitto.nix rename to modules/servers/tyr/services/mosquitto.nix diff --git a/modules/servers/tyr/nfs-server.nix b/modules/servers/tyr/services/nfs-server.nix similarity index 100% rename from modules/servers/tyr/nfs-server.nix rename to modules/servers/tyr/services/nfs-server.nix diff --git a/modules/servers/tyr/paperless-ngx.nix b/modules/servers/tyr/services/paperless-ngx.nix similarity index 100% rename from modules/servers/tyr/paperless-ngx.nix rename to modules/servers/tyr/services/paperless-ngx.nix diff --git a/modules/servers/tyr/syncthing.nix b/modules/servers/tyr/services/syncthing.nix similarity index 100% rename from modules/servers/tyr/syncthing.nix rename to modules/servers/tyr/services/syncthing.nix diff --git a/modules/servers/tyr/traefik.nix b/modules/servers/tyr/services/traefik.nix similarity index 100% rename from modules/servers/tyr/traefik.nix rename to modules/servers/tyr/services/traefik.nix diff --git a/modules/servers/tyr/wallos.nix b/modules/servers/tyr/services/wallos.nix similarity index 100% rename from modules/servers/tyr/wallos.nix rename to modules/servers/tyr/services/wallos.nix diff --git a/modules/servers/tyr/wireguard.nix b/modules/servers/tyr/services/wireguard.nix similarity index 100% rename from modules/servers/tyr/wireguard.nix rename to modules/servers/tyr/services/wireguard.nix