From 09e52ee5959176e9abaeb9477aea9b1aeabc1fb9 Mon Sep 17 00:00:00 2001 From: Evie Litherland-Smith Date: Wed, 30 Aug 2023 07:28:36 +0100 Subject: [PATCH] Add Vanguard back to syncthing --- Makefile | 2 -- services/Legion.nix | 32 ++++++++++++++-------------- services/Ronin.nix | 5 ++--- services/Vanguard.nix | 19 ++++++++++++++++- services/syncthing/default.nix | 38 +++++++++++++--------------------- 5 files changed, 50 insertions(+), 46 deletions(-) diff --git a/Makefile b/Makefile index 193cab02..7584f89b 100644 --- a/Makefile +++ b/Makefile @@ -2,11 +2,9 @@ build: sudo nixos-rebuild build --flake . - -nix run nixpkgs#home-manager -- build --flake . switch: sudo nixos-rebuild switch --flake . - -nix run nixpkgs#home-manager -- switch --flake . test: sudo nixos-rebuild test --flake . diff --git a/services/Legion.nix b/services/Legion.nix index 33f008f0..d61db778 100644 --- a/services/Legion.nix +++ b/services/Legion.nix @@ -1,4 +1,5 @@ -{lib, ...}: let +{ ... }: +let # generate via openvpn --genkey --secret openvpn-laptop.key client-key = "/root/openvpn.key"; domain = "vpn.xenia.me.uk"; @@ -19,21 +20,20 @@ in { ]; services.syncthing = let user = "xenia"; + group = "users"; dataDir = "/var/lib/syncthing"; in { - user = user; - group = "users"; - dataDir = dataDir; + inherit user group dataDir; settings.folders = { - "Archive".path = lib.mkForce (dataDir + "/Archive"); - "Books".path = lib.mkForce (dataDir + "/Books"); - "Comics".path = lib.mkForce (dataDir + "/Comics"); - "Documents".path = lib.mkForce (dataDir + "/Documents"); - "Exports".path = lib.mkForce (dataDir + "/Exports"); - "Notes".path = lib.mkForce (dataDir + "/Notes"); - "Pictures".path = lib.mkForce (dataDir + "/Pictures"); - "Tasks".path = lib.mkForce (dataDir + "/Tasks"); - "Zotero".path = lib.mkForce (dataDir + "/Zotero"); + "Archive".path = dataDir + "/Archive"; + "Books".path = dataDir + "/Books"; + "Comics".path = dataDir + "/Comics"; + "Documents".path = dataDir + "/Documents"; + "Exports".path = dataDir + "/Exports"; + "Notes".path = dataDir + "/Notes"; + "Pictures".path = dataDir + "/Pictures"; + "Tasks".path = dataDir + "/Tasks"; + "Zotero".path = dataDir + "/Zotero"; }; }; @@ -41,11 +41,11 @@ in { nat = { enable = true; externalInterface = "enp42s0"; - internalInterfaces = [vpn-dev]; + internalInterfaces = [ vpn-dev ]; }; firewall = { - trustedInterfaces = [vpn-dev]; - allowedUDPPorts = [port]; + trustedInterfaces = [ vpn-dev ]; + allowedUDPPorts = [ port ]; }; }; diff --git a/services/Ronin.nix b/services/Ronin.nix index 281cbbce..28f165ee 100644 --- a/services/Ronin.nix +++ b/services/Ronin.nix @@ -1,12 +1,11 @@ {...}: let user = "elitherl"; + group = "users"; dataDir = "/home/${user}"; in { imports = [./syncthing]; services.syncthing = { - user = user; - group = "users"; - dataDir = dataDir; + inherit user group dataDir; settings.folders = { "Archive".enable = false; "Books".enable = false; diff --git a/services/Vanguard.nix b/services/Vanguard.nix index 56139ebe..b79ca1d4 100644 --- a/services/Vanguard.nix +++ b/services/Vanguard.nix @@ -1 +1,18 @@ -{ ... }: { imports = [ ./sshd ]; } +{ ... }: +let + user = "xenia"; + group = "users"; + dataDir = "/home/${user}"; +in { + imports = [ ./sshd ./syncthing ]; + services.syncthing = { + inherit user group dataDir; + settings.folders = { + "Archive".enable = false; + "Books".enable = false; + "Comics".enable = false; + "Exports".enable = false; + "Pictures".enable = false; + }; + }; +} diff --git a/services/syncthing/default.nix b/services/syncthing/default.nix index d3937c03..8556ae17 100644 --- a/services/syncthing/default.nix +++ b/services/syncthing/default.nix @@ -1,11 +1,7 @@ { lib, ... }: let defaultDataDir = "/var/lib/syncthing"; - deviceGroups = { - all = [ "Ion" "Legion" "Monarch" ]; - personal = [ "Legion" "Monarch" ]; - work = [ "Ion" "Legion" "Monarch" "Ronin" ]; - }; + devices = [ "Ion" "Legion" "Monarch" "Ronin" "Vanguard" ]; in { services.syncthing = { enable = true; @@ -14,66 +10,60 @@ in { openDefaultPorts = true; settings = { devices = { - "Ion".id = - "7DD4NPH-6T2ET5A-4FCLFWW-CS6UR2W-IO5XQXC-DM5B2Q4-6X7DGU2-UKKVEAB"; - "Legion".id = - "6OX54CG-EAQMXKA-K7TXB5P-G5A27HB-52JE2FA-XNAYZU6-YMIDBXP-RKPBJQV"; - "Monarch".id = - "CJSUZQY-67XBLEZ-VKVHQHI-BLEUZNF-G4237AV-AW44CGH-F3JDKXU-CWT3RQZ"; - # "Nortstar".id = ""; - "Ronin".id = - "ZOL5YHK-ZZZULIE-UHGVKHW-H5E4BP7-S4CZBOX-OIZVUCV-RZUXOKA-QVBUBAJ"; - "Vanguard".id = - "I366QNQ-D3FTDRX-RNOTXMW-YITZXOF-DSCDMQD-63Q72LI-ME2Y4HZ-T34RMQK"; + "Ion".id = "7DD4NPH-6T2ET5A-4FCLFWW-CS6UR2W-IO5XQXC-DM5B2Q4-6X7DGU2-UKKVEAB"; + "Legion".id = "6OX54CG-EAQMXKA-K7TXB5P-G5A27HB-52JE2FA-XNAYZU6-YMIDBXP-RKPBJQV"; + "Monarch".id = "CJSUZQY-67XBLEZ-VKVHQHI-BLEUZNF-G4237AV-AW44CGH-F3JDKXU-CWT3RQZ"; + "Ronin".id = "ZOL5YHK-ZZZULIE-UHGVKHW-H5E4BP7-S4CZBOX-OIZVUCV-RZUXOKA-QVBUBAJ"; + "Vanguard".id = "I366QNQ-D3FTDRX-RNOTXMW-YITZXOF-DSCDMQD-63Q72LI-ME2Y4HZ-T34RMQK"; }; folders = { "Archive" = { + inherit devices; id = "hwnqy-xzcdx"; path = lib.mkDefault "~/Documents/Archive"; ignorePerms = true; - devices = deviceGroups.personal; }; "Books" = { + inherit devices; id = "zjmxy-ycmbq"; path = lib.mkDefault "~/Documents/Books"; ignorePerms = true; - devices = deviceGroups.personal; }; "Comics" = { + inherit devices; id = "kc2h0-q3wot"; path = lib.mkDefault "~/Documents/Comics"; ignorePerms = true; - devices = deviceGroups.personal; }; "Documents" = { + inherit devices; id = "qc6qa-bipsd"; path = lib.mkDefault "~/Documents/Sync"; ignorePerms = true; - devices = deviceGroups.personal; }; "Exports" = { + inherit devices; id = "tof2e-pdtde"; path = lib.mkDefault "~/Documents/Exports"; ignorePerms = true; - devices = deviceGroups.personal; }; "Notes" = { + inherit devices; id = "4ggjz-5dyop"; path = lib.mkDefault "~/Notes"; ignorePerms = true; - devices = deviceGroups.work; }; "Pictures" = { + inherit devices; id = "ziuj8-rm6dn"; path = lib.mkDefault "~/Pictures"; ignorePerms = true; - devices = deviceGroups.all; }; "Zotero" = { + inherit devices; id = "huyvn-liwc9"; path = lib.mkDefault "~/Documents/Zotero"; ignorePerms = true; - devices = deviceGroups.work; }; }; };