diff --git a/flake.lock b/flake.lock index 5a79541..4a21718 100644 --- a/flake.lock +++ b/flake.lock @@ -94,11 +94,11 @@ ] }, "locked": { - "lastModified": 1734701201, - "narHash": "sha256-hk0roBX10j/hospoWIJIJj3i2skd7Oml6yKQBx7mTFk=", + "lastModified": 1733168902, + "narHash": "sha256-8dupm9GfK+BowGdQd7EHK5V61nneLfr9xR6sc5vtDi0=", "owner": "nix-community", "repo": "disko", - "rev": "2ee76c861af3b895b3b104bae04777b61397485b", + "rev": "785c1e02c7e465375df971949b8dcbde9ec362e5", "type": "github" }, "original": { @@ -230,11 +230,11 @@ ] }, "locked": { - "lastModified": 1734797603, - "narHash": "sha256-ulZN7ps8nBV31SE+dwkDvKIzvN6hroRY8sYOT0w+E28=", + "lastModified": 1733318908, + "narHash": "sha256-SVQVsbafSM1dJ4fpgyBqLZ+Lft+jcQuMtEL3lQWx2Sk=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "f0f0dc4920a903c3e08f5bdb9246bb572fcae498", + "rev": "6f4e2a2112050951a314d2733a994fbab94864c6", "type": "github" }, "original": { @@ -289,11 +289,11 @@ ] }, "locked": { - "lastModified": 1734893333, - "narHash": "sha256-0Ft7iTkl3UWAix72teY5nflYQD7GE0KvIiT+ox4wkB8=", + "lastModified": 1733873195, + "narHash": "sha256-dTosiZ3sZ/NKoLKQ++v8nZdEHya0eTNEsaizNp+MUPM=", "owner": "nix-community", "repo": "home-manager", - "rev": "1f74238a4c8e534a1b6be72cb5153043071ffd17", + "rev": "f26aa4b76fb7606127032d33ac73d7d507d82758", "type": "github" }, "original": { @@ -310,11 +310,11 @@ ] }, "locked": { - "lastModified": 1734862405, - "narHash": "sha256-bXZJvUMJ2A6sIpYcCUAGjYCD5UDzmpmQCdmJSkPhleU=", + "lastModified": 1733484277, + "narHash": "sha256-i5ay20XsvpW91N4URET/nOc0VQWOAd4c4vbqYtcH8Rc=", "owner": "nix-community", "repo": "home-manager", - "rev": "cb27edb5221d2f2920a03155f8becc502cf60e35", + "rev": "d00c6f6d0ad16d598bf7e2956f52c1d9d5de3c3a", "type": "github" }, "original": { @@ -380,11 +380,11 @@ ] }, "locked": { - "lastModified": 1734725857, - "narHash": "sha256-bivlV9l/UjMtTfz/CZaoNJ5RfH2Lre4P9Ds64conoUQ=", + "lastModified": 1733859890, + "narHash": "sha256-HnA6z2l2W38TJBarvWCcxjTjcpz7JrDj2u2umjYFcEo=", "owner": "Jovian-Experiments", "repo": "Jovian-NixOS", - "rev": "dbae2fd6adaf34c947d310bec08deac7c4ed265b", + "rev": "77ffd839fd9d60d139dc4a2ad6b6d526f4ad5a17", "type": "github" }, "original": { @@ -438,11 +438,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1734862644, - "narHash": "sha256-04xesW7HITdF5WUmNM39WD4tkEERk3Ez2W1nNvdIvIw=", + "lastModified": 1733861262, + "narHash": "sha256-+jjPup/ByS0LEVIrBbt7FnGugJgLeG9oc+ivFASYn2U=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "e8516a23524cc9083f5a02a8d64d14770e4c7c09", + "rev": "cf737e2eba82b603f54f71b10cb8fd09d22ce3f5", "type": "github" }, "original": { @@ -453,11 +453,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1734649271, - "narHash": "sha256-4EVBRhOjMDuGtMaofAIqzJbg4Ql7Ai0PSeuVZTHjyKQ=", + "lastModified": 1733759999, + "narHash": "sha256-463SNPWmz46iLzJKRzO3Q2b0Aurff3U1n0nYItxq7jU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "d70bd19e0a38ad4790d3913bf08fcbfc9eeca507", + "rev": "a73246e2eef4c6ed172979932bc80e1404ba2d56", "type": "github" }, "original": { @@ -482,11 +482,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1734880727, - "narHash": "sha256-bQfaaYoH8kSdw2UWb8RLZoa/2jPvDjaw87nvj+pO5lE=", + "lastModified": 1733847310, + "narHash": "sha256-VHzWuZYK/m5OFXzAczrjnI7vH6knj0sfLnziRVDqgFE=", "owner": "nix-community", "repo": "nixvim", - "rev": "450cccf472f40ae8e3b92eec9e5f4b071693ac85", + "rev": "b752606681ded3f69e99ed568c7075b3578dce48", "type": "github" }, "original": { @@ -505,11 +505,11 @@ ] }, "locked": { - "lastModified": 1733773348, - "narHash": "sha256-Y47y+LesOCkJaLvj+dI/Oa6FAKj/T9sKVKDXLNsViPw=", + "lastModified": 1733411491, + "narHash": "sha256-315rJ7O9cOllPDaFscnJhcMleORHbxon0Kq9LAKJ5p4=", "owner": "NuschtOS", "repo": "search", - "rev": "3051be7f403bff1d1d380e4612f0c70675b44fc9", + "rev": "68e9fad70d95d08156cf10a030bd39487bed8ffe", "type": "github" }, "original": { @@ -538,11 +538,11 @@ ] }, "locked": { - "lastModified": 1734546875, - "narHash": "sha256-6OvJbqQ6qPpNw3CA+W8Myo5aaLhIJY/nNFDk3zMXLfM=", + "lastModified": 1733785344, + "narHash": "sha256-pm4cfEcPXripE36PYCl0A2Tu5ruwHEvTee+HzNk+SQE=", "owner": "mic92", "repo": "sops-nix", - "rev": "ed091321f4dd88afc28b5b4456e0a15bd8374b4d", + "rev": "a80af8929781b5fe92ddb8ae52e9027fae780d2a", "type": "github" }, "original": { @@ -570,11 +570,11 @@ "tinted-tmux": "tinted-tmux" }, "locked": { - "lastModified": 1734885904, - "narHash": "sha256-NxA4JnLuXyle2/nUKDbW8vORwSd+Z20limIl7DhlZbs=", + "lastModified": 1733858997, + "narHash": "sha256-PMZdRUZQlouWgHFCFW8ANDFL6fUjZ67KAEaqRXwRwvc=", "owner": "danth", "repo": "stylix", - "rev": "4d87b96ceca38532f39c1b7efd8a9235bfcee3d6", + "rev": "bc25f3d69d3bb54548b772d7c2771e65cc37dc10", "type": "github" }, "original": { @@ -671,11 +671,11 @@ ] }, "locked": { - "lastModified": 1734704479, - "narHash": "sha256-MMi74+WckoyEWBRcg/oaGRvXC9BVVxDZNRMpL+72wBI=", + "lastModified": 1733440889, + "narHash": "sha256-qKL3vjO+IXFQ0nTinFDqNq/sbbnnS5bMI1y0xX215fU=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "65712f5af67234dad91a5a4baee986a8b62dbf8f", + "rev": "50862ba6a8a0255b87377b9d2d4565e96f29b410", "type": "github" }, "original": { diff --git a/hosts/Anton/default.nix b/hosts/Anton/default.nix index db34138..0d6c148 100644 --- a/hosts/Anton/default.nix +++ b/hosts/Anton/default.nix @@ -14,19 +14,11 @@ ./minecraft.nix ./nfs.nix ./radicale.nix + ./syncthing.nix ../../modules/common ../../modules/server ]; - common.syncthing = { - enable = true; - devices = { - Lenni = { id = "XS6NR2Q-DHVB5G4-P43CHWR-TVBIY5A-FCIS7CU-S5UVNZA-5YPJYST-2EO2GAG"; }; - Puenktchen = { id = "VP3YVIM-JNSZTXV-7AS7FA2-3W5QKH6-XOWXX7N-STUR4JR-PR6SPCV-HJZMAAN"; }; - Damin = { id = "HAGKFGG-EMCPKHG-Y7V2ACJ-DJVAIIA-A6TNGTQ-VWPB3F5-PES673W-W2YBJAD"; }; - }; - }; - } diff --git a/hosts/Anton/syncthing.nix b/hosts/Anton/syncthing.nix new file mode 100644 index 0000000..a959065 --- /dev/null +++ b/hosts/Anton/syncthing.nix @@ -0,0 +1,55 @@ +{ ... }: +{ + services.syncthing = { + enable = true; + dataDir = "/mnt/data/services/syncthing/data"; + configDir = "/mnt/data/services/syncthing/config"; + overrideDevices = true; + overrideFolders = true; + openDefaultPorts = true; + guiAddress = "0.0.0.0:8384"; + settings = { + gui = { + user = "willifan"; + password = "temppassword"; + }; + devices = { + Lenni = { id = "XS6NR2Q-DHVB5G4-P43CHWR-TVBIY5A-FCIS7CU-S5UVNZA-5YPJYST-2EO2GAG"; }; + Puenktchen = { id = "VP3YVIM-JNSZTXV-7AS7FA2-3W5QKH6-XOWXX7N-STUR4JR-PR6SPCV-HJZMAAN"; }; + Damin = { id = "HAGKFGG-EMCPKHG-Y7V2ACJ-DJVAIIA-A6TNGTQ-VWPB3F5-PES673W-W2YBJAD"; }; + }; + folders = { + "Documents" = { + id = "jtl6g-qjmwo"; + path = "/mnt/data/services/syncthing/data/Documents"; + devices = [ "Lenni" "Puenktchen" ]; + }; + "Enpass" = { + id = "ciksm-xsw4m"; + path = "/mnt/data/services/syncthing/data/Enpass"; + devices = [ "Lenni" "Puenktchen" "Damin" ]; + }; + "Pictures" = { + id = "po4qj-q9t0t"; + path = "/mnt/data/services/syncthing/data/Pictures"; + devices = [ "Lenni" "Puenktchen" ]; + }; + "Videos" = { + id = "4wqf5-xasng"; + path = "/mnt/data/services/syncthing/data/Videos"; + devices = [ "Lenni" "Puenktchen" ]; + }; + "Notes" = { + id = "oc61n-iewgj"; + path = "/mnt/data/services/syncthing/data/Notes"; + devices = [ "Lenni" "Puenktchen" ]; + }; + "Music" = { + id = "xxh8a-3y2tq"; + path = "/mnt/data/services/syncthing/data/Music"; + devices = [ "Lenni" "Puenktchen" ]; + }; + }; + }; + }; +} diff --git a/hosts/Lenni/default.nix b/hosts/Lenni/default.nix index 183df04..7c7c9db 100644 --- a/hosts/Lenni/default.nix +++ b/hosts/Lenni/default.nix @@ -3,16 +3,9 @@ imports = [ ./hardware-configuration.nix #./disko.nix + ./syncthing.nix ../../modules/common ../../modules/desktop ]; - - common.syncthing = { - enable = true; - devices = { - Anton = { id = "WCDBADD-UPKCACI-X2YJOIO-5QC44PL-DBCR6TS-ADVQV33-HSMF32O-FOKMKAU"; }; - }; - }; - } diff --git a/hosts/Lenni/syncthing.nix b/hosts/Lenni/syncthing.nix new file mode 100644 index 0000000..c975529 --- /dev/null +++ b/hosts/Lenni/syncthing.nix @@ -0,0 +1,52 @@ +{ ... }: +{ + services.syncthing = { + enable = true; + user = "willifan"; + dataDir = "/mnt/data"; + configDir = "/mnt/data/.config/syncthing"; + overrideDevices = true; + overrideFolders = true; + settings = { + gui = { + user = "willifan"; + password = "temppassword"; + }; + devices = { + Anton = { id = "WCDBADD-UPKCACI-X2YJOIO-5QC44PL-DBCR6TS-ADVQV33-HSMF32O-FOKMKAU"; }; + }; + folders = { + "Documents" = { + id = "jtl6g-qjmwo"; + path = "/mnt/data/Documents"; + devices = [ "Anton" ]; + }; + "Enpass" = { + id = "ciksm-xsw4m"; + path = "/mnt/data/Enpass"; + devices = [ "Anton" ]; + }; + "Pictures" = { + id = "po4qj-q9t0t"; + path = "/mnt/data/Pictures"; + devices = [ "Anton" ]; + }; + "Videos" = { + id = "4wqf5-xasng"; + path = "/mnt/data/Videos"; + devices = [ "Anton" ]; + }; + "Notes" = { + id = "oc61n-iewgj"; + path = "/mnt/data/Notes"; + devices = [ "Anton" ]; + }; + "Music" = { + id = "xxh8a-3y2tq"; + path = "/mnt/data/Music"; + devices = [ "Anton" ]; + }; + }; + }; + }; +} diff --git a/hosts/Puenktchen/default.nix b/hosts/Puenktchen/default.nix index a6d8a42..fdbc42e 100644 --- a/hosts/Puenktchen/default.nix +++ b/hosts/Puenktchen/default.nix @@ -9,11 +9,4 @@ ]; - common.syncthing = { - enable = true; - devices = { - Anton = { id = "WCDBADD-UPKCACI-X2YJOIO-5QC44PL-DBCR6TS-ADVQV33-HSMF32O-FOKMKAU"; }; - }; - }; - } diff --git a/hosts/Puenktchen/syncthing.nix b/hosts/Puenktchen/syncthing.nix new file mode 100644 index 0000000..c975529 --- /dev/null +++ b/hosts/Puenktchen/syncthing.nix @@ -0,0 +1,52 @@ +{ ... }: +{ + services.syncthing = { + enable = true; + user = "willifan"; + dataDir = "/mnt/data"; + configDir = "/mnt/data/.config/syncthing"; + overrideDevices = true; + overrideFolders = true; + settings = { + gui = { + user = "willifan"; + password = "temppassword"; + }; + devices = { + Anton = { id = "WCDBADD-UPKCACI-X2YJOIO-5QC44PL-DBCR6TS-ADVQV33-HSMF32O-FOKMKAU"; }; + }; + folders = { + "Documents" = { + id = "jtl6g-qjmwo"; + path = "/mnt/data/Documents"; + devices = [ "Anton" ]; + }; + "Enpass" = { + id = "ciksm-xsw4m"; + path = "/mnt/data/Enpass"; + devices = [ "Anton" ]; + }; + "Pictures" = { + id = "po4qj-q9t0t"; + path = "/mnt/data/Pictures"; + devices = [ "Anton" ]; + }; + "Videos" = { + id = "4wqf5-xasng"; + path = "/mnt/data/Videos"; + devices = [ "Anton" ]; + }; + "Notes" = { + id = "oc61n-iewgj"; + path = "/mnt/data/Notes"; + devices = [ "Anton" ]; + }; + "Music" = { + id = "xxh8a-3y2tq"; + path = "/mnt/data/Music"; + devices = [ "Anton" ]; + }; + }; + }; + }; +} diff --git a/modules/common/default.nix b/modules/common/default.nix index 8591c16..4f736fc 100644 --- a/modules/common/default.nix +++ b/modules/common/default.nix @@ -7,7 +7,6 @@ ./mimetype.nix ./optimise.nix ./sops.nix - ./syncthing.nix ]; networking = { diff --git a/modules/common/syncthing.nix b/modules/common/syncthing.nix index 1156b16..4b06a0c 100644 --- a/modules/common/syncthing.nix +++ b/modules/common/syncthing.nix @@ -1,68 +1,68 @@ -{ lib, types, config, ... }: -let - deviceList = builtins.attrNames config.common.syncthing.devices; -in +{ lib, config, ... }: { options = { - common.syncthing = { - enable = lib.mkEnableOption "enable syncthing"; + syncthing.devices = lib.mkOption { + default = { }; + type = lib.types.attrsOf (lib.types.submodule { + options = { - devices = lib.mkOption { - type = lib.types.attrsOf (lib.types.submodule { - - options.id = lib.mkOption { type = lib.types.str; }; + id = lib.mkOption { + type = lib.types.str; + default = null; + }; - }); - - }; + }; + }); }; }; - config.services.syncthing = lib.mkIf config.common.syncthing.enable { - enable = lib.mkDefault true; - user = lib.mkDefault "willifan"; - dataDir = lib.mkDefault "/mnt/data"; - configDir = lib.mkDefault "/mnt/data/.config/syncthing"; - overrideDevices = lib.mkDefault true; - overrideFolders = lib.mkDefault true; + services.syncthing = { + enable = true; + user = "willifan"; + dataDir = "/mnt/data"; + configDir = "/mnt/data/.config/syncthing"; + overrideDevices = true; + overrideFolders = true; settings = { gui = { - user = lib.mkDefault "willifan"; - password = lib.mkDefault "temppassword"; + user = "willifan"; + password = "temppassword"; }; - devices = config.common.syncthing.devices; - folders = lib.mkDefault { + devices = { + Anton = { id = "WCDBADD-UPKCACI-X2YJOIO-5QC44PL-DBCR6TS-ADVQV33-HSMF32O-FOKMKAU"; }; + }; + folders = { "Documents" = { id = "jtl6g-qjmwo"; path = "/mnt/data/Documents"; - devices = deviceList; + devices = [ "Anton" ]; }; - "Enpass" = lib.mkDefault { + "Enpass" = { id = "ciksm-xsw4m"; path = "/mnt/data/Enpass"; - devices = deviceList; + devices = [ "Anton" ]; }; - "Pictures" = lib.mkDefault { + "Pictures" = { id = "po4qj-q9t0t"; path = "/mnt/data/Pictures"; - devices = deviceList; + devices = [ "Anton" ]; }; - "Videos" = lib.mkDefault { + "Videos" = { id = "4wqf5-xasng"; path = "/mnt/data/Videos"; - devices = deviceList; + devices = [ "Anton" ]; }; - "Notes" = lib.mkDefault { + "Notes" = { id = "oc61n-iewgj"; path = "/mnt/data/Notes"; - devices = deviceList; + devices = [ "Anton" ]; }; - "Music" = lib.mkDefault { + "Music" = { id = "xxh8a-3y2tq"; path = "/mnt/data/Music"; - devices = deviceList; + devices = [ "Anton" ]; }; }; }; diff --git a/scripts/rebuild.sh b/scripts/rebuild.sh new file mode 100644 index 0000000..20d602b --- /dev/null +++ b/scripts/rebuild.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash + diff --git a/scripts/update.sh b/scripts/update.sh new file mode 100644 index 0000000..20d602b --- /dev/null +++ b/scripts/update.sh @@ -0,0 +1,2 @@ +#!/usr/bin/env bash + diff --git a/users/willifan/desktop/dev/embedded.nix b/users/willifan/desktop/dev/embedded.nix index 85a0658..ec7f77e 100644 --- a/users/willifan/desktop/dev/embedded.nix +++ b/users/willifan/desktop/dev/embedded.nix @@ -2,8 +2,6 @@ { services.udev.extraRules = '' - ATTRS{idVendor}=="1d50", ATTRS{idProduct}=="614e", MODE="660", GROUP="plugdev", TAG+="uaccess" - ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", MODE="660", GROUP="plugdev", TAG+="uaccess" # Copy this file to /etc/udev/rules.d/ # If rules fail to reload automatically, you can refresh udev rules