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