From 3bf278cef4af4839de0b266ecf7f0f6ea6daeaa5 Mon Sep 17 00:00:00 2001 From: Kopatz <7265381+Kropatz@users.noreply.github.com> Date: Mon, 2 Jun 2025 15:08:38 +0200 Subject: [PATCH] fix xrdp, add vpn vm --- flake.lock | 17 ++++ flake.nix | 8 ++ home-manager/nixvim/default.nix | 6 +- modules/default.nix | 2 + modules/hardware/amd-gpu.nix | 10 ++- modules/misc/default.nix | 1 + modules/misc/nixvim.nix | 6 ++ modules/services/wireguard.nix | 15 +++- overlays.nix | 4 + secrets/adminarea.age | Bin 394 -> 394 bytes secrets/binary-cache.age | 13 +-- secrets/coturn-secret.age | 21 +++-- secrets/duckdns.age | 20 ++--- secrets/fileshelter-conf.age | Bin 2879 -> 2879 bytes secrets/github-runner-pw.age | Bin 616 -> 616 bytes secrets/github-runner-token.age | Bin 636 -> 636 bytes secrets/grafana-contact-points.age | Bin 914 -> 914 bytes secrets/kavita.age | Bin 631 -> 631 bytes secrets/matrix-registration.age | 23 +++--- secrets/nextcloud-admin.age | Bin 595 -> 595 bytes secrets/nextcloud-cert.age | Bin 1840 -> 1840 bytes secrets/nextcloud-key.age | Bin 2246 -> 2246 bytes secrets/paperless.age | Bin 596 -> 596 bytes secrets/plausible-admin.age | Bin 384 -> 384 bytes secrets/plausible-keybase.age | Bin 411 -> 411 bytes secrets/radicale.age | Bin 500 -> 500 bytes secrets/restic-gdrive.age | Bin 1030 -> 1030 bytes secrets/restic-pw.age | 20 ++--- secrets/restic-s3.age | 20 ++--- secrets/secrets.nix | 2 + secrets/stash-auth.age | Bin 608 -> 608 bytes secrets/step-ca-key.age | Bin 856 -> 856 bytes secrets/step-ca-pw.age | 21 +++-- secrets/webhook.age | Bin 785 -> 785 bytes secrets/wireguard-client.age | Bin 367 -> 367 bytes secrets/wireguard-evo-vpn.age | 8 ++ secrets/wireguard-private.age | 20 ++--- systems/amd-server-vpn-vm/configuration.nix | 83 ++++++++++++++++++++ systems/amd-server-vpn-vm/disk-config.nix | 38 +++++++++ systems/amd-server-vpn-vm/hardware.nix | 28 +++++++ systems/laptop/configuration.nix | 1 + systems/pc/configuration.nix | 8 +- 42 files changed, 306 insertions(+), 89 deletions(-) create mode 100644 modules/misc/nixvim.nix create mode 100644 secrets/wireguard-evo-vpn.age create mode 100644 systems/amd-server-vpn-vm/configuration.nix create mode 100644 systems/amd-server-vpn-vm/disk-config.nix create mode 100644 systems/amd-server-vpn-vm/hardware.nix diff --git a/flake.lock b/flake.lock index ecb892f..83b9d80 100644 --- a/flake.lock +++ b/flake.lock @@ -797,6 +797,22 @@ "type": "github" } }, + "nixpkgs-working-xrdp": { + "locked": { + "lastModified": 1748395176, + "narHash": "sha256-mkXRJlVaWUwRzWPiswA6gGnXno2wzDrHsTGLMknK8ck=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "af3da081316501d9744dbb4d988fafcdda2bf6cb", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "af3da081316501d9744dbb4d988fafcdda2bf6cb", + "type": "github" + } + }, "nixvim": { "inputs": { "flake-parts": "flake-parts", @@ -945,6 +961,7 @@ "nixos-hardware": "nixos-hardware", "nixpkgs": "nixpkgs", "nixpkgs-unstable": "nixpkgs-unstable", + "nixpkgs-working-xrdp": "nixpkgs-working-xrdp", "nixvim": "nixvim", "nur": "nur", "quickshell": "quickshell", diff --git a/flake.nix b/flake.nix index 924d201..ead48aa 100644 --- a/flake.nix +++ b/flake.nix @@ -26,6 +26,7 @@ url = "github:nix-community/home-manager/master"; inputs.nixpkgs.follows = "nixpkgs-unstable"; }; + nixpkgs-working-xrdp.url = "github:NixOS/nixpkgs/af3da081316501d9744dbb4d988fafcdda2bf6cb"; # cosmic testing #nixos-cosmic = { # url = "github:lilyinstarlight/nixos-cosmic"; @@ -160,6 +161,13 @@ "amd-server" = mkHost { modules = [ ./users/kopatz ./systems/amd-server/configuration.nix ]; }; + "amd-server-vpn-vm" = mkHost { + modules = [ + ./users/anon + ./systems/amd-server-vpn-vm/configuration.nix + disko.nixosModules.disko + ]; + }; # build vm -> nixos-rebuild build-vm --flake .#vm "vm" = mkHost { modules = [ ./users/vm ./systems/vm/configuration.nix ]; }; diff --git a/home-manager/nixvim/default.nix b/home-manager/nixvim/default.nix index 9179dba..98b8f48 100644 --- a/home-manager/nixvim/default.nix +++ b/home-manager/nixvim/default.nix @@ -1,12 +1,15 @@ -{ lib, pkgs, ... }: +{ lib, pkgs, osConfig, ... }: # https://nix-community.github.io/nixvim/NeovimOptions/index.html let + cfg = osConfig.custom.nixvimPlugins; args = { inherit lib pkgs; }; importFile = file: let config = import file; in if builtins.isFunction config then config args else config; configs = map importFile [ + ./config.nix + ] ++ lib.optionals cfg [ ./auto-pairs.nix ./autosave.nix ./blankline.nix @@ -26,7 +29,6 @@ let ./trouble.nix ./which_key.nix ./wilder.nix - ./config.nix ]; merged = builtins.foldl' (acc: elem: lib.recursiveUpdate acc elem) { } configs; diff --git a/modules/default.nix b/modules/default.nix index 36b72fc..8165959 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -13,6 +13,8 @@ # Set your time zone. time.timeZone = "Europe/Vienna"; + services.speechd.enable = false; + # Select internationalisation properties. i18n = { defaultLocale = "en_US.UTF-8"; diff --git a/modules/hardware/amd-gpu.nix b/modules/hardware/amd-gpu.nix index fc1ad84..50cee6d 100644 --- a/modules/hardware/amd-gpu.nix +++ b/modules/hardware/amd-gpu.nix @@ -3,12 +3,13 @@ let cfg = config.custom.hardware.amd-gpu; in { options.custom.hardware.amd-gpu = { enable = lib.mkEnableOption "Enables amd gpus"; + overdrive = lib.mkEnableOption "Enables overdrive"; rocm.enable = lib.mkEnableOption "Enables rocm"; }; config = lib.mkIf cfg.enable { - boot.kernelParams = + boot.kernelParams = lib.mkIf cfg.overdrive [ "amdgpu.ppfeaturemask=0xfff7ffff" "split_lock_detect=off" ]; hardware.graphics = { @@ -21,16 +22,17 @@ in { services.xserver.videoDrivers = [ "amdgpu" ]; # controller (overclock, undervolt, fan curves) environment.systemPackages = with pkgs; [ - lact nvtopPackages.amd amdgpu_top ] ++ lib.optionals cfg.rocm.enable [ clinfo rocmPackages.rocminfo + ] ++ lib.optionals cfg.overdrive [ + lact ]; systemd = { - packages = with pkgs; [ lact ]; - services.lactd.wantedBy = [ "multi-user.target" ]; + packages = lib.mkIf cfg.overdrive (with pkgs; [ lact ]); + services.lactd.wantedBy = lib.mkIf cfg.overdrive [ "multi-user.target" ]; #rocm tmpfiles.rules = let diff --git a/modules/misc/default.nix b/modules/misc/default.nix index 0c8cc3c..e12a008 100644 --- a/modules/misc/default.nix +++ b/modules/misc/default.nix @@ -13,5 +13,6 @@ ./virt-manager.nix ./wireshark.nix ./podman.nix + ./nixvim.nix ]; } diff --git a/modules/misc/nixvim.nix b/modules/misc/nixvim.nix new file mode 100644 index 0000000..abe0d78 --- /dev/null +++ b/modules/misc/nixvim.nix @@ -0,0 +1,6 @@ +{ lib, config, pkgs, inputs, ... }: +with lib; +let cfg = config.custom.nixvimPlugins; +in { + options.custom.nixvimPlugins = mkEnableOption "Enables nixvim plugins"; +} diff --git a/modules/services/wireguard.nix b/modules/services/wireguard.nix index 4f8de8b..c657347 100644 --- a/modules/services/wireguard.nix +++ b/modules/services/wireguard.nix @@ -11,6 +11,16 @@ in type = types.str; description = "ipv4 address"; }; + secretFile = mkOption { + type = types.path; + default = ../../secrets/wireguard-private.age; + description = "agenix secret file for wireguard"; + }; + externalInterface = mkOption { + type = types.str; + default = "eth0"; + description = "external interface"; + }; }; config = let @@ -19,11 +29,11 @@ in lib.mkIf cfg.enable { age.secrets.wireguard-private = { - file = ../../secrets/wireguard-private.age; + file = cfg.secretFile; }; networking.nat.enable = true; - networking.nat.externalInterface = "eth0"; + networking.nat.externalInterface = cfg.externalInterface; networking.nat.internalInterfaces = [ "wg0" ]; networking.firewall.allowedUDPPorts = [ 51820 ]; @@ -35,6 +45,7 @@ in "${wireguardIp}/24" ]; peers = [ + #pc { allowedIPs = [ "192.168.2.2/32" diff --git a/overlays.nix b/overlays.nix index 697f65a..4c8cee3 100644 --- a/overlays.nix +++ b/overlays.nix @@ -26,6 +26,10 @@ in hash = "sha256-a4lbeuXEHDMDko8wte7jUdJ0yUcjfq3UPQAuSiz1UQU="; }; }; + xrdp = (import inputs.nixpkgs-working-xrdp { + system = "x86_64-linux"; + config.allowUnfree = true; + }).xrdp; #hyprland = # inputs.hyprland.packages.${prev.stdenv.hostPlatform.system}.hyprland; diff --git a/secrets/adminarea.age b/secrets/adminarea.age index 783b949f0ff4e64c283edac38c6e8661231245d5..3ee1b8bbb6ea48edeaea688627086f338173a895 100644 GIT binary patch delta 359 zcmeBT?qZ&xQ}3Q=l5UVuR#B9d;*nk)<*yx5Y2=!l>6%m;9A2a!8ENihlv5TE>|1OU z$yJnOo@(xyYnoh;UTRXAR8r~~W|nUlS>WxQRc2srRp=j9oLKDT;c8;yn4Vo#QtxBwSYhdB6cQDlSY;lbnv-oF zmKSDO;9s82l^jx>Zc(D|T2*Z5o*HhMm}}`=>}u?9YV45};$h@hlpmHHnd$H6lw20d zrK_u}kmMHV;}=#I=#gGko{<&mSLl@z?iXp~sxW)YkkSyX6fWat)Z;#g|HHUBWD zrb_NR%Y+jTH%A#KU7P*-WFO0s+o^6|o~D*P&y8ZV=fX<}O9?(OK7p66#)lpK+5>JgEWmt5&$P;6dm?i(EFVdCx- z%9Ui6pYKx=Ws#j8t{qhBZ4sDNT;QLa?O&AUpI#PenjNlP`aXm10ornVncz5tZjy5gM6gYUyHH=~tB(W)=|0Wy2@U zd^|5JCE=Bn+co`v=kIz|%U|8;6m?}@76X&Q#cQi0EHq}`n8MNU|8`gN>0P@NJ9T{R zCYPU&e%>M9RBC(Wg&oU@N?ny&uW--i(ssudm%Unl1Co~fx)`!U@L=fSg}3@lZiP*~ H==u==`yYn^ diff --git a/secrets/binary-cache.age b/secrets/binary-cache.age index 3dd5448..28f1b8a 100644 --- a/secrets/binary-cache.age +++ b/secrets/binary-cache.age @@ -1,7 +1,8 @@ age-encryption.org/v1 --> ssh-ed25519 DCzi1A LrkyZ8axOcdIB+uaATOmn785EzMzTvhujhcSxmBx8kE -E57IVdAOTIt1TWeyBYsHembim1YPKRxJYDQTNiPhIGI --> ssh-ed25519 lNJElA Y1jcFIXsCN0/s6xiLCLhQQhrc0N5Acpmv5K9xIYu42k -WrhmfkCpLL4e+QhFwFICeH5BZDUQOOk4WyFoYnGbcVU ---- LIVAI67ZG/+WLYki2A3HEmf6HMaLMZiAiDhgQYoWxdA ->cT{cR~\.k;$9m-s7>Z]ېI62 BԱ~0.-0}j݊0JeIaH(wƪjG4>FM.t bSÆ \ No newline at end of file +-> ssh-ed25519 DCzi1A J3I1vGqKxAesFi1z4us5N741PT1XQTHJId2ySEyLBRc +LpXNCN/Jwepmpb0vcX9wKpxuhZmaikAy2UVLa/DPLAg +-> ssh-ed25519 lNJElA KmftSH8+q5ACPz08PHATGlaXq8tJrxwWGuys092ZDGU +GeNEMWhfeP4Y/yd4WVpdCCnT7Qjv/jN6jPkcj1J2bdE +--- 0jeS9BIt6KHyJ7SEMFEfzUNxWtNg1MPmBb0TeHwq7e0 + ^Z]-kd\PF͟( 5nޅ$RȁݾszL[|a::ws1H + zI2,#~BUhdC "+a;֦ *1s \ No newline at end of file diff --git a/secrets/coturn-secret.age b/secrets/coturn-secret.age index bd6b5bd..8446314 100644 --- a/secrets/coturn-secret.age +++ b/secrets/coturn-secret.age @@ -1,12 +1,11 @@ age-encryption.org/v1 --> ssh-ed25519 oDXHAQ sJuIJWUfIT5Blk4mb6eSMo0eQly28Xy1wUnghEbhgnY -R7beBV5lp8WqOug91OkUUPEONA/89THrYX8IAci/LN4 --> ssh-ed25519 xfrWcQ +7wyNNot4A03raXTENup6dLuPWTv9uWYFrHekmRpbmc -VEYHYLyAOykmfGcaxhMNPZT/0b4DKnp9HH33T+5kc70 --> ssh-ed25519 IV3DkQ iNOpEU6PKUT9Rc8CH89OLEGsAqR+gbZYME49cBQTZ2o -UY2oK6ORI5nzu1QFuACDzfvIUsPNk0x59mhySZb5lqQ --> ssh-ed25519 DCzi1A +GPlCex3iBiQIMPlf9qpUSb+hXUKGcvA5SD53Q3dMnY -AnOOf6Vqnk89U1bY10xozm3fFUMSJQgrHvMr8sG/Mqc ---- W1Pl8uCqAnPrOkqJ4Az73IHOVMLIQpPTfpwC3gjnNNw - !X"u*/{m=+\vH x2RRtq) --f;Z[XhN5+ydiraJ׆D~)w \ No newline at end of file +-> ssh-ed25519 oDXHAQ md93qHF2tja6ZywqmNky9L67zAEgHtJ7B8ORE4A2hwc +nFzNBMDTU/6sGfrgJxEQZXwZ7r39zAfsIOC3kzCTrbs +-> ssh-ed25519 xfrWcQ bNmEQKiIazuRzGyYBhSZxR//s2T9uus7bDOHgLMhz34 +Dh7l40NTjUyNy8vqYM6twMO4a9erD1/o2gi7rcKkPqE +-> ssh-ed25519 IV3DkQ AGc3GOCIT0NmgRpxJ1iazDFMwfy0zzXNMK/ajJNDCAE +lzCuKkmz1gv77OONOCA1XRyHFdoYEH/xb8wTEXmD8AE +-> ssh-ed25519 DCzi1A jZ/V67RlWWrZeCw6SvRs3jdeRYKH+w7HUqc2xqK+J0M +L7kGvI3DWfl6pZUwT+CpdhZK42Bca+cvxI+VjSGEdf8 +--- 1R5/Fg644vbiofzkVU1WK3vlXxirCfIrBprZ9Kt+DrQ +{*@OɒbL20{)@9?M?kq4laPC}@_NF6˾ aBvw!Ab \ No newline at end of file diff --git a/secrets/duckdns.age b/secrets/duckdns.age index d6858ca..9a06a6e 100644 --- a/secrets/duckdns.age +++ b/secrets/duckdns.age @@ -1,11 +1,11 @@ age-encryption.org/v1 --> ssh-ed25519 oDXHAQ KTTFsKXQfHVY+ZhdsNfC6kUnuEdNSlz9Z+TiisCLFkY -UEpAdS9bPcPjsAYzfxbN6ir5BqV07RWuOupaPU+7IPY --> ssh-ed25519 xfrWcQ mC3yi/OAqQH0epKWQqXBJUDgu8hQ/bJtOyi0qz6dkB0 -SrIKQABaoCouhsix3smMayrhM/2OJppTKenazJlah+I --> ssh-ed25519 IV3DkQ 7wZ3eoFc7TqIyGG4GHqanEkwqTTWDNUubgxIGfYm2jE -O7Us7B146qYwxE1oFU6VqL6XJ3AclFnSvgr3wBPXG1k --> ssh-ed25519 DCzi1A CIIjo9BNl/H2ZCRRhgw0dT6tasW/shVi6w/g9DFOamY -bislSvJ2UN521HDg9U7yHIXbi8KpV61XHuVk4qhgeH0 ---- Lh5SYKYZcCOEq66jW3H3uawATD+aNewkGWR2ePo+BLI -KScm;ѽ9I\@hViXE9%nTG=YY,=uLu.Lιu \ No newline at end of file +-> ssh-ed25519 oDXHAQ gbqR6JNoGpLB9glCUAnEdLjXfUD45FMAthMkx37UUic +XZI8xpza74wuMsPeMQmkYCtwQaZ33PuXKBzEPgVoApU +-> ssh-ed25519 xfrWcQ ufWZtiUYMsPHXR5dGFBkUeXMlChDp2QzqXpYLmQthxs +yALEGpBLzsvKET0Y4qyIIhDa0Ru/sv9At/H8HYC78IU +-> ssh-ed25519 IV3DkQ 78Hnme9NIQK6jdw+C/K6w/oeFEVoPcMZzPGN+oBW9lQ +9sLV0jWl76tIRO5k3ouIleEGAGZSI+Rjtk4ycsnPQSk +-> ssh-ed25519 DCzi1A 6aZVuCw15F/iUBJVs8EubOz6X1ydLSJATUKKLTnJjS4 +muCrYVglDqseh4ovq3d+JbugQNfnZiD4lmpCN90HNbs +--- WAl554L+ne3tInpHkPqSUo0r3ltUjweNCWMnLNq8H+4 +0*p+y7{zԧ:e|b '!JJ? P>>_>J [,N*@Z~ \ No newline at end of file diff --git a/secrets/fileshelter-conf.age b/secrets/fileshelter-conf.age index 05c8cbc4a83490df0af59abf56ce8c11b967d581..df04737dc4c17760ac2954bf95229fdf3c6b7fce 100644 GIT binary patch delta 2825 zcmdllwqI<5PJN(Bc40xflYwPGWpH3>PKL2%nzmHE!q3OkLVWIkAk;#sMB?aXL+6FGkhL$-M5tWf#rKzQ5 zRh9V>zUevc0omE9!P+JI1ui*3Ccfc*UPWQyIT7aNMX6rJjv0}Y;~B;4jRLcLTz&I= z4BQee{QM$4b6i97jGZ$A)1tCV+=|PK+{}WC-CV<*Ow%K|3aXM)B15urElNX-e98<< zTr*Ql@;p5aOpMA?0s;+_i}Z7f4crs+ih|0ybaizVii-^^9ZMqo+=DCw4NQ_pZnV--NLr?d$Xm^>bRo4?YVXnU$b4j%{5&9C`bMmcIJNuxl6pvAOH-Wd5;7JNaVB2VZlIGwZ99TNJ+jUXVCPVqZ^c=)V-s z${D*e6qU1m)_d2kR`%~my@1ZWz6kCjory2Yuu>X>?Cj`(~VyXEDpq%LiX*&Us@Hu2;A$fKoyOn%H=)aJf=mU-R8 zIbT-P$GLSezPuPRwOdN*XMl7zXHz%xh1|AZ2bQnBc5%MF(!BSD?&>owHg`OgY<IU`fcfD&#t)MxwCYMwC$aGg@*aMZ)Uq+x$}I9=6l^9 zb>_Qyj#=7%%@A=ynLU&qp$o@IQxmx1FT!CR_9KNZjTi-%)ff* zUc6mcVFJr%X(ib%CrzoW9WFc8bI4q~o9}u0y630XC#M-SU7F(`G;iFo?b1AEgO#T> z>P=5XzLYJ$GX03Ws&>8JLGuEw$RJ_vl$+mC3eMXn*dCGgyi)r2&E#VyxwhCtODW=r4i z6z%xhVm?1)X|X|3f#hBVgK7JpalZUgzwYIndItsFEt{64m2+`vJaw6P-+yzY*5gxJ z3QD#sZ(EDc`t*DPPip!nVN;V7vstTBLb4bo8|RB3SNbcHI;s0mzSr!>VO;e`W^a8b zbpDjswUSi@DTmKC)Sp<;rV;SgZ~oz_XT;BIS?zAsxiV=E*OnDb8DA##ab25e+Z&sB zbAoP8G*})J`QhCyMK=Vmpg z3Ez`W{ds%h%f0P^Zp`ask~CYmoqO|!DYtPvwqT-FZQT~n*We)6sliPa7m}4$J+N?{G^rMuYWx} zzC3N>8gr#N0-GnqCO?%mf4n8PL;1(yo?e0b|&K#lO>{cUxe?4pJ(I^$c z{Y6Wk^}gFZX+?IT!pr{Wie?u-{1G>4sQLD0vK&**?@3c9CH%4ds$JB2?!_PbFQzQZ z0yDZ*7t7WkjGTYw&V)Ax9@d$+U)`y16BT(Z*5kCHBHgHB%YlVevyGp$c^~im!s}HT zJn7Z@g?&#vg9R1VJAc}kw~s%malv0x$?J8t&Z~W^zb*-pOZxA1+5V4$RKAvg`2XoD z4(x9el$gD;U$pD+XKjD#Z`|0MdGo42!-eba5&OGeWEn+s|IF?*u(S3K+9SARs|$lg zz52}E%XbS@b#iBySU;5yk(sr1ScG__v)yhbbpiKtG31qZjP1t3QG2|3)pU7Ho3h)zVgVNA1lmH{5qc0^Exi9 zsB3bk=wiEPk|r;rKNmBFB)NT^BB@%lmCMC`uSc-mjB^Y@+quxa<_OOG?G9tX=Y}6X zvK}Su{+`;b<0b#o>)I3xjcB8n_3SgPp7JgGba&_8zxJ8x?9u=ESBSl8$}koA8}>)^ zx4=!ChYO#)-XnDO)*iXS^DYeOT2tGFO#9bQ5B@yU_hrxCiSMU63dVi*_W3bkYRO`b zbVa*vkM)&CC*}6DpUqxmXQaV?tm4JLOlb@2^i_s_!q)HQ!q*-RnH;;;pIb%YQ(j!m zfj^U*H+|&sS~O+v|5o=87Ad?NINLNf%=|25#C!IX)~T)kA6^P>TC)8Nvv#$^6Ru<( yjn@6YueeU1d?o+8{qyZS&jl^@S36j^KK-~OaOnoKT>D8+T-0BmWL?^x_!0n4YcfCp delta 2825 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 delta 544 zcmaFC@`7c8PJOnoqf@27cY3(9QGQ5Zc4BE#L9UaNdw_+xdr_o`zF}5Ko}qt%YjHuQ z0av1PaYSxKetv0cl8IkIl9zd*qhEGaa#gvzg{ikerlYTytEqWliARWGHkYoQLUD11 zZfc5=si~o*LPc6pcygeEpMJ2BM?pr8t6!dfcD}E#w_9LNrhi6WNv3vCx^{6;qG5h& zQBhD)sd112S7?z_m{ERNP@-d4VNPIfK~|c1lB097n^9sxr9r7-eokqWWt5pwWVVOn z#E;_PVI>g}COILMfkDREC6PI4h1rg&&ZTKCCE?-W`p#MDd5QiJ2Ku4yscxZM21y>q zk(pUp?%_d+Zh;n_`T^yo1&&e1#>T#70p5Yh=^3TY$!6Mxc`2@w;~B;46U`$Gv;E5) z4I|8p+#(W7B203NT|E5q+?_Hi3R6to1AKEljj}DXN+XK7BAv~=j2#1$GMvjZGR-se zBMgHA(~}I!iVBJ%d>r!~)521GoXhirvoZs@baizVvh)3n3{nHLLrk3tGR?AmGCdPb zQp2+SjJ3;h^n)BN4XbjCjRJzx4RTV-xg_U$eQ(>g@SXh>rS&~;G|The#ZA(_?A9nH z;1D~5H*+?Zfa=rb=D&NSwSV~6@}$#CWVEe`Nd(`SrzGAxdCb3 zK_!K*7TH08rUsRj{+X5eUSWm4PDvI826_1z&Lu%n&e`S0p{Bl*;~B;4(~Xm~i_60j zD{`_cQyoil{k@aZ%u>R$l2Y;mEmN}6jGYrhauUmeBQnyt%8D~W0!#As%MCp}gFSOn zJyXj9tCIb^0>Vpzy$Vw-OFTSG{G);l^P)nzbaizVf?X;MBb=%nlOrRF-BQX6+?))| z%iK%S3M}&?stVlo!%V~KLk&_qA|u?AxxzNQ?4Ilyy!L*F!|CwQpewb1L->sU+G*$u zNG$o?TYG#>N-?kF@78RwNhS8ihu20PcC?kPW9I#`(6pYRX5Yj7H?A+AdD&{OoVm1M zncVmPIWlKfHfKEP$|w_ delta 565 zcmeyv@`q)DPQ7b(ZlZrmg;$xcS8h_iL9uyMWRO!qP;OS4n_qBfMwvyPYkHP>ew9I< zFPE#EL1|ccd7w){dY*xSNttDde^5cOfwO*IT99*vnWuNEWx1z;cSK2{Czr0BLUD11 zZfc5=si~o*LPc6pcygeEyJfPmdrFmuUzJmlN4~pTnOl`ph?jR{NkoKqnz^rAYNT0F zprN^^SC*46mqD7PSD24uc}9+LP=tPolZ#zTr8> z;pUER6=r^c6{h;Bsm7iKseUP8#l=uQJoWjk^Lh}PlJdE?aJS#o9lESD-%uiOCnvlbaizV{L2EXOfsA*!U|m+^9N`1A>C;O&oJP5<|?gxf;3s_<7jwePk$|lDXl;JNxr5c~5_yb74c0{pfp0T63c5;4Zut|zr zAeUpZSCCn;d0u{IUY@^Ox@CcWk+)NlnTe5ynNhJpdU{ovyJ3_`REA}!374*&LUD11 zZfc5=si~o*LPc6pcygdZiobJ2n0K0!QB|&aa=K%BzMHmrXq1_gwnwhBm!VsxOHN5d zRfNA`K~RM+SCwOxOND-UrblIErnyU%QE-Z5iKUlEwnv0(S&@NnqOp%xp@E5)alWg? z#E;_PewG1QQC`_b8ODiuh2Bnno&n*m=|MS$&YteYMFEaJP662&9zjk~!5QUTrj@>F z-bTe1nW2v5DM{LvX{nB3C6*?cfk~k`5#cEo*##x~m4+b!&SfT(;~B;4qYP90jl;al z{M>TNoszZF%`K`D%aU`F&9#k6syu@{T$3%c%kzrDj9tsQf|HU>^CI#plOo(gUCJyi z^HTEM9KHNaaw?O20=x}81GA&beYNw9^izDfbaizVEV4tj3k}Nk-CQC=4a}1Ka|$BT zi;W6HOjAojBZG<}d<|UcgH0^+GlR_{xmqrD>Bk##-2eG4;jC**fTdD+{>#S>vzGmF zwR;p4U$Ri?p>I+3wM*vGvU8+QTv^N^v@D)KdxD-$O;+vl|E`KvdrJy-Br>WzRjb|n z1do-@?Qk}PC?zXl`3p4LJY}%4+H+kNlcVAg9unHYzURFPM<9dUR zgQr3tH|Z4V@o(S1*{$H@?bQGK3z?!e+X!-NrtpQbjV9>&WO{$q01D|eY+)*>9xZD z-r{Y4L-)=45d2c*Ug49JA4*)wn^Qig@+_WgBJ64_ap*?SzIA3QB^y-Tw)C_2{Mt6j zYDfOLXGvC?Ve)hL#F!^nzkS|&>jSIPv4+#3jIZJa%VN3CY4Yirzv(sgxhSG|Jz{0? pDSd?|m(>ri@4odXR_0`bBKu_D>uqc&g?6p}5gsmNdOmUDMgV-7P<8+S delta 845 zcmbQlK8byTPJNPbP(YSvmQ$LKwogh~c1C`Hn`>5RrH^Y)ihFs1zJEr3h^Mi;p=Ciu zI+wP)i9w)us+X}-SWs13n1QihzG-@5p>~9}m$|29NknF7m_?qKNmg2*374*&LUD11 zZfc5=si~o*LPc6pcygeEQA%h;R7JR{en_@~pKGP1lUqQUlVwtPdQOs$Q(;t;cVS9M zj-|PKwzgq9S6RA~aeioNv1^%^d#IZCrV*BD-cHV$K4sdu#X*&!9+p{|mLA3)o(8UY`G&<@mPPuG z+F6N)fdx@T&YoTwDG^4_L6wF6MmesD-dS12VW#=+Ufx;h`M!>m;~B;4O*7N{LVPSO z-3yFTB8o#(ecdb!EmBRw^8!+RjZ?!6!riKJ15Aq2!$Q)z{6kYCtD^kVER&NujmtAK^S$%j^_|nJjQu^ibaizVsv<1CON$J1i%Z;d4Gn{$f+91M zGBT1=a`TI_!&7n+jr_9fU5va#{9MCbxmF+85jxZS-t}IUq};C+3-r>|gKtis{^F76 zMZ29EE2h3#I;nW4z89r+{j`Qbw*rtn0aoL|}^)|T_97xMnT zoo&crufJf|(-rA2CM5mPGFE$dz;j|xwwN2|o!?tso@99TH*%U}sD7JR7f_#^{bSBN zPGjARMgLNRi{;E}eOAk+>ZMED85_Lh>%6~j@gdi#dfVo_eroY|L)^BS61HD@3FqCm zi!3|3M|@Fj=)yKjhimp`)k!U%XEYmcU-NW}r}AD)kJ{49A$b}+Y_Bc6Y%-7ahPrsJ z@vL*+);3qj;w_8C{M{$m#FRsGmokagpHhDC@^+BnVuhWPryN?%u}Se$I)lWockJ6X z$S6L0*&_R6%`3K97MG<>6Zh}mcX;ZyCh@{H>x0Xluw+jB?CZU?RZ3TD>%7EQf3`jP zDz?d6biui=GCoC>KKjQBX0vd%Ccf5xFm1QZ3?2JMOXILhF~Y^VhHu1<%};%OPrPVh py+EM?o3)7d8g^e1_JhF;F+2RZezoe`JpXywZBqI5h0y}p;Q$={Orih) diff --git a/secrets/kavita.age b/secrets/kavita.age index c27386f18e75cb57f7280b9b4d1b1a76afa4a8cd..e61b55d9e7df7e441da08766d96dbcb4683c2f0a 100644 GIT binary patch delta 560 zcmey)@||UZPQ6QUZbYy}W@e>fMQVAmc5#DS9)+!X;Oq&n1?}8ZlQCKNl8Yog?o00uUUvsSeA*Ad7)>XsduVNp>s;| z#E;_PUT&4H+NOoY<^g6!CP7tUN$I)S2Fazq<;gB#No5|1i59``x#=GSkb90?ea)N*zPF%+vfc%F@EZGTftzGrUVG z!-}eWGQ2&r)6*RN3Ubo@^YzUWGgAr!D=G}QbaizVQq%L(+%ki5vyHU9jl80aL$r+w zb8^Ey{4!iTjq?q?oQy;39Zi#~v`r&Ix$cQYHD}y;cEH|?S4z7;c(Hu+GSQy@yv=#zvRU>6^rYMw{c%!+7T4`jCsx B#=`&r delta 560 zcmey)@||UZPQ6h@lw&|yVX8^6WnMs#MV7f~nRaoGe`QvsX@yIbNl2)Ec|oCei9usCS7)p^uxlbGTtyl4qE^nZLQ0fuXOf1(&X!LUD11 zZfc5=si~o*LPc6pcygeEcTi?-RHCt8wsCfFQI=_Ns$05iZh>1sV5wn5p0T@OW=?>9 zK~!L|Us6Uomt%ofVpLXGzH?Hrsk4zsM5U9DOS*TSSDBN$L8^A4XOfq#H z#E;_P=0=fj#%7i21vyb(S!LzMZkfK$2Ik%wE@owx>8Tce!6xPvMTJ2|X-3&xrQR;4 zo>k5T!7e7QSyg3O#s0>5KG~kGDVENO72yQ|`iY*--iAKrMaH3%;~B;4UCTprgYtsY zolG-J3oG*c0t<4S0<-heor|N~{XD!(jMDtIJ@hL*95VvBA}u}rvpjMtO)6atjDjtS z(!D&)(>%*9qVl6meFB2CgG?&&0z(Q-P263%baizVoI}!!vqOzT%Dp2((?SijQ@vfx zy!^vmii-3j!ySWyyaL_p1I-Nc6HC)9xOA4DK50Gm*7-Fj131F|C%;NAYyYcoI$(=c z@*3&c+CS47{ZitLwOl4H(V1{(zghh4y1POZU$=^{pS3IF`i7#;BLQihKfGMnFYRu& za-a9#Hfhh~J33SPUMse^IwI!$-Fne#y-DQ$zu2 C=gc$! diff --git a/secrets/matrix-registration.age b/secrets/matrix-registration.age index d353eff..56b6b71 100644 --- a/secrets/matrix-registration.age +++ b/secrets/matrix-registration.age @@ -1,12 +1,13 @@ age-encryption.org/v1 --> ssh-ed25519 oDXHAQ LZnNv6OdgvEdrogYC1yQiFdu8OpI0RnX0F7esNimB30 -cWlVnYK4IxCQtA0FHeA4AmAY5EzdkshY3VV58zydFcQ --> ssh-ed25519 xfrWcQ hLs4PfX/g/hQaAeGlkQWxbWlk+Y6f+JzwsPFTpYYhHs -DdLSEuFxdAEX2hyM+DTKl7GxzJd6ZwlOZI7KD+lxcek --> ssh-ed25519 IV3DkQ PwXrK5LB0YzBDrSAo1SYtxUEslAnuPBncQbnaniE8i0 -6VZg/BTxiDACoFPy7uNIjydeauiktIAnvU2cHdMc+Yo --> ssh-ed25519 DCzi1A 4PRejuLL3Lk4GcV2Jxrp/7XYt3nJv9jwmVa+2pzVuFE -J4Nh0lPN8pELXQ0PHbM/uyfNhbm0JrcTc4IrsX/7lr8 ---- sNlrWTi0hCVj8woT52fTlj3fjl+RlVxfU12bg3dZ0co -O=?khCRM]SɿNCLTR/ :a1iyo즄0+U|"y:7bwH^jr:B i0B`[XN`ZB ޽q-e -T?*OWI.<>pZhD%ԖoJ.%tZ&baB\׉2zxU~sq&MAoi \ No newline at end of file +-> ssh-ed25519 oDXHAQ atKuhdRrHGOxTZMSyHCUr2DsrkYCbJSeKp4+WJgqOzs +eymYWsh3EzTrJjxf9hQj0uV4y5rm96kMOHpWYNrGpok +-> ssh-ed25519 xfrWcQ re158GOgNwc3TtwQqYRMIGFKIL3PH+nwbHa2VG4ltGU +0Twg+bQxg14FH1bZ5MeEQXl9NALNt9kxfnaW/UZ6BeI +-> ssh-ed25519 IV3DkQ 7an++FYt4n0VKJ5Ne454pKqoShyXu9mOcmT24Kpr2Rg +JufxZ0sWKZosVkaGn6WyvFDCPbKGqFhAVLkZN24I7iw +-> ssh-ed25519 DCzi1A lJxRwc28VmsdYFELukX4ud2bqryjJR9VD82CRZZR+VA +HlAmLsHaT3HcHAuuVnm2e13mVDoQig7hmrdarub48Ug +--- H/VWknmPK9GFkXYEmCSyHbW/sHD2KSnvzwovn7qAexY +h4gJ&S42dw&Ц҆~)>czIaeqx€Ihʊ?axB$]L! +5T]8KlX@(%qnU2kmU>6̏C sy obf +#?DߠMd:@hDpЦ4 @lζG# \ No newline at end of file diff --git a/secrets/nextcloud-admin.age b/secrets/nextcloud-admin.age index d06f85af82515d8134568183b9e440d88355a3df..080a253c47b564afd3882ac013dbb7ac635159d3 100644 GIT binary patch delta 523 zcmcc2a+zgCd46P6u3M%_c&>qdsd+$1dPY>R z1(%z-V_2DQWMy`caa5LxQ)G6Dca^WDabjqwYe`^|eo9nwQdXXSR8T-!K9{bYLUD11 zZfc5=si~o*LPc6pcygeEhqteBvA>B^sAHm2Kw4o^xm#&KQHG^QWRzuLVxDPcnNy-s zzN@)ecA8rxS3!_}cvgmmUyes=PFLsflSpN`X^gg_~hTKyXO* z#E;_P8D?1l;hqKVX(5h9-T}d8;lcin;VF5piDvqtp6&s~hN&K|LE0rHX^xRxLHRkA z$te}t#d)P++5RTl`sR^^LFPW@rHOe(5yj4?zFGN!M(JTjmHO$E;~B;4J+r-2Osm`q za|-;D!ZZ9zw8Pvj`~u8;%3WR4ahj%EH3+b5h*=oy<%tEh8#j zjD7Rd)66X^(_9Thi;}z|UBk;wJ&QB+bItR)baizVd_&Eg!`&^NG6RB>a=c6vLk&FK zGo#YCLvIFhbUDmm7x|g`WXHMOxd{wY zPqsYH6aQ%^YGeFMq*Fje`e=)xph@T%`P?^C%bu7<6rAbIvZ&MNO)(Z?np6@cpt*2I N-Xs6bg*_f`V*oy@v&{ei delta 523 zcmcc2a+zgb5)h6i@sO6hgZ0lc8Z^;L57iQXlbs#SE659VzEnDV6s<M_dVPvMCYnp#)X>M|npPy?%VWy9pi%+PdnSZiHK9{bYLUD11 zZfc5=si~o*LPc6pcygeES$3+kOR`UPh_-WxM^&grlADjKOS(^(L2#LqnM*}hs&Qp% zPIiz%W3Va;}Ggw?$E;v4?@XnPr|uL1<}?g?pljzlUL_c0^h7 z#E;_P+EI~ZMPW`RRYm&7h1t3Ot`14j>U$~#(BO~m3fJUQB?&dWl^q^;~B;4bITLGJe{*s zom?|bL!I)AlRTU=BSH$Zfuuq#sH_N}D%6pZ|IOL5@}H{FH((MBaRw P)i?Fa(Smo}o_%WoGRnF= diff --git a/secrets/nextcloud-cert.age b/secrets/nextcloud-cert.age index 89a10d71fc3b64c861f9e3b1f7432a9756154ee2..b1a9a245fa77a7bee7278a9e3b5d7fe2a08a7165 100644 GIT binary patch delta 1778 zcmdnMw}EehPQ7<%enp^(w^4S4e|frPrg4(DS9(-VYMNPizNb^TwxMHIpoKwJh-*Qn z30G29nwyK4Yo@njQJSfbzjnS)QKoiere#z_o^Oh2sJpX&MU+RexqC=qGMBEMLUD11 zZfc5=si~o*LPc6pcygeEp-EYAqHB^xa!RmAc!Xg{kXyO4v8$g+RX|=vwo|F8kGH?J zYe9H{vty7eSA=n3hGTe8pjob`n@MSvdx~~SxL4{!m+1{n0mgW(Lkxm&FRr%Uw*?xvDA*F>uC1Kftg+BgSi7AeSj#< zmKLtgCH{#aIgz2Ep(#1O1wQ)bMP8m!rRByE7Kz2~g>IF_+UCiV;~B;419G*aGTl8Y z!n~p?yeo2y%5%&TeG)4j%>sRMb0Q600?MP@-17W9ay^o{d~?E`y$rl_Qq#3l5>v9x zvqMaaO3mE-T_a60OcLEnviw{lj7r&y54a+X2 zhPXVeaeq{^;rff0%B*J+Ctu!aw=ZG-cL`oWAD%lgm+ID@*4tQL%JK|k8QJtR~ zUlzHvxN;k(tbDh_BIrmQ=pHBXKwywVFc}aNg ztN6+%K3h(5DR|uo?p+X9VP(y^eE!1QksE|sUx#>W{$S2^Qs>>x|LCrNe^K$yvN^)c z*TcgXH@*6O+duE8hlK%)<^g57_|_c0dcmN3OFkWzQf3k~ikY8&Bumlu;r61p!9j{A zTvO#gd`*^>*E;&(zq8)N9a~Ja^j&93obKQF`6b8J@Z{e87w<0bJ;4;Xah3v~$F6n% zoj+C`zg2VY7>6s@x0$)xrW-63C`r7nq`XrY@StZ9+WTPwk>0~ zPnzSLr0>!z947Q1ZC~lrKKcHoCxR*8<0N-KQq);~v9dn!!QZzYTUYFr-Xvyes{X`q zz9LJS`_uS0JNLi2_SiP|ZE8Q`*R6kN2?bUrb~xTMS{9`KpMm$UzA2Z{&H3+jZtzL^ zwu%=fOTPU3tN7iiymH-L`NmPXd5>m3J)cw++H{U%xqM!zz}rg0e$yh>Wp`MT|3o{! z?AHwXR~GQUbH%HI`k9&k_uS9uiSE6{-ca@bP^-(oO;27w7TI<8@84~UYTb{^O%T1% zcO^vR07sN))hmvBH(6hB9z1d0UByxESjmNDTWfCmu5){{eQU1$&K~zig_C|{tax-b z=iNqTC10)Dnvl>Pd;V~`5+xUZ4)AHC*=8y0Dr59|t*e&z4zQ#LHS9brS z4il*ZZtE&+d9U$)zWe&z`S};t`n+jB%yP-_HyYaG3vpkhWr?>$^wOk6has>{YsIi<)ZstH)-OW^xPVy?=K<<38VyvPZ`+ zm~^N#mMlnJx%9sJqnD-pOMb1GUdFzqKHX_xwbvZ+!DJ zn_9p5VNH5c&1=P2rx$xK@Al%)~Y7IsV6Q%{7b2Og_zf zW$k{}W#1{pjv&!06MEx+S8zl1x!$A5kK#ogEbzC$|03k6y}DT$!j|SmeUOvv8V~&GWmG9!r+lWp`)?x1Km8bNWu{E6Wh=by m7fY_bSIl#K;+q$mm#zoYpJA!InBBdjBKc|gw4>4zdprTpzBU5@ delta 1778 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 A^#A|> delta 2187 zcmX>mcua7DPQAXiw`)|kk8hxvr(bAAPHw3|SY}#Ecy^j+fqQ<5cD}EEX;yehM6O3r zF_(pRN^odOa(S}5g-3F@kwKuRcZy+(dr)emwr8QEYo)hiabl8*Q-*t?Czr0BLUD11 zZfc5=si~o*LPc6pcygeEN2F(@X@+ZAlDkoXx4CDkxm#gKX}(KEmcNg&Yp|Z~6?7ptKCTV4TC-yJ`S+bSJG(UJFrQlV`1$-=YhB6U_vQRk4zihSK5*?qm6OHKQYbB0&@A6t1u5-O_=KH4}3vfP@ z^*{6ZvZDrnVi)Y{T|cFCWvD=GQtOTQP4!kUnpUMB<~LS)U3A0OV)tpYrS{+E*xJu- z_iUQJrZQS-VZiTA?JDmQF4P-KT-RT8;89=Hhw_*_?y`BeidUR^@z3pGz&*vj!_|A) z*Gf+{o~~@(qroksHQ~3VJ2$($SG)TnX^GIX&DB}=)xO+5s$+WVn2PC&tL*=hXNDh* zoqAlc{(sl@sjuQD1v{4aZJE7LS98{fAit7Ue3%B@^#w2A463u;gA; z-d+0cH*1*3qB_;KY0u}%UJCf~q+X^xEpYXpbxrOoZ)DaV`)=yZsykyNkMIIp%lg&f z)@lZ47ia!2t36V}D>>6}(i;Zm;JMommi~EuHSgySy=S%S_AT|gyL{gC2Zy#_iOq{O+*~9b zyzau0SNt1Zt=^bA!?@n!-&Kjfm$ldW^{eS;Oq39{7t*PpFe$@M#rKSR{H}}z>c403 zH6Q&I^E>#z9MiIO&5ElwSz3FY(zqFR=&`~&g9mGWPUZN#&BAJt1d?wc;1Jo%0mBrr*7DEz99GRa-b8NQp^nd5ILsmD=Z@w3}wMIVJP> zo=N+=BJIrkv+^z6yk{I^h`F_>PHau5+^fYW%_>G=V?hky?;u%J?&8V z+4iMpOm0qNJ+mq|iM64#o#Vghdap^1O>?e2V7~MBTDR<*&&u+Z2g7Q1K3Og2XP)t) z^78+`nw`0~4jhbQeYq+%+1h9>XPH~fyStAc_(l6&iu~prw87x)f*zdTLcLZl zpIukK+e!KNRmN#W)&8nFPCw2>9@!=|U!2no%c`u z$@Z`61jDjf?@rehYerfv@Y1~G5M6&Gf!Fk1{IsZ`?j;%T_g@i=N)DLfClay7Y<8c( zmKRJ_T|9puCQ9sEA7v5yRYdyO74cnD1&TjUSe4CYB3QrRfWfOvzkX)bY+BY4t>WsW z@Nw6>Dbth|Et8#kgQ2@vxJ7-*U+#@MiH3s0+?N(`uW0>Pz~LO^c74W+l-^%!FSVVT zsZucal|2KOyt$3UQLA8XE|X6){eE`~+~MPp{&TVBJeP>T%bsVlNn45qpS}DVRr%|Z zS>uejCc}R5J1Y$j)vrGhqOYynTT>rdZ8Lq>QTrz!A3wcauqOJ;+S2PLhXR8CN~Ok_ z_VQiZShjV>wTn-78chmw5q%-iB-6S%rme*BX1&*ho5@ZJ@*nDjeV)Gyt-RJdW$)YW zsP9a5m1T_y>i5qqGX0sm%Bie#)8@-6Jq6K!J7WVb+-6;(d9&Agou_X7>$sW64IN*J zD{;B2o@tQ!l6a*L+%Mv0$n)hyX)(L(y^yENCw_AMIZ?t9vFHRE;j?bdbk5KzP)}9+r|KNMPI(YZ4q$m45`8KQln;Lp6 z#4OJ6PzvwbqI4ss`z$s$ABuIIem#AHar&9N8!ayX4$tl8?YndPRZ@^a@cX1L>;1nq zRQfMRrQa=FVIN%hLu7jEoE$OUJCQN=@si<=4)WC^n+;Sp)!KdAVQVIu<1>BQ0|0VK B>`(vz diff --git a/secrets/paperless.age b/secrets/paperless.age index f4a99bb21fe0a7872ed014df918825b0ff6d2a7e..830afeaef24b03a672fdc5b5074dfc40a946477b 100644 GIT binary patch delta 524 zcmcb@a)o7rPJKp6l)I;SnYpn`P-I$RRc=and2p_Op>Lk0iMwA}xTA52i-~EZv4w9$ zI#*S?Z;)kXRa8NlUwC0N1CfoPDE0ENkC+QrJJ95Kwy4xlxeAJnNymXM@dq; zn@>iPi({rImuHf5c}QN6p|+*Jn`eoIOJPt|N>XLGYkF2;wv$C@u#bCUfk|?hi?d_? z#E;_P=H3Qor5Uak?nznhB?iWsDS_^x6$K^1CYf%<`9WdfQF+FmZu;fkc?RWNh59iqndV z0+WiO47{ogyi6*5%c?wlTwStqqjE~M!;_1-baizVN~)Z4NKnl+66wPC7B`VQ6^PRDT$?FenE-l#Q~vaj=teez9F7mVP;{u z=|ze8rM`tB*-`2K1}-7FB?eKZ#TMqincn81IT6~f`hJ-a;V$`;;~B;4lQNRDi^@WB zD=Z!T!kq(+vrHT-Tmy6Sg9{^a-5pcPLoECfLz5%&b6qXCJd2YHe7%z#i=r~aj7&2^ zQ>&7V93#xKN;85z0}V{dy)(RAk}Az}oO80dbaizVN}~*l{R`X!jM5{Vl1eM1TwNV~ zvI`yks*;>a!Xx#aGb>HwjZIVhLW9E%xNZhCe7>|_HoMK+BXIe{I{6E-lI)uprao)v z3y6MaB5X6WZEa&p=fWd;3*YPwR`cnn$9`Q>?Kq(R<$9C)r}U41 Qy}qyD;<5QOlc%Q+09gpSp#T5? diff --git a/secrets/plausible-admin.age b/secrets/plausible-admin.age index 2d01cca02310702f1d16e37c342672f8060f9605..44d1df42470aaeb75f79365073b1d66adb325ebf 100644 GIT binary patch delta 349 zcmZo*ZeX6EQ*U5tP*RldqF?D5>|qq?ZdzrOnp5f;mXu|bVv^|PR#_AjRi18=;pGxo z%;lct8De0ZZdjEVQDN%g>Ko!^QEXaO8DO67o>^Yvnpd9ZXk!xAz=k6L%nCFz46B(G! zrK_u}P+@AS?c-#Un_8Y%oMRs0neXeBUm9glmRTHOXy6l(qhB0pQ4sExmhYL&)$o79 zl`H=QlEd5&+0TpI_961!B*A~BwZR=tr}a;_F5S9U>3;Fi-5x)GBuCgCeZu?7@1CUT xGKTJK!5;mC%WUKB{t#YpC)eWJ%_F~LlDzIrkgqAO;@oNZ{lIkD0u}F`CIIt~gggKM delta 349 zcmZo*ZeX6EQ*W4PmS2<|kn5eA?-JtgTw}nJm?vi9+P?%O2P*hb=;9?x09q8zv&82InP+Xj$ zo0?)|YHDby;No1BY3Qh6ZfWA~oKfbU73El(U1<{HTVGP-8sg!a8<7)gnc?kWm|x`U z?iuCnm>Lnum6Ye~X_Q?Q<(3ra?wxNKSX>$s>YEr{_1TmY*By9+Fh-mROn2 zrK_u}P+C|Ko^G7s?P_S8<`QZW=%1S7lV)0#W0X@C>f|3BUTRX{?_HH0<(w4BHB;=v zKjwpbE`%-ly0a&_JK*QSci)&am+-uwzW;OFs^4j|td8lQUcH9b^wIm67R|4oRj${9 yxq~zkm~WiRw@SMEc^BI|sfzmV36mSI`l-}-{JeYPr;X$C*r0X%+>^sk+ywwRIEF3& diff --git a/secrets/plausible-keybase.age b/secrets/plausible-keybase.age index 60fd598303d1e98c912a4e112566f6e751338fda..fe1a69706dc7d3bfe2f7f0d263181732eb4509b0 100644 GIT binary patch delta 376 zcmbQuJezrfPQ9^*v0G7uM^K`Ne?VwJL|Iv2N^W6}g|TavetL>Qx_?2smw#GVrm>}g zBUiACg-JnJPL-*naix(*N<>z6TAqoKsijL{QDv5!mtk;eiN0%YNx6@K1(&X!LUD11 zZfc5=si~o*f{SxirlF&PZ%ANSj+=3ApsQn5vWc;!M}1XMgr8}ihih3-rjv_vQFc*a zNP4PQZctt^S5``XL{*@BPFR&mNvVNheuhVmb7X{JrEjTud5C|8d1X?uf0!|xS!JJZ)kI$cUzaq=ZM%gNMVFSdwFn_M*Tkhpz4NA!NzgZpP~JmxIF zx!NmKjVJC(;JGeU!__-2oH-=QG=$opa7*(qcYXEYs;#Z)spGDjpKsr3?$02&N4hJ} ah~?YsSNpSWD~Pr8bIj^nUCQ&)x)K1J%8rTv delta 376 zcmbQuJezrfPJL8XfOBC`S*VGDN2QUmYf@pEX|R7%N@<~Gct%x9ikoqPPohgva$<6( z1y@v|Pn2b{e@<$CK$w1ki=UxoP`X)Zm3OI6adKHeq-(OPk9mZnSyHBPK9{bYLUD11 zZfc5=si~o*f{SxirlF%kNl{dmwxN4riE&DCiEpG?M179Ft6_mbMS59yc$$TQxxQ19 zfk9Drg?n&1S5%3Uca^@EOKNF_QF2wOxl_JJj(1u>VO~{AlDAn(QjUkOfoZyrNrszwdT5GgpucNwMP_a&*EN%! z{-15bXB8ImT_|32?^meWNu8OmgdYgV6VnVP=rFsi&KdX=q-s zD_4Z6pMRoI;S9+yUq-&9-uTzwfNpNz2TT-}wXjZ6q zQgNA2nQ>q_SCW^1ic7L*V5o0)nMHVog^!U*vWZt-MNUp=fvZ`Vkza8@L|&0&MV|A- z4-)kT?upsuZsld($$>fAIr+Yc!6{Lm6=kNSx%nX}mT5um<>8)=Zkc(-PU&2cg~|Du zp(!bDxn*AA7Foq^8Lk%jeqnCe0nP^DiJ{3pmSL4?MOBH#sexR&y1EKw`Q>Tlkv`!i z5vf_Jereiio}O85X~wRJY0ivEyFQC0fqcdyZj6QMk9izf);isi%IWc3x?AvR`DV zBUi3(YJO0qae9%bL0Xo6n2~|0V~9afiG^E1rHN@#nQN41nq`<%d0J7vE0?aFLUD11 zZfc5=si~o*LPc6pcygdZVNQULcAjaZzd=b!lA*J2s;gm$wqH(oPE?*@PI^_UL4iSr zyLqKqRBBixmzP_RTe!QQxwm0xrBj)ce|b)3X+@P`hOu#eietV-l}}`nVS1#CU!=vv z4-)lmmL9ojMx_}^Va1MtSuXjRxgJ4P1&&5}PKM>?S>~0lX~`x*;l`HQnXX)(u8E!* z{+8M9Ntr<@=D`J-9$^tK=^RwHN&k=ilagN)5(K4Z8xeR#? pK_8bMn)2qdYU(`U{7c5WjKyQO&k}G+(bc_m-+#s4{P_yfQ2>Y4oG}0Z diff --git a/secrets/restic-gdrive.age b/secrets/restic-gdrive.age index 0014d65bd5fcf677ee13fb5e5c26c9fabe4afc89..36e74e6f3f1e6bc791bd9516cd5d37c27e3b9388 100644 GIT binary patch delta 962 zcmZqUXycfmQy-X_s~?i->=aTM;ppXBWg70Lom^=e>68-@6q>1RSy7f$VOo*r7inJQ z$yMg$npNQ9>0{!Y=Tz=lk`-#0Y8aaBX_{-1S`ivvmgwtQ72+6bkg1=N&!uapP+Xj$ zo0?)|YHDbyP?1&?o*bx=AC80Rb1ek=9yC#W>n@^6y=f~;^mTDo*5Y!RGd~)>1Ys?lw{#qreEcnY~da` z@uPUSWmZl_MY@+)S!znIlVeU)aISxfi-&u5rB`xRd7_7gP;;KAMIjKu4c}CfA)U|P^xLfnUTk#Oi8!2b?#EW7!<)!*WHP?$?+^h5E z_QuBWi+iqc*YDkCy32mon=aQ|(Isp6jVeX*?mnGXUby4Cw(^Tx_l_#@U2u8(=)<|* z4VA!Nv<)+RG2w%#J+$TkZPSxLsa?F7@fP^6@FR*i9G~GM3+Tt$x-$?e^3Zi7)PH zQWAE48&~C7>D3q>(zwf)m+Cf$J>~S{p2PNcTSH?6e{rNAtm`!RA@HQ`)4W?NL;t@l zR*1TN&-R08-Yds@0aHcm3M7KJ8a$h1y_VD9`t4gbzH@$BJlb*8bH^3^);nu^z6srm z_^p;%|M2Mh;)_E1{|yi8$h2&151cIhcSBIhgyp|(X}HMBPl|KXwK{orR_<0?8{zQ( zl^4~173a@fKcUzND(0YBgJ-yba3q@K8! z)^h4=kJhxt8_Pp~ZTR!)i`LYr4Ktk{PK*@PPxeec$73y8n2C@0b~toDyDE>5*7mR25d@TxH=?mSGa*o|qBooorN684~4g!li4cP+Xj$ zo0?)|YHDbyP?1&?o*bwUQjwfu?CY6QTo|0@VwxBp=~ilyWgZq*RbpW1Q=XU_VO*A& zTduF|lUNzZl^R+QnV#e9l$;UfqhA=}mgSNim6+`t92snomz-GO8ReBONAp>dYNa1 zewBrpWmr;DL{6fqk#m)Qh?{XhU}$b|P`G1NGFQi_&_GA7h zPMol;P@iiu<0L`#ec|n1oLkgpo;z4DnJacmoNN9f_45-&6ZGVc*Lev)sW1KUHde{> zl|aR_BqrvYr{m<_PM2B77FFNpktZT^F*`BKsZG%T7LTQ#Ow6}kC*Jl}J7=A~n-Mwh zMtx~TVRg*e3L&GITEWAt{Hye57{3*3eaF&1)&BKiC$%!xV=s2zT4YiE;eP16J z+f0YRhfJ*p7A!w9JF}; z)B2PI-u4y2q9-m3-&*tKea9iH658hLFMM@1tNjltQM!4tb6eC z(&I2whL){N*O&daa+}g{RE4v({cypu)?e#FgWkCod}FKPeHS45w(wVJ+LZYAJJrEv z4<2-=-&p_fOs~yCujYRzPcC`&G{2*Y@3#TVzassmo0Kw&rO#lD@ diff --git a/secrets/restic-pw.age b/secrets/restic-pw.age index face242..cfabdaa 100644 --- a/secrets/restic-pw.age +++ b/secrets/restic-pw.age @@ -1,11 +1,11 @@ age-encryption.org/v1 --> ssh-ed25519 oDXHAQ MeblW5bvjNPWwGJfdZ8Miwrht79BUbHw0Jy0up1N4hw -4egfGFBxHU1FSk3LSNRR9A/pANR6nJ1CBLth/GzfwXQ --> ssh-ed25519 xfrWcQ ocBSkSDvN/RUnlnvJD4xB6C+a7RZUVWSpQzJDFL1WGc -n+90x0g0SJennwiFIthCpWeb9EFPmvopg16+tH1O98o --> ssh-ed25519 IV3DkQ CUmoMjOf+LwLQyi2yYiZUuMFjt6JhyGPVmICaZR+Ql0 -7DHpXnG7+f2SZDhI+7kLoDLMxPWPuyRKuvNrFyrjFhk --> ssh-ed25519 DCzi1A ZiGuuA3LOUyO7/7tWGczEfu633myZBQoZWqf5GySTh8 -qRZ/kc8o7dRW+vg2b1hl6rNouW6iObDKymglwePUkMk ---- s5II1ux/XZVfBGxBvKCsaD5jFiFrkzKIeQ+7fa57owA - X^7YR!jŋ3)2GڹZiօunb?t@zf!ڦՔ Hn \ No newline at end of file +-> ssh-ed25519 oDXHAQ 1ylRcikeS7eUVRpy/q5M+9+32zB5pt2GDLU6+3wHWyI +9VSg8kOE1g3IQvBnDwLvn0C8dOw4/xuPxxrqL+fDP3Q +-> ssh-ed25519 xfrWcQ cUWcTsQ+Y8NaxA73EBuh1+Dv2YeTJB112nlpbI9JkA0 +fp+vmBxZ5O/WxlXmKPqwMISGsgBKrAU9tUNpwUJWy8w +-> ssh-ed25519 IV3DkQ z7wy/ZXA1KvuYucY1EfDRWakBmcv7D+gwjENV7E5tlQ +9wovsEodoxREIHeTm7KT+OnbKxJnfrnZAdMrKu1Tf1I +-> ssh-ed25519 DCzi1A EGSWyT7CoUNR239LL9s0pumdWW/hWEAf9SwVKaVdODw +44DaSHhXr5UKDNtG7NIQjF2X1F708TNq9NAt2/fmnpg +--- qAqy+kI1hpPXgVB+qcNqsOD2BSBxLtWq9ovkhS0rlCU +~m5lֽzz.ncI{d%$AyC^Y.+YZZs(Ø;WFoTkrAS\9tS7 \ No newline at end of file diff --git a/secrets/restic-s3.age b/secrets/restic-s3.age index e69a089..d39af63 100644 --- a/secrets/restic-s3.age +++ b/secrets/restic-s3.age @@ -1,11 +1,11 @@ age-encryption.org/v1 --> ssh-ed25519 oDXHAQ XOzDNsdpRfXTbFAMh827HC8fpfbZlh3hLucRdC3BUkc -PpB9oNTwrMetQ0la8Jgamms2MB9jvu9026lsgmgMahk --> ssh-ed25519 xfrWcQ LEjVX7bulslggbRPYHZ9NSF8keYkftMCj9axmnAtWTY -Z/DVUfeHL8kc3RyK2wOxVL+KJ4Kl8k5w87aDcFq1IpQ --> ssh-ed25519 IV3DkQ TmMbexUGnFUk1bago4Jij9o8NSYnh1DH/V4bZTLmYV4 -nTh6jPMDNHa5ColIpaYEqrp6IwN5hbAhKz8R6zbLUZw --> ssh-ed25519 DCzi1A DlB+qSeuF/GbE+pjdLQv4cDxxf4ryihE0afur4qGWCw -JCiIrF0KsQ2LzbKGuBuEg9Exk2Uq3KJm5L2c6d2Aj7w ---- +CnD1rfpAvIzKfq1FBG4dUP9wmOWX/hG32Bco8xergg -KXHc,rJWdq/[FTOdGӋbJJe!2-\]{ZՒf[+s %k0r 39хn p 9z*!wT*([ \ No newline at end of file +-> ssh-ed25519 oDXHAQ lGy14/+xXt/TQPmXAsakWe19V7i4kI4fGQHQQIMpogc +8TuMI7xtWixvcHPpcH8y2kRkqpPnv22FlblEmstN4/A +-> ssh-ed25519 xfrWcQ 3WvjQXFU3bg2ygGS+E4mMoc9Ic/vQ4rvra8iGOWVTgc +VQPu9Mqm/HYxj8txWWCst4z9l2eRQ62XZ8avK+/dfn8 +-> ssh-ed25519 IV3DkQ oMYzLpfT7+j/P90OYV3/aNoQHW5L5yB7JKJV3HMyhgo +A3LUXmdGg0xJjmTASwtZiB0bNLZpxieh/MmVziHV7pQ +-> ssh-ed25519 DCzi1A R//TgPjbyySbrYIUkElsZWD2Lvk4jUHR5jVBPlRNO2s +yWavTPCdPwDrF75zH5cCqyqfFd3//558H8QpzIY5HFU +--- 8wCpCSaUTB4qXRoE4krnNy79SQTaKsxJolzw5kpCKoo +~ɼGHX509mob⦌k&5|kZq?,o𒃸 APR?VhV| !+&T(}%Ld=J偿E41Al.%/ \ No newline at end of file diff --git a/secrets/secrets.nix b/secrets/secrets.nix index 0293e48..f183ba3 100644 --- a/secrets/secrets.nix +++ b/secrets/secrets.nix @@ -6,6 +6,7 @@ let mini-pc-proxmox = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIP0kX32LfIOv8FDVvdp7lWesVvMGh5tj84nv7TkIR1cs root@mini-pc"; adam-site = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAfaIaKoNStnbfjB9cSJ9+PW0BVO3Uhh1uIbZA2CszDE root@nixos"; amd-server = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAII/t25OaQF020DZdew53gMFqoeHX1+g3um02mopke2eX root@nixos"; + amd-server-vpn-vm = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKkTbNz36z1gGbKp+7NyyTpMslXcFLX0tOrfJ/GQFn+g root@amd-server-vpn-vm"; users = [ kop ]; systems = [ mini-pc mini-pc-proxmox server laptop ]; in @@ -36,4 +37,5 @@ in "adminarea.age".publicKeys = [ adam-site kop ]; "radicale.age".publicKeys = [ mini-pc mini-pc-proxmox kop ]; "binary-cache.age".publicKeys = [ kop amd-server ]; + "wireguard-evo-vpn.age".publicKeys = [ kop amd-server-vpn-vm ]; } diff --git a/secrets/stash-auth.age b/secrets/stash-auth.age index ad3e73a3e775b815f526ec08e209ba00332b58ac..60d07cba24695ed176281f8ac8197e0830b51881 100644 GIT binary patch delta 536 zcmaFB@_=Q6PJLijvTvn%Qe~oPu1m5}gkwfjx@)pmXl0dAaGGUmpj%a5W{{y-VqjU8 zD_6Q%T9&r4he3&Dj;WhZNO*})Wnf-eSZQ&xTXtejc4}^AftRVPM`=i=BbTn7LUD11 zZfc5=si~o*LPc6pcygeES43g4rD%Pxub=bS7cH|l7~s; z#E;_PDR~}=MTX_tnSP<(1s=&BPUW77MPWf+24$H6mZecy5mm{~nFgLwNx=qO&H)w% z8BT7_Va_21md;-Ol~n;Q7N+G%zA05@1*S%pmC1?uZfRj*uD*_w;~B;4E#17rEwYM| z(kk*Y!y_GYJkoqh^36+w%9AqFDm=<9ay&|djRPw@(>+4DA}z|I{6buk%1S)V%nbF- zOSKIXy|p7uQ!9P^yqwa?L$jR>lJWwKJTiT`baizVN)7c>QoWsWJ$$__jIw6I!|#zMX;ls!V>o&R`v7~+wLje z-=M)#>iz8ggQXvGdKMqs{k(O{uS2Sp0keZ8%0nf-raGM5EtYcNu!MZh#OxVY0v8=} dPSZ2c*)OTdFf({M`>A&)HctPyeAU6e zGM8mxXsKUmlwVqYL|%YJo~fCmXSR!DaCx|XRbg7BNx4CKkWr+Gd%2gVFPE;JLUD11 zZfc5=si~o*LPc6pcygdZkak3whkHh%Ur9--sYPi-mRnVpv38=XUs-0VQ+PYo@N%=uAaH6MVSU%`Ic2x zPM&#Y5!!(sp{3qgo=HUo<}RtB1%?r3#g@6Qj^P&JDOH}Ho>|G0;~B;4Gs3G1DiggE ztMW23GMzKE-E+LW@;#DDTtb3844hm|6Z6xPU0idViXA<ECM`}ikylKqKsVJ z^U^%bBGXE9Q&JNBib5T|Eh~e~io#qHqkPM`baizVay^2}%gaN<4U_cCN`lf{D~yf( z3X8+^Q_Q^l{7qf_%zZMlv!XKnTs(42xO{#*+h-+Kbg<=BhsOkyid77Y${hRj9EJY< zIi7Ml>T_ADsN9^iAonG&C&jj1)Me(4<(px9J>$bxi{~e|=N;L>XE%F0%LTLIS*6M~ dtn6~uS8uAG`^(&P$d7#~!^F9@(~|oS006QBzPA7X diff --git a/secrets/step-ca-key.age b/secrets/step-ca-key.age index 4ee59f5e8d6c0158ca1ea2903263e624deec2c38..248e21e034ab60adc7a09696a19c61b62a9d8dc0 100644 GIT binary patch delta 786 zcmcb?c7tt#PQ9~nR&bC-wvnr^xj|T^SEX@9WnyGuNr6|mZ*HJtu)mvjuz_z$W>{2J zAeU)TL3){YRY9e(XH`ywiN1kFrKf*lN@99|UwWm!cTkn9p+Rs-nq`4cIhU@TLUD11 zZfc5=si~o*LPc6pcygdZaaKg6Wnf6LWqNpdXqbL(x|>gUeu=klMxwW=k$z!WrniMz zibrB*Rbgg1mtk0>vr}P(S7dgMiC3C&lvhrnt7ULVazTDXMN*1!ewcf1sBflcxqGF- z#E;_PPWk0U#Ri_v7VcH1kwM16`MJpk5q@r_xz4VI?ylzLQOVw=fgX-7xfR7+{$A#; zp&l;5xxrq+zNJZ#Q7OiW*}3lC&dEl_DQ<3_rG9SNQ5O0ho>`HT;~B;4y~Fb}b5k>Y zvrG#-D)XHylG4k}+$;?${Hy%a3bYFy13mQ3+>Da4&4Ti|41#l$GtFHM%POkU0<*(I zi#^IrQLwqVqbF+gCxFWXMI^-ltCw=Bx=_2>sDYW(PT4~mG3F&%T zZYc}BZ)CS?`iaibecP&(b9wrTqwD6b&e1SeJAFy!-Y$kE_uBl|NnGLG&bC;|ZQIrp z=4W?LeYxSyT>X!V%=Y``io|OE?EfyWy#Mn0-)9#c?m5Hk9Q(|ztHauDOG&-e-e0dn zT&8ubJYV;D2S4=K-yUgyP{EmUr0TesQiVX245tz`=p gW>1~_yLHcnl8<-t`0l>iYX6nTutWX1mA7L$0DM9@H2?qr delta 786 zcmcb?c7tt#PJNNNV`Ok{iJ@aqc38T3UWG+vZh44vN@-PENv3H@v6-WDhD%nVp>tJc zD3?=+XGKv(VOUT^sB?L-r-gUAV`R98tC^8gU{p$$^&6#_8^cd10<)PPs{LL6(s&X;o$x6 z-l^f92Ii3|CEm`S`ex->p{~j9hHg&ziBT0HrIs1tzAlNT2HC!o;~B;4%Pgv#%Y94I zOCrpJGE!XfLb9s-oHO%t0<#RF(z0@0DgrG^B9ct01d;-f&P1DK) z3j9O!BK_RV{5*W}48wvlT%9tVjZ3`E+zRu#baizV{0u6}1ByIC1H-iwOM_A){GAO_ z!YaeGDfOm2a-_qi$FKP|_X&sD{ zrmpI~fA#+VNR6l;bxBr<6Q`5}Ppf^K=&Qh@qI~|;yub>t4SH8D7~f&oR)25NBhPo- z3SWaPjvwONxbU&7wQ(bZM63MvU2igY1eEri_+-IsvAES*u+!k&E>I(M*fEa@pbUhpR8bHQXr z!D=^!?-6qZ#ryZ(y2y5A-jCBg%d2wpQs*c|n@xF|ww)(%T7H(cp3zPvZQp{v#k?tE z;Wyduo~r+#q4nGB-JYCj+zob9c(%tqo%F%FL1nr_CX?_@0O@%<0ssI2 diff --git a/secrets/step-ca-pw.age b/secrets/step-ca-pw.age index e593ea5..0ba53cb 100644 --- a/secrets/step-ca-pw.age +++ b/secrets/step-ca-pw.age @@ -1,12 +1,11 @@ age-encryption.org/v1 --> ssh-ed25519 oDXHAQ 2ymfFXvSKnGRgK3lYGpGjKSo2aHoc8pWRzyfr4wvAm0 -vr5pxY9w5wtzgv/UeQZLD7GWnrMtx/CYcdm9QKJqcBc --> ssh-ed25519 xfrWcQ fGCZ2z1IjkVbX7wvoHeXJdZ4BEnpSs+y7dirgWkWU0U -IhvYJJxfW7+v4rDZ7vCuNN/Wxihi3Q/svjnDkZqb/dQ --> ssh-ed25519 IV3DkQ 4oGxySHQjh8m0vUawi/wCTQXsvabLzV0z+KKLADkpDo -PydLpD7UwO6+r2JisXwSdJqIKcheRCBUGbeAhbrkKsc --> ssh-ed25519 DCzi1A dObjGBaWBiC8VFbFtKnicT9PB66fI69F2ZGpdyTl+20 -6yv8Jaee08k6KF2WJUPYYqtoe9JItZUvcjqEdYrxpDY ---- 5hzUeFAdm5Tag8G0OAtSCyE4d2uq0ZaBsLyF53oGuuo -[םK 쟵z[ -&C11V?˜Rjbj)H o"W3O \ No newline at end of file +-> ssh-ed25519 oDXHAQ p7LQlfq0mtdnmTJOvi6QQqAg/uCKAUWjdoVOgNcqn0g +Ka17+MWpb/MnZrV5HIwji54GffoeZC4ZFPzhCIxlrOw +-> ssh-ed25519 xfrWcQ Tc14rVFq5eAmbTtjNkIVdpOEBce4E8JChTznb8B6HCI +izYgC0YkqgUT/l82363MjBrDoQ0R+b5LHn7B3TglOK0 +-> ssh-ed25519 IV3DkQ qQ8DSh8+Gmy0hV8w76hR+GiABQv+OJkigA40QycPABg +tZnpWcEEVLqwpRpmHo/Skbc2/78dXM5Swwv6cSbitXs +-> ssh-ed25519 DCzi1A hTm67QVFyufZzbu7XZ2NxozPBVvOsN1UIi/8zBz+hiA +c0dCopDkZ0FgwHZ6b3H3uBJyVqvZGXtAU0TsZt/Zu8Y +--- Pp0HncaouK+xj2oF56aJ+UDanDokOEzeaZif9G4obT8 +d  *)ٮ7pjވ5ۭӗ?%*$xo@ YI@wHiHWI!iEBuBqOY5GL}rjzd6<8;r-z%Lr?F#bK9{bYLUD11 zZfc5=si~o*LPc6pcygdZflq*kyGyWzSEYrvzFTEjfm>OjTdGS)L3)9ur@2{)Wn!UU zX^Dwnfv<}NS4KvJlUrz%WvPjFvZb$Aa#^BDak!spxr?b!keh#%PeoQvk#l-QV77Ml z#E;_PdEWk^W;waq{#6m?6-KF98P2JOdHyC|Zc$}LLH_w^8TmzNo&lvrDS5tJd9FTL z25#oTslIOcmBsnx`Nd^H!LCuJVfl_}VcF%LSw6nbp#jF;W+twa;~B-n4NQy-+(X?f z{KB0wGJJEAa{^1!ytB=+eGB~b-3nZMj7r?R3o%`O}5Z3FsUpv3JNgFj7-Z2ORfqk zFs;fhH}j~>2`dfuv#?C(($&>f@HO$tbTRcV$U@;)CBlF4JB1w!Vqa+NbymN3 zRqE1*;$>ZvXI1-odTF+N(ptZl`NV@T&bZf~Pp+z!J*9snT)ZKyjMn{Sn?sh_V=NS>iVaadlse_~}>vAat}cv6^AYKCQ5uy$!;d8(6JD3`9CLUD11 zZfc5=si~o*LPc6pcygdZaj0jWWxBtkr)NM~R;qt-k(*nEc11x!NOqv3d%js%RB5oK zrD=)2XJ$k;m$#?0d8S)LPM~9Efw4h=Q)QHInOl-~xJO}RK)7F-hf`K*Xi`!{Nlt#~ z#E;_P1um&U=~d+(-ofdH*=6|=jsd}5AyLMqpIT;@M$^QD5DS;Vfsag44jw#`l zZn;i=MS1xJ9?pSLh6P>*-iCo$W~mtwAr)p7>E%KG7U4l9VSXl);~B-n^@H-mi?s`U z(~8{mlPXP}id~I;GXheB1D%`GqPPmv|V$vDfsEW!O0A0e5EaW9KE{SvbR|j kuIhR|yF~KUQeE5iYuENOoEDH;rJQy|+``EwOHN4(0DlnujsO4v diff --git a/secrets/wireguard-client.age b/secrets/wireguard-client.age index bd2f47ca0e4d38bebcfee95b7e1f3a86d8332f86..c463cb26582d24aeeb14c96fe8df5905148811b1 100644 GIT binary patch delta 332 zcmaFQ^qy&gPQ6cQPFZe#l$oVwl2LM%SxRcTL1K`TXGEBzZ=jE5u|cSLVxp@_x{IqtRER;bFPE;JLUD11 zZfc5=si~o*f}4MqNnyG|dajE>W>k7cPKI`Fl5e_kT79uao@IfvPkB;?vqxxTq^Wb2 zzK2_cM_!00SD3SprB}LJQe?KHv3a3yg^_lcZ=heIX=S#5WN>~&kiVNtRH>h*WpJ@9S8J)= z=U(5waM#Ow^&YlvK67y0rjAqFrmc_6F^iFyJ>jwKlZcHP`^D?UyZesMlb5!6a8_3> f#gyy)47K-6lhs3PxQiHHJJ>uhGn)RUs&Fp=F>ZF1 delta 332 zcmaFQ^qy&gPJKppvPHRsb8U|M@~snaCl&mk%duGD3`9CLUD11 zZfc5=si~o*f}4MqNnyG|X;DdWMntN2WpZ$YWngkdZoQYbTTp7Gp^IZsluv1{Uv65N zYo0-}XMUgwmxrfMVL(WtwqvkoNKk=WWN?s$w^5jnNq(Y7x}}9>pqGznMsT8AQA$-H zm#(g^LS~7PV{vkES(v+tNlJEJiC3C)X{C>eu|cwdxtT>+x_)GoV~Urvk!P+2*YAl^ zULqylHm(*gExmXAl#btD^&xqU)m7Io)4rB?O__G}X&|f4!($A0mFk?9?a`aHY}QRv f@1|3dzXdmW$?dY*d*!uNVREo+Oz*Ast!|qDt!#DB diff --git a/secrets/wireguard-evo-vpn.age b/secrets/wireguard-evo-vpn.age new file mode 100644 index 0000000..a8e1be4 --- /dev/null +++ b/secrets/wireguard-evo-vpn.age @@ -0,0 +1,8 @@ +age-encryption.org/v1 +-> ssh-ed25519 DCzi1A ik/pJSG40rFNR9Tde+Ud7RTuZwluC1za9SLrdnYyXDA +aBWqRH0pdPYolWVAovT2cdhZZlRCG5ZTQfBjgj5jW60 +-> ssh-ed25519 Jk07yA jOO5I3Om/NvHDCd28t5OFlxJK1UwZayRro7/0pXWGBQ +/LlY7KhwzkunIvrPJ7SqLvRDF6s3JM62SWqlczg+vHE +--- 9SY9UJ5hw7csiD+edUptxq/pPUQDuGv70mrDtVUURw4 +nc, \~9_^eD̼^٭k]A?`)a +WƼC#D \ No newline at end of file diff --git a/secrets/wireguard-private.age b/secrets/wireguard-private.age index 4d1bb71..776af79 100644 --- a/secrets/wireguard-private.age +++ b/secrets/wireguard-private.age @@ -1,11 +1,11 @@ age-encryption.org/v1 --> ssh-ed25519 oDXHAQ UN2WuFkB+D68fbdzOC0g6x1qPQnVg++ab1zQpULSWjk -eCezJvnuZYERwVsl3r0nsEF43Y+Jm48NWJzhMjgxZ/I --> ssh-ed25519 xfrWcQ MjbZTZcj3ldyD7CwAvWkj0GuiL0HL3vx/wV0y9/IYy4 -u3RvnnYKHyAT6INoGcpT26sL+EhLe4rZ3/mOSpkXFTA --> ssh-ed25519 IV3DkQ ftYKp8MC6n26hGxiT3QjVXptmvBQTKyi6oX0UJrbfFI -lL/C4ufi2vD/B+uLyGr8OLBx6TuF/KVvnkjRVSzGtcw --> ssh-ed25519 DCzi1A 9jKX67gvYP89v3u7Ir37EMDDXrTQTBzZOuObHrXxhG0 -KjB0/6x/9XgXiRNfPi1YZ7KtrvwZP3QIKluj1D7VDJY ---- dECyVdvzWEG1gBOC4YHSq3dK94vaImUSI5M5dXThx44 -ڻwsqB_xI Q{1t{`CPNCqQk:?}1w]/UE08U \ No newline at end of file +-> ssh-ed25519 oDXHAQ Vy8CxigwUtQAdsWMYpomw3YbIPme6yXQsdo1fYoqXGw +L3NqcGFzO/bQKYrbmBmWOkDepJok8hRtd2K6dTYf9S4 +-> ssh-ed25519 xfrWcQ BqURQhwqLCydbVM3wuTrsOTZ0sAL3pg5X/v1f5fxRFM +xoRTOk43HJTzy5TF3BRR0OYYqlefQGkCAKeKynJU8VU +-> ssh-ed25519 IV3DkQ r7VVeIGEWNDfymE4e5me2NP5BPH7TLwc5dcnm+DoekA +4XVxP4MWvozeG0ntYHWV9UDehjcXJ4Bu1lhoApOkwrc +-> ssh-ed25519 DCzi1A 6oWBmJxJN62ObPtTep+jgclv+G5Zsc1Tra7gU2T7I2s +g5jPynpMYnajsvHSOmCRebiFe6jzBZe2xSLwn1nKPc4 +--- CASVzuHoTiCtoCBtbhvZAynEFdWFfX8DYe+Y8dpzfO4 +S6V1=iMGx|^$eDO>\u!E]NNFf8}@~ \ No newline at end of file diff --git a/systems/amd-server-vpn-vm/configuration.nix b/systems/amd-server-vpn-vm/configuration.nix new file mode 100644 index 0000000..d5e7c65 --- /dev/null +++ b/systems/amd-server-vpn-vm/configuration.nix @@ -0,0 +1,83 @@ +{ config, pkgs, modulesPath, lib, ... }: + +{ + imports = [ + # Include the results of the hardware scan. + #./hardware-configuration.nix + ../../modules/services/ssh.nix + ../../modules/misc/logging.nix + ../../modules/misc/motd.nix + ../../modules/misc/kernel.nix + ../../modules/work/vpn.nix + #./disk-config.nix + ./hardware.nix + (modulesPath + "/installer/scan/not-detected.nix") + (modulesPath + "/profiles/qemu-guest.nix") + ]; + + boot = { + kernelParams = [ "console=tty0" "console=ttyS0" ]; + loader.timeout = lib.mkForce 1; + + loader.grub.enable = true; + loader.grub.device = "/dev/vda"; + #loader.grub = { + # efiSupport = true; + # efiInstallAsRemovable = true; + # device = "nodev"; + #}; + }; + + programs.firefox.enable = true; + services.spice-vdagentd.enable = true; + + networking.usePredictableInterfaceNames = false; + + mainUser.layout = "de"; + mainUser.variant = "us"; + custom = { + user = { + name = "anon"; + layout = "de"; + variant = "us"; + }; + hardware = { + firmware.enable = true; + ssd.enable = true; + }; + services = { + wireguard = { + enable = true; + ip = "192.168.2.1"; + secretFile = ../../secrets/wireguard-evo-vpn.age; + externalInterface = "tun0"; + }; + }; + nftables.enable = true; + cli-tools.enable = true; + nix = { + index.enable = true; + settings.enable = true; + }; + graphical = { + lxqt.enable = true; + }; + }; + + #fileSystems."/" = { + # device = "/dev/disk/by-label/nixos"; + # fsType = "ext4"; + # options = [ "defaults" "noatime" ]; + #}; + #fileSystems."/boot" = + #{ device = "/dev/disk/by-label/ESP"; + # fsType = "vfat"; + #}; + + networking.hostName = "amd-server-vpn-vm"; # Define your hostname. + + # Configure console keymap + console.keyMap = "us"; + + system.stateVersion = "25.05"; # Did you read the comment? +} diff --git a/systems/amd-server-vpn-vm/disk-config.nix b/systems/amd-server-vpn-vm/disk-config.nix new file mode 100644 index 0000000..d075579 --- /dev/null +++ b/systems/amd-server-vpn-vm/disk-config.nix @@ -0,0 +1,38 @@ +# Example to create a bios compatible gpt partition +{ lib, ... }: { + disko.devices = { + disk.main = { + device = lib.mkDefault "/dev/vda"; + type = "disk"; + content = { + type = "gpt"; + partitions = { + boot = { + name = "boot"; + size = "1M"; + type = "EF02"; + }; + esp = { + name = "ESP"; + size = "500M"; + type = "EF00"; + content = { + type = "filesystem"; + format = "vfat"; + mountpoint = "/boot"; + }; + }; + root = { + size = "100%"; + content = { + type = "btrfs"; + extraArgs = [ "-f" ]; # Override existing partition + mountpoint = "/"; + mountOptions = [ "compress=zstd" "noatime" ]; + }; + }; + }; + }; + }; + }; +} diff --git a/systems/amd-server-vpn-vm/hardware.nix b/systems/amd-server-vpn-vm/hardware.nix new file mode 100644 index 0000000..47fb942 --- /dev/null +++ b/systems/amd-server-vpn-vm/hardware.nix @@ -0,0 +1,28 @@ +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/profiles/qemu-guest.nix") + ]; + + boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "virtio_pci" "virtio_blk" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-amd" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/f222513b-ded1-49fa-b591-20ce86a2fe7f"; + fsType = "ext4"; + }; + + swapDevices = [ ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp1s0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; +} diff --git a/systems/laptop/configuration.nix b/systems/laptop/configuration.nix index dfcaa6b..e2c054c 100644 --- a/systems/laptop/configuration.nix +++ b/systems/laptop/configuration.nix @@ -26,6 +26,7 @@ tmpfs.enable = true; wireshark.enable = true; virt-manager.enable = true; + nixvimPlugins = true; nix = { ld.enable = true; settings.enable = true; diff --git a/systems/pc/configuration.nix b/systems/pc/configuration.nix index b64216e..ef3bbee 100644 --- a/systems/pc/configuration.nix +++ b/systems/pc/configuration.nix @@ -26,6 +26,7 @@ virt-manager.enable = true; nftables.enable = true; cli-tools.enable = true; + nixvimPlugins = true; nix = { index.enable = true; ld.enable = true; @@ -43,8 +44,11 @@ services = { syncthing = { enable = true; }; }; hardware = { android.enable = true; - amd-gpu.enable = true; - amd-gpu.rocm.enable = true; + amd-gpu = { + enable = true; + rocm.enable = true; + overdrive = true; + }; nvidia = { enable = false; clock = {