From c57689e561aeb83900c083bba21f669abe9d3b6e Mon Sep 17 00:00:00 2001 From: Joe Mou Date: Wed, 11 Mar 2026 19:44:26 -0400 Subject: Add iPad Air to Syncthing --- hostnix/elmo/syncthing.nix | 62 ++++++++++++++++++++++++++++++++-------------- 1 file changed, 44 insertions(+), 18 deletions(-) (limited to 'hostnix') diff --git a/hostnix/elmo/syncthing.nix b/hostnix/elmo/syncthing.nix index 1f3518f..3010b1a 100644 --- a/hostnix/elmo/syncthing.nix +++ b/hostnix/elmo/syncthing.nix @@ -15,18 +15,19 @@ in # Syncthing generally ignores umask and makes it hard to set permission bits # by default, so use ACLs to grant access. Also nginx is particularly # difficult to grant granular access with classic permissions. - systemd.tmpfiles.rules = let - acls = builtins.concatStringsSep "," [ - "user:joe:rwX" - "default:user:joe:rwX" - "user:nginx:rX" - "default:user:nginx:rX" + systemd.tmpfiles.rules = + let + acls = builtins.concatStringsSep "," [ + "user:joe:rwX" + "default:user:joe:rwX" + "user:nginx:rX" + "default:user:nginx:rX" + ]; + in + [ + "d /srv/syncthing 0700 syncthing syncthing" + "A /srv/syncthing - - - - ${acls}" ]; - in - [ - "d /srv/syncthing 0700 syncthing syncthing" - "A /srv/syncthing - - - - ${acls}" - ]; # Disable Syncthing service home creation which clobbers above permissions. users.users.syncthing.createHome = lib.mkForce false; @@ -46,6 +47,10 @@ in id = "T547Y5S-HUO5WIC-DM3Z7LS-UG647YR-ZQAMZHU-LIZHDY5-Q5WQLXL-RNH2GAV"; autoAcceptFolders = true; }; + "Joe's iPad" = { + id = "Z34UWON-Y3H7CR6-XAMRQ6L-CZ4UQY7-ELOE44T-O6T6OYV-VHJSVTS-TIERJQX"; + autoAcceptFolders = true; + }; "Joes-iPhone" = { id = "P25LZDL-ZCHYEB3-FE3W4WW-YMMPWWF-27VY7DR-7Y25WNI-NJN7FXX-5PZZTQ5"; autoAcceptFolders = true; @@ -95,19 +100,30 @@ in id = "bhemx-9nh3v"; path = "~/Documents"; versioning = staggeredVersioning; - devices = [ "doughboy" "sparky" ]; + devices = [ + "doughboy" + "sparky" + ]; }; "Downloads" = { id = "kvq6q-axjhu"; path = "~/Downloads"; versioning = staggeredVersioning; - devices = [ "doughboy" "sparky" "Joes-iPad" ]; + devices = [ + "doughboy" + "sparky" + "Joe's iPad" + "Joes-iPad" + ]; }; "Game/Epic Games/TheTalosPrinciple/UserData" = { id = "vek7u-iausx"; path = "~/Game/Epic Games/TheTalosPrinciple/UserData"; versioning = staggeredVersioning; - devices = [ "DESKTOP-SFVBFBU" "steamdeck" ]; + devices = [ + "DESKTOP-SFVBFBU" + "steamdeck" + ]; }; "Game/PCSX2" = { id = "chxsg-hpqgm"; @@ -119,13 +135,19 @@ in id = "vfjsd-4fczh"; path = "~/Pictures"; versioning = staggeredVersioning; - devices = [ "doughboy" "sparky" ]; + devices = [ + "doughboy" + "sparky" + ]; }; "Public" = { id = "f6iys-eunyf"; path = "~/Public"; versioning = staggeredVersioning; - devices = [ "doughboy" "sparky" ]; + devices = [ + "doughboy" + "sparky" + ]; }; "Sync" = { id = "7thks-5badk"; @@ -134,6 +156,7 @@ in devices = [ "Asus Nexus 7" "DESKTOP-SFVBFBU" + "Joe's iPad" "Joes-iPad" "Joes-iPhone" "doughboy" @@ -154,7 +177,10 @@ in "iPad" = { id = "qtzmu-fqdrs"; path = "~/iPad"; - devices = [ "Joes-iPad" ]; + devices = [ + "Joe's iPad" + "Joes-iPad" + ]; }; }; }; @@ -170,5 +196,5 @@ in }; }; - services.oauth2-proxy.nginx.virtualHosts = { "st.mou.fo" = {}; }; + services.oauth2-proxy.nginx.virtualHosts."st.mou.fo" = { }; } -- cgit v1.3.1