{ lib, user, group, ... }:
let
  devices = [ "Legion" "Monarch" "Northstar" "Ronin" "Vanguard" ];
  devicesWithPhone = devices ++ [ "Ion" ];
in {
  services.syncthing = {
    inherit user group;
    enable = true;
    dataDir = lib.mkDefault "/home/${user}";
    systemService = true;
    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";
        "Northstar".id =
          "HNK5Z72-757G3BP-I4PBWXY-FM5FWCM-ES4XP56-E5ULWB5-RGRCBUI-RHWRXQV";
        "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;
        };
        "Books" = {
          inherit devices;
          id = "zjmxy-ycmbq";
          path = lib.mkDefault "~/Documents/Books";
          ignorePerms = true;
        };
        "Comics" = {
          inherit devices;
          id = "kc2h0-q3wot";
          path = lib.mkDefault "~/Documents/Comics";
          ignorePerms = true;
        };
        "Documents" = {
          id = "qc6qa-bipsd";
          path = lib.mkDefault "~/Documents/Sync";
          ignorePerms = true;
          devices = devicesWithPhone;
        };
        "Exports" = {
          inherit devices;
          id = "tof2e-pdtde";
          path = lib.mkDefault "~/Documents/Exports";
          ignorePerms = true;
        };
        "Notes" = {
          id = "4ggjz-5dyop";
          path = lib.mkDefault "~/Notes";
          ignorePerms = true;
          devices = devicesWithPhone;
        };
        "Pictures" = {
          id = "ziuj8-rm6dn";
          path = lib.mkDefault "~/Pictures";
          ignorePerms = true;
          devices = devicesWithPhone;
        };
        "Zotero" = {
          id = "huyvn-liwc9";
          path = lib.mkDefault "~/Documents/Zotero";
          ignorePerms = true;
          devices = devicesWithPhone;
        };
      };
    };
  };
}