From 2cd05e31fc7a0780d9e6057de8c111672e66d51d Mon Sep 17 00:00:00 2001 From: Nick Date: Tue, 9 Dec 2025 17:58:22 -0600 Subject: [PATCH] fix: syncthing cucked --- modules/nixos/default.nix | 1 + .../firefly-iii/fireflyEris/default.nix | 2 +- .../guests/forgejo/forgejoCeres/default.nix | 2 +- .../guests/jellyfin/jellyfinCeres/default.nix | 2 +- .../guests/mastodon/mastodonCeres/default.nix | 2 +- .../minecraft/minecraftCeres/default.nix | 2 +- .../opencloud/opencloudCeres/default.nix | 2 +- .../opencloud/opencloudEris/default.nix | 2 +- .../photoprism/photoprismEris/default.nix | 2 +- .../qbittorrent/qbittorrentCeres/default.nix | 2 +- .../guests/syncthing/config/default.nix | 4 +- .../syncthing/syncthingEris/default.nix | 12 +----- .../vaultwarden/vaultwardenEris/default.nix | 2 +- .../nixos/homelab/{guests => }/helpers.nix | 12 ++++++ modules/nixos/homelab/nasDirs/default.nix | 38 +++++++++++++++++++ 15 files changed, 64 insertions(+), 23 deletions(-) rename modules/nixos/homelab/{guests => }/helpers.nix (50%) create mode 100644 modules/nixos/homelab/nasDirs/default.nix diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index 719ff77..e5b3166 100755 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -85,6 +85,7 @@ in vaultwardenEris syncthingEris photoprismEris + nasDirs ; }; }; diff --git a/modules/nixos/homelab/guests/firefly-iii/fireflyEris/default.nix b/modules/nixos/homelab/guests/firefly-iii/fireflyEris/default.nix index c733819..d2d9ff2 100644 --- a/modules/nixos/homelab/guests/firefly-iii/fireflyEris/default.nix +++ b/modules/nixos/homelab/guests/firefly-iii/fireflyEris/default.nix @@ -5,7 +5,7 @@ ... }: let - inherit (import ../../helpers.nix) labHelpers; + inherit (import ../../../helpers.nix) labHelpers; inherit (labHelpers) guestPath; inherit (import ../config { inherit config flake pkgs; }) fireflyVM; inherit (flake.config.people) user0; diff --git a/modules/nixos/homelab/guests/forgejo/forgejoCeres/default.nix b/modules/nixos/homelab/guests/forgejo/forgejoCeres/default.nix index e35fe24..f0eb162 100644 --- a/modules/nixos/homelab/guests/forgejo/forgejoCeres/default.nix +++ b/modules/nixos/homelab/guests/forgejo/forgejoCeres/default.nix @@ -4,7 +4,7 @@ ... }: let - inherit (import ../../helpers.nix) labHelpers; + inherit (import ../../../helpers.nix) labHelpers; inherit (labHelpers) mntPath; inherit (import ../config { inherit flake pkgs; }) forgejoVM; inherit (flake.config.people) user0; diff --git a/modules/nixos/homelab/guests/jellyfin/jellyfinCeres/default.nix b/modules/nixos/homelab/guests/jellyfin/jellyfinCeres/default.nix index add07d4..99503a1 100644 --- a/modules/nixos/homelab/guests/jellyfin/jellyfinCeres/default.nix +++ b/modules/nixos/homelab/guests/jellyfin/jellyfinCeres/default.nix @@ -4,7 +4,7 @@ ... }: let - inherit (import ../../helpers.nix) labHelpers; + inherit (import ../../../helpers.nix) labHelpers; inherit (labHelpers) mntPath; inherit (import ../config { inherit flake config; }) jellyfinVM; inherit (flake.config.people) user0; diff --git a/modules/nixos/homelab/guests/mastodon/mastodonCeres/default.nix b/modules/nixos/homelab/guests/mastodon/mastodonCeres/default.nix index d193c6c..acb6a58 100644 --- a/modules/nixos/homelab/guests/mastodon/mastodonCeres/default.nix +++ b/modules/nixos/homelab/guests/mastodon/mastodonCeres/default.nix @@ -6,7 +6,7 @@ ... }: let - inherit (import ../../helpers.nix) labHelpers; + inherit (import ../../../helpers.nix) labHelpers; inherit (labHelpers) mntPath; inherit (import ../config { diff --git a/modules/nixos/homelab/guests/minecraft/minecraftCeres/default.nix b/modules/nixos/homelab/guests/minecraft/minecraftCeres/default.nix index 1f81414..beba714 100755 --- a/modules/nixos/homelab/guests/minecraft/minecraftCeres/default.nix +++ b/modules/nixos/homelab/guests/minecraft/minecraftCeres/default.nix @@ -4,7 +4,7 @@ ... }: let - inherit (import ../../helpers.nix) labHelpers; + inherit (import ../../../helpers.nix) labHelpers; inherit (labHelpers) mntPath; inherit (import ../config { inherit flake pkgs; }) minecraftVM; inherit (flake.config.services) instances; diff --git a/modules/nixos/homelab/guests/opencloud/opencloudCeres/default.nix b/modules/nixos/homelab/guests/opencloud/opencloudCeres/default.nix index 93d9f9d..afcec26 100644 --- a/modules/nixos/homelab/guests/opencloud/opencloudCeres/default.nix +++ b/modules/nixos/homelab/guests/opencloud/opencloudCeres/default.nix @@ -4,7 +4,7 @@ ... }: let - inherit (import ../../helpers.nix) labHelpers; + inherit (import ../../../helpers.nix) labHelpers; inherit (labHelpers) mntPath; inherit (import ../config { inherit flake pkgs; }) opencloudVM; inherit (flake.config.people) user0; diff --git a/modules/nixos/homelab/guests/opencloud/opencloudEris/default.nix b/modules/nixos/homelab/guests/opencloud/opencloudEris/default.nix index b64af30..20bad2a 100644 --- a/modules/nixos/homelab/guests/opencloud/opencloudEris/default.nix +++ b/modules/nixos/homelab/guests/opencloud/opencloudEris/default.nix @@ -4,7 +4,7 @@ ... }: let - inherit (import ../../helpers.nix) labHelpers; + inherit (import ../../../helpers.nix) labHelpers; inherit (labHelpers) guestPath; inherit (import ../config { inherit flake pkgs; }) opencloudVM; inherit (flake.config.people) user0; diff --git a/modules/nixos/homelab/guests/photoprism/photoprismEris/default.nix b/modules/nixos/homelab/guests/photoprism/photoprismEris/default.nix index 4227ff2..3f5a717 100755 --- a/modules/nixos/homelab/guests/photoprism/photoprismEris/default.nix +++ b/modules/nixos/homelab/guests/photoprism/photoprismEris/default.nix @@ -5,7 +5,7 @@ ... }: let - inherit (import ../../helpers.nix) labHelpers; + inherit (import ../../../helpers.nix) labHelpers; inherit (labHelpers) guestPath mediaPath; inherit (import ../config { inherit flake lib; }) photoprismVM; inherit (flake.config.services.instances) photoprism; diff --git a/modules/nixos/homelab/guests/qbittorrent/qbittorrentCeres/default.nix b/modules/nixos/homelab/guests/qbittorrent/qbittorrentCeres/default.nix index 1ddfce6..18eb61d 100644 --- a/modules/nixos/homelab/guests/qbittorrent/qbittorrentCeres/default.nix +++ b/modules/nixos/homelab/guests/qbittorrent/qbittorrentCeres/default.nix @@ -5,7 +5,7 @@ ... }: let - inherit (import ../../helpers.nix) labHelpers; + inherit (import ../../../helpers.nix) labHelpers; inherit (labHelpers) mntPath; inherit (import ../config { inherit config flake pkgs; }) qbittorrentVM; inherit (flake.config.people) user0; diff --git a/modules/nixos/homelab/guests/syncthing/config/default.nix b/modules/nixos/homelab/guests/syncthing/config/default.nix index 8554793..d331412 100755 --- a/modules/nixos/homelab/guests/syncthing/config/default.nix +++ b/modules/nixos/homelab/guests/syncthing/config/default.nix @@ -20,7 +20,6 @@ in devices, tmpIn, mounts, - tmpOut, }: { microvm.vms = { @@ -149,8 +148,7 @@ in systemd.tmpfiles.rules = [ "d ${mnt} 0751 microvm wheel - -" "d ${mnt}/${serviceCfg.name} 0751 microvm wheel - -" - ] - ++ tmpOut; + ]; sops.secrets = { "${serviceCfg.name}/${user}-pass" = { owner = "root"; diff --git a/modules/nixos/homelab/guests/syncthing/syncthingEris/default.nix b/modules/nixos/homelab/guests/syncthing/syncthingEris/default.nix index 50e0521..9ea4b6e 100755 --- a/modules/nixos/homelab/guests/syncthing/syncthingEris/default.nix +++ b/modules/nixos/homelab/guests/syncthing/syncthingEris/default.nix @@ -3,7 +3,7 @@ ... }: let - inherit (import ../../helpers.nix) labHelpers; + inherit (import ../../../helpers.nix) labHelpers; inherit (labHelpers) guestPath mediaPath @@ -81,13 +81,6 @@ let "d /var/lib/${serviceCfg.name}/misc 0755 ${serviceCfg.name} ${serviceCfg.name} -" ]; - tmpRulesOut = user: [ - "d ${guestPath user} 0751 microvm wheel - -" - "d ${docsPath user} 0751 microvm wheel - -" - "d ${mediaPath user} 0751 microvm wheel - -" - "d ${miscPath user} 0751 microvm wheel - -" - ]; - syncthingNick = let phoneID = "OALKHLZ-OODUWVX-PAC2LI7-UMZMSZO-FELLRCD-RS4DHJS-PVA5YQK-WTFXXQI"; @@ -102,8 +95,7 @@ let folders = foldersHelper user0; devices = devicesHelper user0 phoneID "Phone" "192.168.50.8"; mounts = mountsHelper user0; - tmpIn = tmpRulesIn; - tmpOut = tmpRulesOut user0; + tmp = tmpRulesIn; }; in syncthingNick diff --git a/modules/nixos/homelab/guests/vaultwarden/vaultwardenEris/default.nix b/modules/nixos/homelab/guests/vaultwarden/vaultwardenEris/default.nix index 5f416f7..e784cfd 100755 --- a/modules/nixos/homelab/guests/vaultwarden/vaultwardenEris/default.nix +++ b/modules/nixos/homelab/guests/vaultwarden/vaultwardenEris/default.nix @@ -4,7 +4,7 @@ ... }: let - inherit (import ../../helpers.nix) labHelpers; + inherit (import ../../../helpers.nix) labHelpers; inherit (labHelpers) guestPath; inherit (import ../config { inherit flake; }) vaultwardenVM; inherit (flake.config.people) user0; diff --git a/modules/nixos/homelab/guests/helpers.nix b/modules/nixos/homelab/helpers.nix similarity index 50% rename from modules/nixos/homelab/guests/helpers.nix rename to modules/nixos/homelab/helpers.nix index 14af7d4..cabd1f4 100644 --- a/modules/nixos/homelab/guests/helpers.nix +++ b/modules/nixos/homelab/helpers.nix @@ -1,9 +1,21 @@ +{ flake, ... }: +let + inherit (flake.config.people) user0; +in { labHelpers = { mntPath = "/mnt/storage"; + groupPath = "/mnt/storage/users"; + userPath = user: "/mnt/storage/users/${user}"; guestPath = user: "/mnt/storage/users/${user}/guests"; + homePath = user: "/mnt/storage/users/${user}/home"; docsPath = user: "/mnt/storage/users/${user}/home/docs"; mediaPath = user: "/mnt/storage/users/${user}/home/media"; miscPath = user: "/mnt/storage/users/${user}/home/misc"; }; + nasUsers = { + nasUser0 = user0; + nasUser1 = "stacie"; + nasUser2 = "garnet"; + }; } diff --git a/modules/nixos/homelab/nasDirs/default.nix b/modules/nixos/homelab/nasDirs/default.nix new file mode 100644 index 0000000..8892108 --- /dev/null +++ b/modules/nixos/homelab/nasDirs/default.nix @@ -0,0 +1,38 @@ +let + inherit (import ./helpers.nix) labHelpers nasUsers; + inherit (labHelpers) + guestPath + mediaPath + docsPath + homePath + miscPath + userPath + groupPath + mntPath + ; + + nasDirs = user: [ + "d ${userPath user} 0751 microvm wheel - -" + "d ${homePath user} 0751 microvm wheel - -" + "d ${guestPath user} 0751 microvm wheel - -" + "d ${docsPath user} 0751 microvm wheel - -" + "d ${mediaPath user} 0751 microvm wheel - -" + "d ${miscPath user} 0751 microvm wheel - -" + ]; + + nasUserList = [ + nasUsers.nasUser0 + nasUsers.nasUser1 + nasUsers.nasUser2 + ]; + + nasDirBuilder = builtins.concatLists (builtins.map (user: nasDirs user) nasUserList); + + defaultDirs = [ + "d ${mntPath} 0751 microvm wheel - -" + "d ${groupPath} 0751 microvm wheel - -" + ]; +in +{ + systemd.tmpfiles.rules = defaultDirs ++ nasDirBuilder; +}