From c5f8bb4d1db765d46d3249b9939aa8cf22ec52d6 Mon Sep 17 00:00:00 2001 From: beatzaplenty Date: Mon, 20 Jul 2026 02:58:09 +1000 Subject: [PATCH] Reorganize loose modules into themed directories MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Several single-purpose modules sat at modules/ root or in the services/ catch-all despite the repo's established pattern of one directory per concern (tailscale/, beszel/, docker/, nix-cache/): - remote-builder-client.nix -> nix-cache/ (always co-included with nix-cache/client.nix in flake.nix's mkTarget, same buildType guard) - set-locale.nix -> common/ (unconditionally imported by common/configuration.nix already) - enable-ip-forwarding.nix -> networking/ - rotate-traefik-logs.nix -> traefik/rotate-logs.nix - services/docker-health-to-gotify.nix and services/nextcloud-cron-job.nix -> docker/ (both only ever imported by the docker build type, same as the rest of modules/docker/*) Pure path moves plus import-path updates in flake.nix, common/configuration.nix, and build-types/docker.nix — verified eval-equivalent (drvPath-identical) across representative hosts. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01La55Nsss8jZ7ZuzUV9mfot --- flake.nix | 2 +- modules/build-types/docker.nix | 10 +++++----- modules/common/configuration.nix | 2 +- modules/{ => common}/set-locale.nix | 0 .../{services => docker}/docker-health-to-gotify.nix | 0 modules/{services => docker}/nextcloud-cron-job.nix | 0 modules/{ => networking}/enable-ip-forwarding.nix | 0 modules/{ => nix-cache}/remote-builder-client.nix | 0 .../rotate-logs.nix} | 0 9 files changed, 7 insertions(+), 7 deletions(-) rename modules/{ => common}/set-locale.nix (100%) rename modules/{services => docker}/docker-health-to-gotify.nix (100%) rename modules/{services => docker}/nextcloud-cron-job.nix (100%) rename modules/{ => networking}/enable-ip-forwarding.nix (100%) rename modules/{ => nix-cache}/remote-builder-client.nix (100%) rename modules/{rotate-traefik-logs.nix => traefik/rotate-logs.nix} (100%) diff --git a/flake.nix b/flake.nix index 54faa02..da33afc 100644 --- a/flake.nix +++ b/flake.nix @@ -53,7 +53,7 @@ } ] ++ lib.optionals (buildType != "nix-cache") [ ./modules/nix-cache/client.nix - ./modules/remote-builder-client.nix + ./modules/nix-cache/remote-builder-client.nix ]; specialArgs = { inherit inputs vars; }; }; diff --git a/modules/build-types/docker.nix b/modules/build-types/docker.nix index 2572051..2c4c755 100644 --- a/modules/build-types/docker.nix +++ b/modules/build-types/docker.nix @@ -1,4 +1,4 @@ -{ pkgs, ... }: +{ pkgs, vars, ... }: { # Pins the Docker Engine version, carried forward from the pre-refactor @@ -13,11 +13,11 @@ imports = [ ../docker/mount-data.nix ../docker/enable-service.nix + ../docker/nextcloud-cron-job.nix + ../docker/docker-health-to-gotify.nix ../tailscale/enable-service.nix - ../rotate-traefik-logs.nix + ../traefik/rotate-logs.nix ../raspi/mount-data.nix - ../services/nextcloud-cron-job.nix - ../services/docker-health-to-gotify.nix ../services/enable-rpcbind.nix ]; @@ -36,5 +36,5 @@ users.users.nixos.extraGroups = [ "docker" ]; services.openssh.settings.PermitRootLogin = "yes"; - networking.firewall.allowedTCPPorts = [ 80 8080 443 8090 ]; + networking.firewall.allowedTCPPorts = [ 80 8080 443 vars.beszelHubPort ]; } diff --git a/modules/common/configuration.nix b/modules/common/configuration.nix index 6920607..fe1e4e9 100644 --- a/modules/common/configuration.nix +++ b/modules/common/configuration.nix @@ -5,7 +5,7 @@ [ # Include the results of the hardware scan. # ./hardware-configuration.nix - ../set-locale.nix + ./set-locale.nix ]; # Use the GRUB 2 boot loader. # boot.loader.grub.enable = true; diff --git a/modules/set-locale.nix b/modules/common/set-locale.nix similarity index 100% rename from modules/set-locale.nix rename to modules/common/set-locale.nix diff --git a/modules/services/docker-health-to-gotify.nix b/modules/docker/docker-health-to-gotify.nix similarity index 100% rename from modules/services/docker-health-to-gotify.nix rename to modules/docker/docker-health-to-gotify.nix diff --git a/modules/services/nextcloud-cron-job.nix b/modules/docker/nextcloud-cron-job.nix similarity index 100% rename from modules/services/nextcloud-cron-job.nix rename to modules/docker/nextcloud-cron-job.nix diff --git a/modules/enable-ip-forwarding.nix b/modules/networking/enable-ip-forwarding.nix similarity index 100% rename from modules/enable-ip-forwarding.nix rename to modules/networking/enable-ip-forwarding.nix diff --git a/modules/remote-builder-client.nix b/modules/nix-cache/remote-builder-client.nix similarity index 100% rename from modules/remote-builder-client.nix rename to modules/nix-cache/remote-builder-client.nix diff --git a/modules/rotate-traefik-logs.nix b/modules/traefik/rotate-logs.nix similarity index 100% rename from modules/rotate-traefik-logs.nix rename to modules/traefik/rotate-logs.nix