Personal Nix flake
nixos home-manager nix
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

feat: Syncthing GUI user + password, defaults, add steamdeck-standalone

+62 -16
+23 -14
nix/home/modules/syncthing/default.nix
··· 1 1 { 2 2 config, 3 3 lib, 4 - pkgs, 5 4 osConfig ? {}, 6 5 ... 7 6 }: let 8 - inherit (config.my.secret.helpers) mkHostSecret; 7 + inherit (config.my.secret.helpers) mkHostSecret mkSecret; 9 8 syncthingtray = config.services.syncthing.tray.package; 10 9 cfg = config.my.syncthing; 11 10 in { ··· 15 14 16 15 config = lib.mkIf cfg.enable { 17 16 my.secret.definitions = lib.mkIf (config.my.hostName != null) { 17 + "syncthing-password" = mkSecret "syncthing-password" {}; 18 18 "host.syncthing-cert" = mkHostSecret config "syncthing-cert" {}; 19 19 "host.syncthing-key" = mkHostSecret config "syncthing-key" {}; 20 20 }; ··· 23 23 enable = true; 24 24 tray.enable = config.my.profiles.graphical; 25 25 cert = config.my.secrets."host.syncthing-cert".path; 26 + guiAddress = "0.0.0.0:8384"; 26 27 key = config.my.secrets."host.syncthing-key".path; 27 28 overrideDevices = true; 28 29 overrideFolders = true; 30 + passwordFile = config.my.secrets."syncthing-password".path; 29 31 settings = { 32 + # See ~/.local/state/syncthing/config.xml 33 + defaults.folder = { 34 + minDiskFree.unit = "%"; 35 + minDiskFree.value = "10"; 36 + order = "oldestFirst"; 37 + }; 30 38 gui.theme = "dark"; 39 + gui.user = config.home.username; 31 40 options = { 32 41 localAnnounceEnabled = true; 33 42 relaysEnabled = true; 43 + startBrowser = false; 34 44 urAccepted = -1; # For no and don't ask again 35 45 }; 36 46 startBrowser = false; 37 47 folders = let 38 - computers = ["desktop" "laptop" "steamdeck"]; 48 + computers = ["desktop"]; 49 + laptops = ["laptop"]; 50 + gaming = ["steamdeck" "steamdeck-standalone"]; 39 51 phones = ["galaxyS23"]; 40 52 servers = ["raspberrypi" "server"]; 41 - allDevices = computers ++ phones ++ servers; 53 + allDevices = computers ++ laptops ++ gaming ++ phones ++ servers; 42 54 trashVersioning = { 43 55 type = "trashcan"; 44 56 params.cleanoutDays = "30"; ··· 56 68 label = "Notes/Logseq"; 57 69 type = "sendreceive"; 58 70 versioning = trashVersioning; 59 - devices = allDevices; 71 + devices = computers ++ laptops ++ phones ++ servers; 60 72 }; 61 73 "~/Notes/Obsidian" = { 62 74 id = "tgnpg-efws9"; 63 75 label = "Notes/Obsidian"; 64 76 type = "sendreceive"; 65 77 versioning = trashVersioning; 66 - devices = allDevices; 78 + devices = computers ++ laptops ++ phones ++ servers; 67 79 }; 68 80 "~/Notes/Work" = { 69 81 id = "gkcpi-lubwx"; 70 82 label = "Notes/Work"; 71 83 type = "sendreceive"; 72 84 versioning = trashVersioning; 73 - devices = allDevices; 85 + devices = computers ++ laptops ++ phones ++ servers; 74 86 }; 75 87 "~/.steam/steam/userdata/85204334/config/grid" = { 76 88 id = "steam-custom-icons"; 77 89 label = "Steam/Custom Icons"; 78 90 type = "sendreceive"; 79 91 versioning = null; 80 - devices = computers ++ servers; 92 + devices = computers ++ gaming ++ servers; 81 93 }; 82 94 }; 83 95 devices = { ··· 94 106 server.id = "X5LHXQ6-NOCD2NO-RQ7FPLO-WFLLFRE-5BTTVL6-XLH3DAV-4ZIYI47-EEOVYAK"; 95 107 server.name = "Server"; 96 108 steamdeck.id = "OBZRWRW-B7DYVZC-RL5JV3D-6YNWG4O-MAIN2GY-KTEBY6V-DWQK36S-5E2O7AB"; 97 - steamdeck.name = "Steam Deck"; 109 + steamdeck.name = "Steam Deck (deprecated)"; 110 + steamdeck-standalone.id = "ZVNIWFX-XW3IKJH-VP33OHM-32YKAOZ-CGXRC7E-ZTA2IUP-QLXL6GY-PP5QYQS"; 111 + steamdeck-standalone.name = "Steam Deck"; 98 112 }; 99 113 }; 100 114 }; 101 115 102 116 home.packages = [syncthingtray]; 103 - systemd.user.services.syncthingtray = { 104 - Service.ExecStart = lib.mkForce (pkgs.writeShellScript "syncthingtray-wait" '' 105 - ${syncthingtray}/bin/syncthingtray --wait 106 - ''); 107 - }; 108 117 }; 109 118 }
+1 -1
nix/nixos/modules/networking/default.nix
··· 18 18 }; 19 19 20 20 config = lib.mkIf cfg.enable { 21 - my.networking.tailscale.advertise.tags = lib.optionalAttrs cfg.trusted ["trusted"]; 21 + my.networking.tailscale.advertise.tags = lib.mkIf cfg.trusted ["trusted"]; 22 22 23 23 networking = { 24 24 enableIPv6 = cfg.ipv6.enable;
+4 -1
nix/nixos/profiles/formfactor/desktop.nix
··· 27 27 28 28 boot.kernelPackages = pkgs.linuxPackages_zen; 29 29 30 - hardware.keyboard.qmk.enable = true; 30 + hardware.keyboard.qmk = { 31 + enable = true; 32 + keychronSupport = true; 33 + }; 31 34 32 35 networking.firewall.allowedTCPPorts = [5900]; # Default VNC port 33 36
+8
secrets/.rekeyed/desktop/245d14f9b33d2013e1325b9d3b773d53-syncthing-password.age
··· 1 + age-encryption.org/v1 2 + -> ssh-ed25519 NQ2aOg IeAIWyWOOmAblvM65Os6PbUn7JQebp0v1s3+FOkqeVw 3 + kQCp9kRsoFe153KWnKDBrKFoVJ//C5a8yoqY5ipRU2s 4 + -> #l?J*IqA-grease F/L , 5 + vM8RMXRQCEOsWQowZ2VF5wEO7hybEcmKDDzlL363RH+u+kXehjbaM4IwQzuNQVkM 6 + K3vn3tGLjiV1xI7wVyrK92rHOLrfZDOzvSQ53vF75PX+ZxFcU7U 7 + --- RLV4Fwa0cIW/9+SzHUmYwlld9dKYpmaTot4LehUv7mI 8 + 5޶��z�w���)�TA�������ȿ�sl���5` 4]����v�tV���sOf�K15��,L�8:��F,���hW)
+8
secrets/.rekeyed/laptop/1222904a4a21d6fccc93bc7378286084-syncthing-password.age
··· 1 + age-encryption.org/v1 2 + -> ssh-ed25519 9M20hg WJr6FVrsOqK2YeqmUCOMaoNyfaz3opDZGr4fUe59G3g 3 + F6rj/HwNlRjTnrsJ+C9BKHfyOYa4mh7pvWxUi5R0abs 4 + -> R-grease "._`: _kI 5 + F/p9wX8SmIS+ztKX0A7/2FSTMuYWfhynCV4LP3tx0V7VQoocXrZJS0rgbC2aNX1K 6 + wVzyrFsJgQbol36ekJSmC4FqLDXNntMFu8SWhdJ71KBt7Q 7 + --- hFE3GhFYNL83uu5Yx7dHw6zDCTKtjrKcu4xp966aQF0 8 + @���А�&m�M�{s��e!�+P`1�UR5P$ﶨI�-p�:����p�D�.-!asQ���r�qB����1��y��U���
+8
secrets/.rekeyed/raspberrypi/7902f939e98fdccc580c593406a2d38f-syncthing-password.age
··· 1 + age-encryption.org/v1 2 + -> ssh-ed25519 7Q9N6w uMiIXAhTtoEXJ/1tt7bNm/LV9DhLJMilPSI7nxPrICQ 3 + QI0QgvocW6o6kMY01T1D29Zh+OFIpOrRzr3CZOXQDm4 4 + -> J6Cj7S]-grease 5 + WPMjVuiMRReYLa69UA/fSKzRABnJYaipvEoQuxBoLemaZCbkAPO2zZYx2Q 6 + --- JirRdIKLlcpBpUufHCgC6bnRUJDZfjFvQcEcWaejAyQ 7 + �m����F*ƫ�\g�RwV����n.�o���_>o� bw, 8 + ;a��9ˋ��)��'h�GA�3���g�g"�/�h��g�D��
+10
secrets/syncthing-password.age
··· 1 + age-encryption.org/v1 2 + -> piv-p256 0D9K1g Ao00fXqwx3vxCn+VskRrpSer3sT8ed2aiNoiooEVNVqP 3 + uC8mK6g1I2QE+Zj92/jn5kD0+9VNKg7UTST/E/XCDSg 4 + -> piv-p256 4lCx1w A02H5q4G7uXPmoZERSsEuKeSlIsVUxusUXOPdE0805kS 5 + yRSkicsrQEfIfnMX/mkhLqYrCqS+xXilHedTYCI4FgY 6 + -> 'm."i-b-grease 7 + 92J/WKw85k082ffRnA0h7UM/c4a648/wjrnVISW4ITWn7oT772UmS38EsKAO/g 8 + --- LtsGHyzuFcYqAVFJ0PR56yxn7X1VUD0QoBzdoYD7NfU 9 + ��1Ff1�r8q�c̎i���Lj�'k 1� ��h� 10 + �M]ȯg�P�#��\Vt�vyƝ�u̠a�Ca��}ǃp�N�