From c1e2f7be56dd7534785d72add42d63489d8f023a Mon Sep 17 00:00:00 2001 From: "Lennart J. Kurzweg (Nx2)" Date: Wed, 22 May 2024 09:17:39 +0200 Subject: [PATCH] syncthing (not working) --- configuration.nix | 1 + secrets/passwords-and-certificates.nix | Bin 2375 -> 2641 bytes system-modules/syncthing.nix | 51 +++++++++++++++++++++++++ 3 files changed, 52 insertions(+) create mode 100644 system-modules/syncthing.nix diff --git a/configuration.nix b/configuration.nix index 558a2b4..317e508 100755 --- a/configuration.nix +++ b/configuration.nix @@ -13,6 +13,7 @@ in ./system-modules/networking.nix ./system-modules/virtualisation.nix ./system-modules/sshd.nix + ./system-modules/syncthing.nix ./system-modules/hsmw.nix ./system-modules/docker.nix ./system-modules/health_reminder.nix diff --git a/secrets/passwords-and-certificates.nix b/secrets/passwords-and-certificates.nix index cc943b24cb60f6a41430d0daa818a638d353aa40..f225aac2029f6fb52bb6bcd65d33ad6a6e186443 100755 GIT binary patch literal 2641 zcmZQ@_Y83kiVO&0ki1`@wPdrBna)));rGXX2j`VGh;1qedExi|#f=&NHc8svi220k zYF2dQzw_^;uZGKiOZxqGy7_Ff>jb%!Sjh~N&a0`<&fa*I`uV_-{hlp`M}-T1Nd;-z zZu)S=Pcn7R&S%qoE;BY|&z)4kad^i6Pu{Kf_ZuZQc01><;huVR^~JK}na%=&qF=-w zNbk?PcS-TW)8@YFTP`nUDu);z}G`uW|VCNnQv*xSYWIG>7W z-e`Cs{-3W)wPOD+kr|l>j7sFr92C_TYv*`Z)VbzG#O}py*TjreY9Fr@-D|9#sh+n& z#PGvcTQBjd_vpvV@4qZtXI){aUu9nDsp4gRE8=RT?e@-J50)9m@y=PY zY);lUmgf$Ik`K?v_CLINlYhmsAis}#`%E|F=U`M|FkWjt$n)^7>oN^zL~2(f2h|WIn#5U z;^!aBbGP}(`{+qnYf5osiERmeP~k7OcU#dpHH)+7S2*l`r^w{45I9$0qvDhkZrfE) zU%RzZ0nD=h{>+hP&3`4igSeE~?f6ISk+2oxhYVong1UounP%sIea)$sX0sB{lQJ&n$Qb6J`yi~r{DX0OS3)NHes^5<06h( zbMl@>?|qS(;94*zaPt|z<`WNIeOtc1P}z!o$wcjfNd8c9Gl?ABQ~37ytTQY8&aV4Y z^h^CkuI#nK`Fg@^-!`u_;hMi;MGK2*Etl)5Vn3y>Euh4E4cc0( z;PS0Fvf+a6C3T0{dFlqnTP~hgQ$d#0x8ieE*2I6g_3)&+lC;3L#>Zi{^S{6EX{)BorNsJuBpX`)&_o6T{1@xSxE zh5nW8ongMw(T1yYxx4b4mI62Cu!Tj!NA?GLEY5pA`;g1&SQit$iN6jIKROP-N zce#aINnd(`^E)QSFqy1M`IJ7srAM|E-oJJ8(eaax68<6E7GJt5CA(;~azNV)fsLi!!YqR7j!sA&E<+uYutEE$1k zKG$xlac_SlDrvoEXX(aMXYRAzDq5_owj#pLxZ}>F1?A=i8b-zs&n0p^YDj)j7VXR1 z&aG~jJ@L~7j~;m`MHb^DUW?aEb@Jad{p3Sc`O>2cJ8b7=tte>S!N-4rxpnHzd9y$3*7`@XoVr-g@NTKs<5giZ zjgmKQjC76kb^9GPJ&i{(yltjsNdvFqkLgpwoW5>axcZoJ^Dd*QK8$?XH`H|uEW7e|;)SB%<13CN1-}04dB-Xv7|E4yaoRR2%QqN+k=lJcRz;b5t?N2z_~m4_Ma*B3tJ%lx|B zsPf9q=HHWRuQ*K9+mJOs#ffF#9A(w;pgW9tB|Y8w<;_mt>?CZmI99+H_dm4qKX?e)meV zrhcJ>ZY{#p=!)*lXB~GL-aYiu zJ6gwOX?3V7id+2a`?EfNLffwWe=j+)p>lF_($PPj1+V@#YaC7r;(lAzqJH(erXN@G z3VTt5uv*y}X&w7*FNC<9+qL+@sbr_$QDw)Tg>tlMzV2OP${n%ChVfVH&B@Q3N;aPm zUm)8xXMxe146e-MLRx$d`@G^A7p^(*{@&>il`CGZOp*Lo@JFTIJkv|_vucqs!>whe zAGS_NUOKnw$EiEf*W^z3^Tm3s_5F;+s&6Eq$+|s z)}1$e?(_9JtNr@)*I{$@?k9%tvvS@1HN&kV*7>v0k;paH^PiV%cAQw6Y{hxqc=?w7 zyI(1Y#-%*xJe$!WD&3@+7@5?t;C_U`+Vs6w75yiNIy{=Mbd=@OV$tqGXTFIC)`*>( zD1Cmxw@&Ye7UwKIi;9I7nz8FlQq?~!^;P+u&XT6`JCk&ld2MDDu-&uvy^6*6ew%x{ j6(&9OD%RebxGhSfpZ(*BR;}z0 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 P+s%PeqI%2nW=8=4SLc?y diff --git a/system-modules/syncthing.nix b/system-modules/syncthing.nix new file mode 100644 index 0000000..604bbd7 --- /dev/null +++ b/system-modules/syncthing.nix @@ -0,0 +1,51 @@ +{ pkgs, lib, user, host, secrets, ...}: +let + devices = { + north = { name = "NxNORTH"; id = ""; }; + xps = { name = "NxXPS"; id = ""; }; + ace = { name = "NxACE"; id = ""; }; + s21u = { name = "NxS21U"; id = ""; }; + diane = { name = "diane"; id = ""; }; + daniel = { name = "daniel"; id = ""; }; + tessa = { name = "tessa"; id = ""; }; + georg = { name = "georg"; id = ""; }; + }; + conv = _: device: with device; { "${name}" = {id = id;};}; + dirs = { + default = { name = "sync"; path = "/home/${user}/sync"; }; + }; + justname = devices: (builtins.map (device: device.name)) devices; + cd = /home/${user}/.config/syncthing; +in +lib.mkIf (user != "tv") +{ + services.syncthing = { + enable = true; + user = "${user}"; + dataDir = "/home/${user}/.local/share/syncthing"; # useless ? + configDir = cd; + # key = builtins.toFile "key.pem" secrets.syncthing.${host}.key; + # cert = builtins.toFile "cert.pem" secrets.syncthing.${host}.cert; + # overrideDevices = true; + # overrideFolders = true; + settings = { + devices = with (builtins.mapAttrs conv devices); if (host == "NxXPS") then ( + north // ace // s21u + ) else if (host == "NxNORTH") then ( + xps // ace // s21u + ) else ( + north // xps // s21u // diane // daniel // tessa // georg + ); + folders = with dirs; if (host == "NxXPS") then { + "${default.name}" = { + path = default.path; + devices = with devices; (justname [ north ace s21u ]); + }; + } else { + what = "dman"; + }; + }; + }; + +} +