summaryrefslogtreecommitdiff
path: root/hostnix/elmo/syncthing.nix
diff options
context:
space:
mode:
authorJoe Mou <dev@mou.fo>2026-03-11 19:44:26 -0400
committerJoe Mou <dev@mou.fo>2026-04-13 23:47:43 -0400
commitc57689e561aeb83900c083bba21f669abe9d3b6e (patch)
tree851a6fbc4a41fc99041ef202bffcba7fd6217832 /hostnix/elmo/syncthing.nix
parent3bc2acb933351c574f00e9a874f2f3658a9e26c6 (diff)
Add iPad Air to Syncthing
Diffstat (limited to 'hostnix/elmo/syncthing.nix')
-rw-r--r--hostnix/elmo/syncthing.nix62
1 files changed, 44 insertions, 18 deletions
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" = { };
}