diff --git a/helpers.nix b/helpers.nix index b0e1331..e456bc0 100644 --- a/helpers.nix +++ b/helpers.nix @@ -19,8 +19,7 @@ serverExtras = if host.type == "server" then [ - # ./modules/servers/general - ./modules/servers/${name} + ./modules/servers/per-server/${name} ./modules/servers/home-manager ] else []; diff --git a/modules/servers/general/additional-pkgs.nix b/modules/servers/common/additional-pkgs.nix similarity index 100% rename from modules/servers/general/additional-pkgs.nix rename to modules/servers/common/additional-pkgs.nix diff --git a/modules/servers/general/beszel-agent.nix b/modules/servers/common/beszel-agent.nix similarity index 100% rename from modules/servers/general/beszel-agent.nix rename to modules/servers/common/beszel-agent.nix diff --git a/modules/servers/general/default.nix b/modules/servers/common/default.nix similarity index 100% rename from modules/servers/general/default.nix rename to modules/servers/common/default.nix diff --git a/modules/servers/general/fail2ban.nix b/modules/servers/common/fail2ban.nix similarity index 100% rename from modules/servers/general/fail2ban.nix rename to modules/servers/common/fail2ban.nix diff --git a/modules/servers/general/nix-features.nix b/modules/servers/common/nix-features.nix similarity index 100% rename from modules/servers/general/nix-features.nix rename to modules/servers/common/nix-features.nix diff --git a/modules/servers/general/openssh.nix b/modules/servers/common/openssh.nix similarity index 100% rename from modules/servers/general/openssh.nix rename to modules/servers/common/openssh.nix diff --git a/modules/servers/general/optimise-storage.nix b/modules/servers/common/optimise-storage.nix similarity index 100% rename from modules/servers/general/optimise-storage.nix rename to modules/servers/common/optimise-storage.nix diff --git a/modules/servers/general/podman.nix b/modules/servers/common/podman.nix similarity index 100% rename from modules/servers/general/podman.nix rename to modules/servers/common/podman.nix diff --git a/modules/servers/general/restic.nix b/modules/servers/common/restic.nix similarity index 100% rename from modules/servers/general/restic.nix rename to modules/servers/common/restic.nix diff --git a/modules/servers/general/root.nix b/modules/servers/common/root.nix similarity index 100% rename from modules/servers/general/root.nix rename to modules/servers/common/root.nix diff --git a/modules/servers/general/secrets.nix b/modules/servers/common/secrets.nix similarity index 100% rename from modules/servers/general/secrets.nix rename to modules/servers/common/secrets.nix diff --git a/modules/servers/general/shell.nix b/modules/servers/common/shell.nix similarity index 100% rename from modules/servers/general/shell.nix rename to modules/servers/common/shell.nix diff --git a/modules/servers/general/traefik.nix b/modules/servers/common/traefik.nix similarity index 100% rename from modules/servers/general/traefik.nix rename to modules/servers/common/traefik.nix diff --git a/modules/servers/general/user.nix b/modules/servers/common/user.nix similarity index 100% rename from modules/servers/general/user.nix rename to modules/servers/common/user.nix diff --git a/modules/servers/home-manager/default.nix b/modules/servers/home-manager/default.nix index d21e5ab..589e79e 100644 --- a/modules/servers/home-manager/default.nix +++ b/modules/servers/home-manager/default.nix @@ -4,12 +4,12 @@ home-manager.backupFileExtension = "backup"; home-manager.users.root = { imports = [ - ./root.nix + ./users/root.nix ]; }; home-manager.users.crony = { imports = [ - ./crony.nix + ./users/crony.nix ]; }; } diff --git a/modules/servers/home-manager/crony.nix b/modules/servers/home-manager/users/crony.nix similarity index 71% rename from modules/servers/home-manager/crony.nix rename to modules/servers/home-manager/users/crony.nix index 5d32681..dfdc6db 100644 --- a/modules/servers/home-manager/crony.nix +++ b/modules/servers/home-manager/users/crony.nix @@ -1,5 +1,5 @@ { - imports = [./home.nix]; + imports = [../home.nix]; home.username = "crony"; home.homeDirectory = "/home/crony"; } diff --git a/modules/servers/home-manager/root.nix b/modules/servers/home-manager/users/root.nix similarity index 69% rename from modules/servers/home-manager/root.nix rename to modules/servers/home-manager/users/root.nix index 07972b8..c9a25ee 100644 --- a/modules/servers/home-manager/root.nix +++ b/modules/servers/home-manager/users/root.nix @@ -1,5 +1,5 @@ { - imports = [./home.nix]; + imports = [../home.nix]; home.username = "root"; home.homeDirectory = "/root"; } diff --git a/modules/servers/baldur/default.nix b/modules/servers/per-server/baldur/default.nix similarity index 94% rename from modules/servers/baldur/default.nix rename to modules/servers/per-server/baldur/default.nix index 104999f..2d49c50 100644 --- a/modules/servers/baldur/default.nix +++ b/modules/servers/per-server/baldur/default.nix @@ -8,7 +8,7 @@ in { imports = [ - ../general + ../../common ] ++ hostModules; } diff --git a/modules/servers/baldur/services/crafty-controller.nix b/modules/servers/per-server/baldur/services/crafty-controller.nix similarity index 100% rename from modules/servers/baldur/services/crafty-controller.nix rename to modules/servers/per-server/baldur/services/crafty-controller.nix diff --git a/modules/servers/odin/default.nix b/modules/servers/per-server/bragi/default.nix similarity index 94% rename from modules/servers/odin/default.nix rename to modules/servers/per-server/bragi/default.nix index 8a29e03..ba6f547 100644 --- a/modules/servers/odin/default.nix +++ b/modules/servers/per-server/bragi/default.nix @@ -8,7 +8,7 @@ in { imports = [ - ../general + ../../common ./secrets.nix ] ++ hostModules; diff --git a/modules/servers/bragi/secrets.nix b/modules/servers/per-server/bragi/secrets.nix similarity index 50% rename from modules/servers/bragi/secrets.nix rename to modules/servers/per-server/bragi/secrets.nix index d0bea7e..06b7035 100644 --- a/modules/servers/bragi/secrets.nix +++ b/modules/servers/per-server/bragi/secrets.nix @@ -2,10 +2,10 @@ age = { secrets = { rclone = { - file = ../../../secrets/rclone.age; + file = ../../../../secrets/rclone.age; }; navidrome = { - file = ../../../secrets/navidrome.age; + file = ../../../../secrets/navidrome.age; }; }; }; diff --git a/modules/servers/bragi/services/audiobookshelf.nix b/modules/servers/per-server/bragi/services/audiobookshelf.nix similarity index 100% rename from modules/servers/bragi/services/audiobookshelf.nix rename to modules/servers/per-server/bragi/services/audiobookshelf.nix diff --git a/modules/servers/bragi/services/navidrome.nix b/modules/servers/per-server/bragi/services/navidrome.nix similarity index 100% rename from modules/servers/bragi/services/navidrome.nix rename to modules/servers/per-server/bragi/services/navidrome.nix diff --git a/modules/servers/bragi/services/storage-box.nix b/modules/servers/per-server/bragi/services/storage-box.nix similarity index 100% rename from modules/servers/bragi/services/storage-box.nix rename to modules/servers/per-server/bragi/services/storage-box.nix diff --git a/modules/servers/bragi/services/umurmur.nix b/modules/servers/per-server/bragi/services/umurmur.nix similarity index 100% rename from modules/servers/bragi/services/umurmur.nix rename to modules/servers/per-server/bragi/services/umurmur.nix diff --git a/modules/servers/freyja/default.nix b/modules/servers/per-server/freyja/default.nix similarity index 94% rename from modules/servers/freyja/default.nix rename to modules/servers/per-server/freyja/default.nix index 104999f..2d49c50 100644 --- a/modules/servers/freyja/default.nix +++ b/modules/servers/per-server/freyja/default.nix @@ -8,7 +8,7 @@ in { imports = [ - ../general + ../../common ] ++ hostModules; } diff --git a/modules/servers/freyja/services/immich.nix b/modules/servers/per-server/freyja/services/immich.nix similarity index 100% rename from modules/servers/freyja/services/immich.nix rename to modules/servers/per-server/freyja/services/immich.nix diff --git a/modules/servers/bragi/default.nix b/modules/servers/per-server/heimdall/default.nix similarity index 94% rename from modules/servers/bragi/default.nix rename to modules/servers/per-server/heimdall/default.nix index 8a29e03..ba6f547 100644 --- a/modules/servers/bragi/default.nix +++ b/modules/servers/per-server/heimdall/default.nix @@ -8,7 +8,7 @@ in { imports = [ - ../general + ../../common ./secrets.nix ] ++ hostModules; diff --git a/modules/servers/heimdall/secrets.nix b/modules/servers/per-server/heimdall/secrets.nix similarity index 58% rename from modules/servers/heimdall/secrets.nix rename to modules/servers/per-server/heimdall/secrets.nix index 3a24741..939922a 100644 --- a/modules/servers/heimdall/secrets.nix +++ b/modules/servers/per-server/heimdall/secrets.nix @@ -2,7 +2,7 @@ age = { secrets = { wg-heimdall = { - file = ../../../secrets/wg-heimdall.age; + file = ../../../../secrets/wg-heimdall.age; }; }; }; diff --git a/modules/servers/heimdall/services/atuin.nix b/modules/servers/per-server/heimdall/services/atuin.nix similarity index 100% rename from modules/servers/heimdall/services/atuin.nix rename to modules/servers/per-server/heimdall/services/atuin.nix diff --git a/modules/servers/heimdall/services/beszel-hub.nix b/modules/servers/per-server/heimdall/services/beszel-hub.nix similarity index 100% rename from modules/servers/heimdall/services/beszel-hub.nix rename to modules/servers/per-server/heimdall/services/beszel-hub.nix diff --git a/modules/servers/heimdall/services/ntfy-sh.nix b/modules/servers/per-server/heimdall/services/ntfy-sh.nix similarity index 100% rename from modules/servers/heimdall/services/ntfy-sh.nix rename to modules/servers/per-server/heimdall/services/ntfy-sh.nix diff --git a/modules/servers/heimdall/services/redlib.nix b/modules/servers/per-server/heimdall/services/redlib.nix similarity index 100% rename from modules/servers/heimdall/services/redlib.nix rename to modules/servers/per-server/heimdall/services/redlib.nix diff --git a/modules/servers/heimdall/services/uptime-kuma.nix b/modules/servers/per-server/heimdall/services/uptime-kuma.nix similarity index 100% rename from modules/servers/heimdall/services/uptime-kuma.nix rename to modules/servers/per-server/heimdall/services/uptime-kuma.nix diff --git a/modules/servers/heimdall/services/wireguard.nix b/modules/servers/per-server/heimdall/services/wireguard.nix similarity index 100% rename from modules/servers/heimdall/services/wireguard.nix rename to modules/servers/per-server/heimdall/services/wireguard.nix diff --git a/modules/servers/heimdall/default.nix b/modules/servers/per-server/odin/default.nix similarity index 94% rename from modules/servers/heimdall/default.nix rename to modules/servers/per-server/odin/default.nix index 8a29e03..ba6f547 100644 --- a/modules/servers/heimdall/default.nix +++ b/modules/servers/per-server/odin/default.nix @@ -8,7 +8,7 @@ in { imports = [ - ../general + ../../common ./secrets.nix ] ++ hostModules; diff --git a/modules/servers/odin/secrets.nix b/modules/servers/per-server/odin/secrets.nix similarity index 50% rename from modules/servers/odin/secrets.nix rename to modules/servers/per-server/odin/secrets.nix index e777338..1a011cb 100644 --- a/modules/servers/odin/secrets.nix +++ b/modules/servers/per-server/odin/secrets.nix @@ -2,10 +2,10 @@ age = { secrets = { searx = { - file = ../../../secrets/searx.age; + file = ../../../../secrets/searx.age; }; miniflux = { - file = ../../../secrets/miniflux.age; + file = ../../../../secrets/miniflux.age; }; }; }; diff --git a/modules/servers/odin/services/filebrowser.nix b/modules/servers/per-server/odin/services/filebrowser.nix similarity index 100% rename from modules/servers/odin/services/filebrowser.nix rename to modules/servers/per-server/odin/services/filebrowser.nix diff --git a/modules/servers/odin/services/miniflux.nix b/modules/servers/per-server/odin/services/miniflux.nix similarity index 100% rename from modules/servers/odin/services/miniflux.nix rename to modules/servers/per-server/odin/services/miniflux.nix diff --git a/modules/servers/odin/services/searx.nix b/modules/servers/per-server/odin/services/searx.nix similarity index 100% rename from modules/servers/odin/services/searx.nix rename to modules/servers/per-server/odin/services/searx.nix diff --git a/modules/servers/odin/services/syncyomi.nix b/modules/servers/per-server/odin/services/syncyomi.nix similarity index 100% rename from modules/servers/odin/services/syncyomi.nix rename to modules/servers/per-server/odin/services/syncyomi.nix diff --git a/modules/servers/odin/services/upfast-cleaner.sh b/modules/servers/per-server/odin/services/upfast-cleaner.sh similarity index 100% rename from modules/servers/odin/services/upfast-cleaner.sh rename to modules/servers/per-server/odin/services/upfast-cleaner.sh diff --git a/modules/servers/odin/services/upfast.nix b/modules/servers/per-server/odin/services/upfast.nix similarity index 100% rename from modules/servers/odin/services/upfast.nix rename to modules/servers/per-server/odin/services/upfast.nix diff --git a/modules/servers/odin/services/wallabag.nix b/modules/servers/per-server/odin/services/wallabag.nix similarity index 100% rename from modules/servers/odin/services/wallabag.nix rename to modules/servers/per-server/odin/services/wallabag.nix diff --git a/modules/servers/odin/services/website.nix b/modules/servers/per-server/odin/services/website.nix similarity index 100% rename from modules/servers/odin/services/website.nix rename to modules/servers/per-server/odin/services/website.nix diff --git a/modules/servers/thor/default.nix b/modules/servers/per-server/thor/default.nix similarity index 94% rename from modules/servers/thor/default.nix rename to modules/servers/per-server/thor/default.nix index 8a29e03..ba6f547 100644 --- a/modules/servers/thor/default.nix +++ b/modules/servers/per-server/thor/default.nix @@ -8,7 +8,7 @@ in { imports = [ - ../general + ../../common ./secrets.nix ] ++ hostModules; diff --git a/modules/servers/per-server/thor/secrets.nix b/modules/servers/per-server/thor/secrets.nix new file mode 100644 index 0000000..a3e3aa6 --- /dev/null +++ b/modules/servers/per-server/thor/secrets.nix @@ -0,0 +1,18 @@ +{ + age = { + secrets = { + forgejo-db = { + file = ../../../../secrets/forgejo-db.age; + }; + plausible = { + file = ../../../../secrets/plausible.age; + }; + conduit = { + file = ../../../../secrets/conduit.age; + }; + lemmy-env = { + file = ../../../../secrets/lemmy.env.age; + }; + }; + }; +} diff --git a/modules/servers/thor/services/changedetection-io.nix b/modules/servers/per-server/thor/services/changedetection-io.nix similarity index 100% rename from modules/servers/thor/services/changedetection-io.nix rename to modules/servers/per-server/thor/services/changedetection-io.nix diff --git a/modules/servers/thor/services/conduit.nix b/modules/servers/per-server/thor/services/conduit.nix similarity index 100% rename from modules/servers/thor/services/conduit.nix rename to modules/servers/per-server/thor/services/conduit.nix diff --git a/modules/servers/thor/services/forgejo.nix b/modules/servers/per-server/thor/services/forgejo.nix similarity index 100% rename from modules/servers/thor/services/forgejo.nix rename to modules/servers/per-server/thor/services/forgejo.nix diff --git a/modules/servers/thor/services/lemmy.nix b/modules/servers/per-server/thor/services/lemmy.nix similarity index 100% rename from modules/servers/thor/services/lemmy.nix rename to modules/servers/per-server/thor/services/lemmy.nix diff --git a/modules/servers/thor/services/plausible.nix b/modules/servers/per-server/thor/services/plausible.nix similarity index 100% rename from modules/servers/thor/services/plausible.nix rename to modules/servers/per-server/thor/services/plausible.nix diff --git a/modules/servers/per-server/tyr/default.nix b/modules/servers/per-server/tyr/default.nix new file mode 100644 index 0000000..ba6f547 --- /dev/null +++ b/modules/servers/per-server/tyr/default.nix @@ -0,0 +1,15 @@ +{...}: 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 = + [ + ../../common + ./secrets.nix + ] + ++ hostModules; +} diff --git a/modules/servers/tyr/secrets.nix b/modules/servers/per-server/tyr/secrets.nix similarity index 50% rename from modules/servers/tyr/secrets.nix rename to modules/servers/per-server/tyr/secrets.nix index 9f03e21..d8230f9 100644 --- a/modules/servers/tyr/secrets.nix +++ b/modules/servers/per-server/tyr/secrets.nix @@ -2,46 +2,46 @@ age = { secrets = { wg-tyr = { - file = ../../../secrets/wg-tyr.age; + file = ../../../../secrets/wg-tyr.age; }; duckdns = { - file = ../../../secrets/duckdns.age; + file = ../../../../secrets/duckdns.age; }; restic-server-local-pass = { - file = ../../../secrets/restic-server-local-pass.age; + file = ../../../../secrets/restic-server-local-pass.age; }; restic-server-pass = { - file = ../../../secrets/restic-server-pass.age; + file = ../../../../secrets/restic-server-pass.age; }; restic-server-repo = { - file = ../../../secrets/restic-server-repo.age; + file = ../../../../secrets/restic-server-repo.age; }; restic-server-env = { - file = ../../../secrets/restic-server-env.age; + file = ../../../../secrets/restic-server-env.age; }; glance = { - file = ../../../secrets/glance.age; + file = ../../../../secrets/glance.age; }; traefik = { - file = ../../../secrets/traefik.age; + file = ../../../../secrets/traefik.age; owner = "traefik"; }; ddns = { - file = ../../../secrets/ddns.age; + file = ../../../../secrets/ddns.age; path = "/var/lib/ddns-updater/config.json"; owner = "nobody"; group = "nogroup"; symlink = false; }; linkwarden = { - file = ../../../secrets/linkwarden.age; + file = ../../../../secrets/linkwarden.age; owner = config.services.linkwarden.user; }; linkwarden-db = { - file = ../../../secrets/linkwarden.age; + file = ../../../../secrets/linkwarden.age; }; paperless-ngx = { - file = ../../../secrets/paperless-ngx.age; + file = ../../../../secrets/paperless-ngx.age; }; }; }; diff --git a/modules/servers/tyr/services/dns.nix b/modules/servers/per-server/tyr/services/dns.nix similarity index 100% rename from modules/servers/tyr/services/dns.nix rename to modules/servers/per-server/tyr/services/dns.nix diff --git a/modules/servers/tyr/services/glance.nix b/modules/servers/per-server/tyr/services/glance.nix similarity index 100% rename from modules/servers/tyr/services/glance.nix rename to modules/servers/per-server/tyr/services/glance.nix diff --git a/modules/servers/tyr/services/home-assistant.nix b/modules/servers/per-server/tyr/services/home-assistant.nix similarity index 100% rename from modules/servers/tyr/services/home-assistant.nix rename to modules/servers/per-server/tyr/services/home-assistant.nix diff --git a/modules/servers/tyr/services/komga.nix b/modules/servers/per-server/tyr/services/komga.nix similarity index 100% rename from modules/servers/tyr/services/komga.nix rename to modules/servers/per-server/tyr/services/komga.nix diff --git a/modules/servers/tyr/services/linkwarden.nix b/modules/servers/per-server/tyr/services/linkwarden.nix similarity index 100% rename from modules/servers/tyr/services/linkwarden.nix rename to modules/servers/per-server/tyr/services/linkwarden.nix diff --git a/modules/servers/tyr/services/mosquitto.nix b/modules/servers/per-server/tyr/services/mosquitto.nix similarity index 100% rename from modules/servers/tyr/services/mosquitto.nix rename to modules/servers/per-server/tyr/services/mosquitto.nix diff --git a/modules/servers/tyr/services/nfs-server.nix b/modules/servers/per-server/tyr/services/nfs-server.nix similarity index 100% rename from modules/servers/tyr/services/nfs-server.nix rename to modules/servers/per-server/tyr/services/nfs-server.nix diff --git a/modules/servers/tyr/services/paperless-ngx.nix b/modules/servers/per-server/tyr/services/paperless-ngx.nix similarity index 100% rename from modules/servers/tyr/services/paperless-ngx.nix rename to modules/servers/per-server/tyr/services/paperless-ngx.nix diff --git a/modules/servers/tyr/services/syncthing.nix b/modules/servers/per-server/tyr/services/syncthing.nix similarity index 100% rename from modules/servers/tyr/services/syncthing.nix rename to modules/servers/per-server/tyr/services/syncthing.nix diff --git a/modules/servers/tyr/services/traefik.nix b/modules/servers/per-server/tyr/services/traefik.nix similarity index 100% rename from modules/servers/tyr/services/traefik.nix rename to modules/servers/per-server/tyr/services/traefik.nix diff --git a/modules/servers/tyr/services/wallos.nix b/modules/servers/per-server/tyr/services/wallos.nix similarity index 100% rename from modules/servers/tyr/services/wallos.nix rename to modules/servers/per-server/tyr/services/wallos.nix diff --git a/modules/servers/tyr/services/wireguard.nix b/modules/servers/per-server/tyr/services/wireguard.nix similarity index 100% rename from modules/servers/tyr/services/wireguard.nix rename to modules/servers/per-server/tyr/services/wireguard.nix diff --git a/modules/servers/thor/secrets.nix b/modules/servers/thor/secrets.nix deleted file mode 100644 index a26447b..0000000 --- a/modules/servers/thor/secrets.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ - age = { - secrets = { - forgejo-db = { - file = ../../../secrets/forgejo-db.age; - }; - plausible = { - file = ../../../secrets/plausible.age; - }; - conduit = { - file = ../../../secrets/conduit.age; - }; - lemmy-env = { - file = ../../../secrets/lemmy.env.age; - }; - }; - }; -} diff --git a/modules/servers/tyr/default.nix b/modules/servers/tyr/default.nix deleted file mode 100644 index 8a29e03..0000000 --- a/modules/servers/tyr/default.nix +++ /dev/null @@ -1,15 +0,0 @@ -{...}: 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; -}