From 006798d917101867d10b492ac323c7fd256d429e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9ana=20=E6=B1=9F?= Date: Sun, 2 Nov 2025 05:12:02 +0100 Subject: [PATCH] hydrogen: init (#20) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reviewed-on: https://codeberg.org/leana8959/.files/pulls/20 Co-authored-by: Léana 江 Co-committed-by: Léana 江 --- README.md | 17 +++ default.nix | 4 + nix/configurations/hydrogen.nix | 134 ++++++++++++++++++ nix/configurations/hydrogen/home/programs.nix | 61 ++++++++ .../hydrogen/nixos/connectivity.nix | 73 ++++++++++ nix/configurations/hydrogen/nixos/misc.nix | 20 +++ .../hydrogen/nixos/programs.nix | 19 +++ nix/configurations/vanadium.nix | 49 +++---- .../vanadium/nixos/connectivity.nix | 2 +- nix/configurations/vanadium/nixos/misc.nix | 7 +- .../nixos => }/connectivity/networks.nix | 0 .../connectivity/universite_de_rennes.pem | 0 nix/homeModules/common/git.nix | 12 +- nix/identities.nix | 4 + .../extra}/secure_dns.nix | 6 +- nix/overlays/lix.nix | 3 + nix/secrets/four_pwd.age | 23 +-- nix/secrets/hoot_token.age | 23 +-- nix/secrets/iambconfig.age | Bin 778 -> 1054 bytes nix/secrets/parrot_token.age | 22 +-- nix/secrets/restic_backblaze_env.age | Bin 495 -> 695 bytes nix/secrets/restic_backblaze_pwd.age | 21 +-- nix/secrets/restic_backblaze_repo.age | Bin 481 -> 709 bytes nix/secrets/restic_four_pwd.age | 22 +-- nix/secrets/restic_sgbk_pwd.age | 22 +-- nix/secrets/sgbk_pwd.age | 22 +-- nix/secrets/sshconfig.age | Bin 848 -> 975 bytes nix/secrets/two_pwd.age | 22 +-- nix/secrets/typst-bot_token.age | Bin 483 -> 776 bytes nix/secrets/wpa_password.age | Bin 717 -> 867 bytes npins/sources.json | 34 ----- 31 files changed, 481 insertions(+), 141 deletions(-) create mode 100644 nix/configurations/hydrogen.nix create mode 100644 nix/configurations/hydrogen/home/programs.nix create mode 100644 nix/configurations/hydrogen/nixos/connectivity.nix create mode 100644 nix/configurations/hydrogen/nixos/misc.nix create mode 100644 nix/configurations/hydrogen/nixos/programs.nix rename nix/{configurations/vanadium/nixos => }/connectivity/networks.nix (100%) rename nix/{configurations/vanadium/nixos => }/connectivity/universite_de_rennes.pem (100%) rename nix/{configurations/vanadium/nixos => nixosModules/extra}/secure_dns.nix (98%) create mode 100644 nix/overlays/lix.nix diff --git a/README.md b/README.md index 402fc97f..7da3091b 100644 --- a/README.md +++ b/README.md @@ -36,6 +36,23 @@ This repo is managed with Nix + GNU stow # profit ``` +## Installation for Raspberry Pi +Raspberry Pi uses the same configuration as the installer. +The `(modulesPath + "/installer/sd-card/sd-image-aarch64.nix")` allows this. + +- Build the image `nixosConfigurations..config.system.build.sdImage`. + Disable stuff like Lix to build this. + You might want to use raw password once so you don't have agenix decryption + problem while trying to have wpa_supplicant have the right passwords. + +- Burn the image to the sd card. + ```bash + zstdcat result/sd-image/nixos-image-sd-card--aarch64-linux.img.zst | + doas dd of=/dev/sdb status=progress + ``` + +- profit + # Pitfalls ## `users.mutableUsers` NEVER set this to true without declaratively setting the passwords. diff --git a/default.nix b/default.nix index 7deece54..7445744d 100644 --- a/default.nix +++ b/default.nix @@ -8,6 +8,10 @@ system = "x86_64-linux"; modules = [./nix/configurations/vanadium.nix]; }; + hydrogen = { + system = "aarch64-linux"; + modules = [./nix/configurations/hydrogen.nix]; + }; installer = { system = "x86_64-linux"; modules = [./nix/configurations/installer.nix]; diff --git a/nix/configurations/hydrogen.nix b/nix/configurations/hydrogen.nix new file mode 100644 index 00000000..d0196449 --- /dev/null +++ b/nix/configurations/hydrogen.nix @@ -0,0 +1,134 @@ +let + sources = import ../../npins; + + hostname = "hydrogen"; + username = "leana"; +in + { + modulesPath, + config, + pkgs, + lib, + ... + }: let + inherit (lib.modules) mkAliasOptionModule; + in { + imports = [ + # The generator and hardware configuration + (modulesPath + "/installer/sd-card/sd-image-aarch64.nix") + + # + # Shorthands + # + (mkAliasOptionModule ["me"] ["users" "users" username]) + (mkAliasOptionModule ["hm"] ["home-manager" "users" username]) + + # + # hostname + # + {_module.args = {inherit hostname;};} + + # + # nixpkgs + # + { + nixpkgs = { + overlays = map import [ + ../overlays/agenix.nix + ../overlays/nur.nix + ../overlays/nix-tree.nix + ../packages/overlay.nix + + # use lix everywhere and wrap it with nom + ../overlays/lix.nix + ../overlays/nix-monitored.nix + ]; + + # Set NIX_PATH and flake registry at the same time + # https://github.com/NixOS/nixpkgs/pull/254405 + flake.source = sources.nixpkgs; + }; + + nix.package = pkgs.nix-monitored; + + system.nixos.version = lib.substring 0 8 sources.nixpkgs.revision; + } + + ./hydrogen/nixos/misc.nix + ./hydrogen/nixos/programs.nix + ./hydrogen/nixos/connectivity.nix + + # QUIRK: + # Had issue when building the installer as it fails to bootstrap itself + # Might be useful to disable for the first build. + ../nixosModules/extra/secure_dns.nix + ../nixosModules/common/disable-command-not-found.nix + ../nixosModules/common/network.nix + ../nixosModules/common/sudo-conf.nix + ../nixosModules/common/system-nixconf.nix + + ../nixosModules/extra/leana.nix + + # + # Extern modules + # + (sources.agenix + "/modules/age.nix") + + (sources.nixos-hardware + "/raspberry-pi/4") + + # + # home-manager + # + (sources.home-manager + "/nixos") + { + home-manager = { + useGlobalPkgs = true; + useUserPackages = true; + sharedModules = [{home.stateVersion = lib.mkDefault config.system.stateVersion;}]; + }; + + hm.imports = [ + # + # hostname + # + {_module.args = {inherit hostname;};} + + # + # home modules + # + ./hydrogen/home/programs.nix + + ../homeModules/common/btop + ../homeModules/common/fish + ../homeModules/common/starship + ../homeModules/common/fzf.nix + ../homeModules/common/tmux + ../homeModules/common/vim + ../homeModules/common/direnv.nix + ../homeModules/common/git.nix + ../homeModules/common/gpg.nix + ../homeModules/common/leana.nix + ../homeModules/common/locale.nix + ../homeModules/common/packages.nix + ../homeModules/common/tealdeer.nix + + ../homeModules/extra/tmux-fish-integration.nix + + # + # Extern modules + # + (sources.agenix + "/modules/age-home.nix") + (import sources.wired-notify).homeManagerModules.default + ]; + } + + # + # Secrets + # + { + age.secrets = { + wpa_password.file = "${../secrets/wpa_password.age}"; + }; + } + ]; + } diff --git a/nix/configurations/hydrogen/home/programs.nix b/nix/configurations/hydrogen/home/programs.nix new file mode 100644 index 00000000..bfe508c8 --- /dev/null +++ b/nix/configurations/hydrogen/home/programs.nix @@ -0,0 +1,61 @@ +{ + pkgs, + lib, + config, + ... +}: { + home.sessionVariables = let + fishCfg = config.programs.fish; + in { + "SHELL" = lib.mkIf fishCfg.enable (lib.getExe fishCfg.package); + }; + + home.packages = [ + pkgs.nmap + pkgs.stow + pkgs.zip + pkgs.unzip + pkgs.gnutar + pkgs.p7zip + pkgs.bc + pkgs.dig + pkgs.hutils + pkgs.miniserve + pkgs.agenix + pkgs.nix-which + + # pretty tui tools + pkgs.du-dust + pkgs.tokei + pkgs.hyperfine + pkgs.watchexec + pkgs.onefetch + pkgs.just + + # nix tools + pkgs.alejandra + pkgs.nurl + pkgs.npins + pkgs.nix-tree + pkgs.nh + ]; + + programs = { + neovim = { + enable = true; + defaultEditor = true; + }; + lazygit.enable = true; + fish.enable = true; + starship.enable = true; + tmux.enable = true; + direnv.enable = true; + ripgrep.enable = true; + + btop.enable = true; + }; + + services = { + gpg-agent.enable = true; + }; +} diff --git a/nix/configurations/hydrogen/nixos/connectivity.nix b/nix/configurations/hydrogen/nixos/connectivity.nix new file mode 100644 index 00000000..a71fc30c --- /dev/null +++ b/nix/configurations/hydrogen/nixos/connectivity.nix @@ -0,0 +1,73 @@ +{ + config, + lib, + ... +}: { + users.users.root.openssh.authorizedKeys.keys = let + ids = import ../../../identities.nix; + in + builtins.concatMap builtins.attrValues (builtins.attrValues ids); + + networking = { + networkmanager.enable = lib.mkForce false; + + firewall.allowedTCPPorts = [ + 8080 + + # For 'localsend' + # https://github.com/localsend/localsend?tab=readme-ov-file#setup + 53317 + ]; + + # To enable roaming https://wiki.archlinux.org/title/Wpa_supplicant#Roaming + wireless = { + enable = true; + userControlled.enable = true; + secretsFile = config.age.secrets.wpa_password.path; + scanOnLowSignal = false; + networks = let + # wpa_supplicant uses `strchr` to seek to the first `=`, so the only forbidden character is `=`. + escapePwdKey = lib.replaceStrings ["="] ["_"]; + + fromList = ns: let + go = networkArgs @ { + ssid, + # Custom fields wrapping nixpkgs module options + hasPassword ? false, + scanOnLowSignal ? false, + randomizeMac ? false, + ... + }: { + ${ssid} = lib.mkMerge [ + (builtins.removeAttrs networkArgs ["ssid" "hasPassword" "scanOnLowSignal" "randomizeMac"]) + (lib.optionalAttrs hasPassword { + pskRaw = "ext:${escapePwdKey ssid}"; + }) + (lib.optionalAttrs scanOnLowSignal { + extraConfig = '' + bgscan="simple:30:-70:3600" + ''; + }) + (lib.optionalAttrs randomizeMac { + extraConfig = '' + mac_addr=1 + ''; + }) + ]; + }; + in + lib.mkMerge (map go ns); + + allowList = builtins.filter (x: x.ssid == "~"); + in + fromList ( + # We only want to use my own network + allowList ( + import ../../../connectivity/networks.nix + ) + ); + }; + }; + + hardware.bluetooth.enable = true; +} diff --git a/nix/configurations/hydrogen/nixos/misc.nix b/nix/configurations/hydrogen/nixos/misc.nix new file mode 100644 index 00000000..3cb2c3d4 --- /dev/null +++ b/nix/configurations/hydrogen/nixos/misc.nix @@ -0,0 +1,20 @@ +{ + system.stateVersion = "25.05"; + + swapDevices = [ + { + device = "/var/swapfile"; + size = 1024; # MB + } + ]; + + # Related https://github.com/NixOS/nixpkgs/issues/154163#issuecomment-1350599022 + # + # modprobe: FATAL: Module sun4i-drm not found in directory /nix/store/gvvwpdckzcr4iamp1iyrqw3nzb7bg6c4-linux-rpi-6.6.51-stable_20241008-modules/lib/modules/6.6.51 + nixpkgs.overlays = [ + (final: prev: { + makeModulesClosure = x: + prev.makeModulesClosure (x // {allowMissing = true;}); + }) + ]; +} diff --git a/nix/configurations/hydrogen/nixos/programs.nix b/nix/configurations/hydrogen/nixos/programs.nix new file mode 100644 index 00000000..5f281024 --- /dev/null +++ b/nix/configurations/hydrogen/nixos/programs.nix @@ -0,0 +1,19 @@ +{pkgs, ...}: { + environment.systemPackages = [ + pkgs.man-pages + pkgs.man-pages-posix + ]; + + # + # Programs + # + programs = { + vim.enable = true; + vim.defaultEditor = true; + + git.enable = true; + }; + + # Helps with kitty when ssh from remote + environment.enableAllTerminfo = true; +} diff --git a/nix/configurations/vanadium.nix b/nix/configurations/vanadium.nix index 5be9bac1..0e72a47e 100644 --- a/nix/configurations/vanadium.nix +++ b/nix/configurations/vanadium.nix @@ -42,35 +42,32 @@ in rocmSupport = true; }; - overlays = - map import - [ - ../overlays/agenix.nix - ../overlays/disko.nix - ../overlays/nur.nix - ../overlays/wired-notify.nix - ../overlays/nix-tree.nix - ../overlays/wallpapers.nix - ../overlays/nil.nix - ../overlays/dix.nix - ../overlays/eepy.nix - ../overlays/calibre-no-mime.nix - ../overlays/fcitx5-table-extra-taiwanese.nix + overlays = map import [ + ../overlays/agenix.nix + ../overlays/disko.nix + ../overlays/nur.nix + ../overlays/wired-notify.nix + ../overlays/nix-tree.nix + ../overlays/wallpapers.nix + ../overlays/nil.nix + ../overlays/dix.nix + ../overlays/eepy.nix + ../overlays/calibre-no-mime.nix + ../overlays/fcitx5-table-extra-taiwanese.nix - ../overlays/iosevka.nix - ../packages/overlay.nix + ../overlays/iosevka.nix + ../packages/overlay.nix - ./vanadium/overlay.nix - ./vanadium/kernel-overlay.nix + ./vanadium/overlay.nix + ./vanadium/kernel-overlay.nix + + # removed, but I need it for PLFA! + ../overlays/pin-emacs28.nix - # removed, but I need it for PLFA! - ../overlays/pin-emacs28.nix - ] # use lix everywhere and wrap it with nom - ++ [ - (import (sources.lix-module + "/overlay.nix") {inherit (sources) lix;}) - (import ../overlays/nix-monitored.nix) - ]; + ../overlays/lix.nix + ../overlays/nix-monitored.nix + ]; # Set NIX_PATH and flake registry at the same time # https://github.com/NixOS/nixpkgs/pull/254405 @@ -93,7 +90,6 @@ in ./vanadium/nixos/audio.nix ./vanadium/nixos/connectivity.nix - ./vanadium/nixos/secure_dns.nix ./vanadium/nixos/input.nix ./vanadium/nixos/misc.nix @@ -111,6 +107,7 @@ in ../nixosModules/common/system-nixconf.nix ../nixosModules/common/xscreensaver.nix + ../nixosModules/extra/secure_dns.nix ../nixosModules/extra/zram.nix ../nixosModules/extra/leana.nix diff --git a/nix/configurations/vanadium/nixos/connectivity.nix b/nix/configurations/vanadium/nixos/connectivity.nix index 5a0891fc..ab4aa177 100644 --- a/nix/configurations/vanadium/nixos/connectivity.nix +++ b/nix/configurations/vanadium/nixos/connectivity.nix @@ -70,7 +70,7 @@ in lib.mkMerge (map go ns); in - fromList (import ./connectivity/networks.nix); + fromList (import ../../../connectivity/networks.nix); }; }; diff --git a/nix/configurations/vanadium/nixos/misc.nix b/nix/configurations/vanadium/nixos/misc.nix index db83b159..91579fc2 100644 --- a/nix/configurations/vanadium/nixos/misc.nix +++ b/nix/configurations/vanadium/nixos/misc.nix @@ -1,4 +1,4 @@ -{ +{config, ...}: { system.stateVersion = "24.11"; boot.loader = { @@ -13,4 +13,9 @@ # https://community.frame.work/t/stability-issues-random-crashes-reboots-and-boot-freezes/62675/4 "pcie_aspm=off" ]; + + # Cross building + # https://discourse.nixos.org/t/how-do-i-get-my-aarch64-linux-machine-to-build-x86-64-linux-extra-platforms-doesnt-seem-to-work/38106/2?u=leana8959 + boot.binfmt.emulatedSystems = ["aarch64-linux"]; + nix.settings.extra-platforms = config.boot.binfmt.emulatedSystems; } diff --git a/nix/configurations/vanadium/nixos/connectivity/networks.nix b/nix/connectivity/networks.nix similarity index 100% rename from nix/configurations/vanadium/nixos/connectivity/networks.nix rename to nix/connectivity/networks.nix diff --git a/nix/configurations/vanadium/nixos/connectivity/universite_de_rennes.pem b/nix/connectivity/universite_de_rennes.pem similarity index 100% rename from nix/configurations/vanadium/nixos/connectivity/universite_de_rennes.pem rename to nix/connectivity/universite_de_rennes.pem diff --git a/nix/homeModules/common/git.nix b/nix/homeModules/common/git.nix index a50ba2a5..68f151c6 100644 --- a/nix/homeModules/common/git.nix +++ b/nix/homeModules/common/git.nix @@ -1,12 +1,22 @@ { lib, config, + pkgs, ... }: { # git plugins programs.git = { lfs.enable = true; - patdiff.enable = true; + patdiff.enable = lib.mkMerge [ + # known to fail on aarch64-linux + (lib.mkIf (pkgs.system == "aarch64-linux") ( + # TODO: investigate this + lib.warn "patdiff has been forcibly disabled because it has previously failed to build" + lib.mkForce + false + )) + (lib.mkDefault true) + ]; }; # 懶惰鬼賴皮 diff --git a/nix/identities.nix b/nix/identities.nix index 649c1ca8..9e94fd65 100644 --- a/nix/identities.nix +++ b/nix/identities.nix @@ -3,4 +3,8 @@ leana = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGPq2o9pbmLRGrOpAP76eYCAscmfakDC7wPm9fmsCCQM leana@vanadium"; root = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDc55vENX+13c4s2w7zjTb8T/AnBnTi96yRC5+fy7Z2A root@vanadium"; }; + hydrogen = { + leana = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEXzNdCA0zZ+WmeKZnhQSQtUcxnQhhDl59E3BPQfLj7Q leana@hydrogen"; + root = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIMVDmEt/12u9U4QGDZBx/Sx8itzqfQ4zWJvcC3pRZqP root@hydrogen"; + }; } diff --git a/nix/configurations/vanadium/nixos/secure_dns.nix b/nix/nixosModules/extra/secure_dns.nix similarity index 98% rename from nix/configurations/vanadium/nixos/secure_dns.nix rename to nix/nixosModules/extra/secure_dns.nix index 1aeeff7f..f662db89 100644 --- a/nix/configurations/vanadium/nixos/secure_dns.nix +++ b/nix/nixosModules/extra/secure_dns.nix @@ -1,9 +1,5 @@ # https://nixos.wiki/wiki/Encrypted_DNS -{ - lib, - pkgs, - ... -}: { +{pkgs, ...}: { networking = { nameservers = ["127.0.0.1" "::1"]; dhcpcd.extraConfig = "nohook resolv.conf"; diff --git a/nix/overlays/lix.nix b/nix/overlays/lix.nix new file mode 100644 index 00000000..6be56324 --- /dev/null +++ b/nix/overlays/lix.nix @@ -0,0 +1,3 @@ +final: _: { + nix = final.lixPackageSets.stable.lix; +} diff --git a/nix/secrets/four_pwd.age b/nix/secrets/four_pwd.age index 2ca25498..cb33568c 100644 --- a/nix/secrets/four_pwd.age +++ b/nix/secrets/four_pwd.age @@ -1,11 +1,14 @@ age-encryption.org/v1 --> ssh-ed25519 7owkuQ WbwyERolRsVLr0HxjKOzEPdaxegb+l+BESYvmMhtzXc -2CDufbW6viuui2Oqmgo/Fd23tQxJJMnFEgmaz0hYn+E --> ssh-ed25519 yg55bA qyqMmtbigot7wP0FuWNQ4mDd6GtSqECCTjf9E5r57HQ -VVYdcCpjGC0TeCoM0r1Ei/kCrYtCN55Kitr5KhyuNXU --> 9"tCN!-grease y p32_~6 -Eer9vu1p9YYXVrYVnRgnlb3htCmnM7sGcbSE9dwLMchbMYnxUNLZ2U9YQscGe4+G -9d1XaRMAKxPmALzNqap3WSbcEZLTmw ---- OfKe6yO+TKKai6mRvprUxhgq5smJqtYMLh1wT26YtlQ -Umt -sCLwǂ^  >EO?C_F \ No newline at end of file +-> ssh-ed25519 0LL3PQ pZvOUiznF408OPkjuasLZmbQZLS5RuRJwVucLpTe2xQ +OgLqiLgT/4Df13l2l2CdsYnMUZSmfh3xZWb3k0ALjdY +-> ssh-ed25519 0dJ6Mg SzGIUfJrv6L09LhVbzMvvaSpP4Cwr6hFFNbcCH6RO3E +jsFof9xMH73XPH/PWv//j9Fc0MPTSwwwIyNzdXd8FxM +-> ssh-ed25519 7owkuQ xtSm22EfAFkscUZ3r69V+S3guCJJu0KjXtWcE+Tv1S4 +13QkwIuZFMz1zIrWRZUfOzPVmc2eK56ruBgUD8lK+aE +-> ssh-ed25519 yg55bA 9ie4rBiJfwrUg/952DPXOY6sHFeTf8Os3bwJ8ZBphFg +PAuEQKfravJxYejS10EgB7aR+pwadl+zVtG57UGj6rA +-> p-grease TV+^qU1F ^'dkwO+: UF.{ e#KV!IV +/ASx0x3SOZzaktns0hYlSYnTzOkfn3SPaiPNbYGuSnzTSzcPEjUBTGAuk7/u7g95 +o8M5T14bFx1Mqyk +--- XGK2yNNL5UzmgLZiQvOK0jB13HiioVOHGzAwzVte7no + )7dYФ?GgYĴlr4E0]DpuD3t E&Ԕx!}I ot]KQd \ No newline at end of file diff --git a/nix/secrets/hoot_token.age b/nix/secrets/hoot_token.age index 76995e5c..dce00a08 100644 --- a/nix/secrets/hoot_token.age +++ b/nix/secrets/hoot_token.age @@ -1,11 +1,14 @@ age-encryption.org/v1 --> ssh-ed25519 7owkuQ JknIZGtwwI5E7eDTM+T5BpOoSmw2IRG49Mm3WwRC9Tw -Z1wjHJNZvQNIUwgoF0+r0JEVFfg4a+X/QA2g+IbfZ+E --> ssh-ed25519 yg55bA 6O5KVqgZDGEVXurVbiVU/jYq6wz4YymiI/2RzvOgdD4 -w3DVArFB8xsjYXmctyV0mqXE5EqAXJ8sBW5C02YztuY --> \.-grease !v -A25MQQ41zOq6KNAIgBSpCWnPZ53XrWnEL58GWVtn8pVlavGACpAV/CcstsUa6yM2 -jmYYTv2AU+BYuZ/JTqGb0vM35e3vODlzGu8MsrQ ---- qm7/iVxbQgrBnoNrGpPzBaHbBeDlQud3HsP2U/epY9g -|YPJe@&~U։Hr9,4~tAcҰu[JL20_Mb^KPH -{(E[|]t&RFY$ Tv6K\=ɨ \ No newline at end of file +-> ssh-ed25519 0LL3PQ 7sq+E69e1+k7Ofs+qrBzfX3ZrHWNl4L7W3tw44WEmFo +EjIviQjW6FD5x9yDoWwdrs1WlTxbnMhMJqqwQApz3DM +-> ssh-ed25519 0dJ6Mg Mbwr0B2vgrfG/AP6kWo/74krh8q0J9ROM0sRZDuPf3E +QW7FLw9SYZDl4ROdXRo1UgxNrkPg8/50wfskI3EycS4 +-> ssh-ed25519 7owkuQ 0jALH8GNUFc4+MVE79olkEINRmlqq8HVCoj/MO514l4 +k7i1YfC6YW0l0IN6rO9bpqCT+j3FBDg7p1yW1YAuSB0 +-> ssh-ed25519 yg55bA UDTNYKv1s+zKRZGbbZshXegb1qS+wfneqJjm7ZV9lmI +a8NLjIzKIFNf96ayOZJcJujuwA1inEsAmzfLaQyLHsw +-> $ww-grease /* +UtyDg6e07OmivhdTTl/Mz+mg/SmDC/cYqI0QDRmvd9hYhgTHG87mcevhyoLXQywp +aH1G2/deE+4+d2PEiXLOJIMM8A +--- b58ZKMa5/o53ttgY/NRQ1zcRTI5i/zWv2+BNwaAxAV8 +OrٖpMGک[E_ߢ VuljCpb+[~ %@ JDop'*ϮИV&~ַei#TL@ mcl(<󒄼bq \ No newline at end of file diff --git a/nix/secrets/iambconfig.age b/nix/secrets/iambconfig.age index c98a06d72f4058cbadcebd8331cfe1107464eab3..707377f3cd7fcbb756c8b4ad92f88701d30481ba 100644 GIT binary patch literal 1054 zcmZY6`)?Bk0KoB(IFJrmqWgitGEV9?wdwBBH;B;ou4{YOZrAR*wqub#uGd~4*X#9l zTk$#E5;QuOff=|2VOe+y;&9-?P$9$MW7)EYx-1Z*WIE936xKk7_$&SepKtQ@F|?dc z1X5x$9pMsnT#5m+utfeMAP8YO9YjDT&8w zgm{^tr9*5^5S2tA>&$|2v{4k?uu-N%-C~&Wsl(Z9v;IHrxmMm0kTWUTC(wZO86Zaj z2d=8PsYt5J*&O zGW*hICy~v9nA;jR=pX))%K@WE1w)1it5<}h(R#BLQVJFahCy1CQw22*K`ziFna#Q`=S7+MmqZkXcb#OzijY+8(CnFo?S8uH!kq^$97%W zcyQ>1ym)5wD>Gv^|M0JQd`Cok`tWQQwp5z?rQPdXWyr7Rk4_+Y)k~dk zF$eaS7i*@ESBP^ delta 734 zcmV<40wMjL2#N-fC0;jgcWZS~AaiwMZ)$R5FGV*{Gj(igRWW&aGH5blPeWBTIa66> zN;WG{WOiXgMPpG_3OF)QN_8+VZg*@iI97U7Z)jRGb97QMI5KB5Of*a~L3T|~b8%`~ zQ%zS@lV1TBe@ay}XiG{?bwPMoXg63wPjys6d0}g8XmC?!LSt}NRd!)?GfFZqPcyBH!yKQN>Nu=SXNGAF;PNKaZ*@hNpVY5WJ^jx3N1b$UnXWP zXL4m>b7de+OJg8YVIm?lWo{rxE_FU2d_-&tcxFR4e`r}RP*G6|EiEk|T2gv2aYu7w zQ!!$9LpEhlK~YmpVr@(^O-C?kO)q&+F++25Qb<-YRzXb)h+ArbMW1cVxwp5lUvpTW=iiP|48)rV@(pPy68?uU4x_X-PDNrvL|P# zim-V|-}cGWY3za0ukmVu6a!-i87I0KKx_dZGaoj-*)R;P4c|l`8<;2?IP7jJd#esd zikd-(QO!`Hv(PyqTb}0108k-&s=ou$@S*cT=_^9tFwURiBrFgOPE4%~-!7m ssh-ed25519 7owkuQ g+/zzLQiHuiuauXP4VvPXWFxmxX9NftrSl88fNcwwC4 -O5kQ1yL3MdlxkRknXStZ+QzMCuIDFK31v8w4YvGXGE4 --> ssh-ed25519 yg55bA GN2EuwUUtBN1p8u8m0Ghn0HEP4yNuYz4whRv55kmnCc -Ck1buWhftdknrJEGak/pJ+mGEPdICNqnzDEazhAQAeQ --> %.'9AY-grease -UyOK7WEX6LgO1Z0AmtClsynfIj1OGcuIlJjIwMwiK+CHGoVjOIIRkbHiarTQw12V -kL7BR6EZRAsEpmoDYVNZrTspogQ4kDKi2KsQRoNuemiTEg ---- W1SmO6s+WRW5fxwneQ0MEv5GzbFc4IX0pNaVGHSWTTA -בs˺#\p-PKh+4Ws=0PC5ЎZ2ny,]gSd9qo?(9UАDJOr(b&hBQ\vp]emYKŞ`S`1 @ (/eYP0 \ No newline at end of file +-> ssh-ed25519 0LL3PQ 6Ue4UZAASHIQDJm8F+qrw7cdlvw+jDlrhIfTOb2mlj8 +F768h+HzBohopJJ584wcHXdKUz3CLW/ATO4nyAW1aw4 +-> ssh-ed25519 0dJ6Mg LYCAlM525ANfQAvAaYPvUpLic7FrSKXkZCDF4PIsWxU +5CrVrQdhARNiCup5fgmQH05sb2k0z/yzDElim66194o +-> ssh-ed25519 7owkuQ MNGb3zFfaJ+oTY0Vtc43uS4Gb0d+vmeEq7kZeV5t02Q +RM8dX2yW9r4QLTsBQY2uSB4fzBQSK1sxjhG/f1qNCcI +-> ssh-ed25519 yg55bA ZVbIzTEmenGD1F8KkwTPGLit7znypUiFIOW6OWhO8wo +Ai2Y2QdfZ3pZGaPWoY7HfMEstOzMDp8+BTHS7zpOwlU +-> ,%y9?-grease r(S=ghd1 +FPKkbTLe5kxzDs3dEVKa8MJ7o8t4OJ4/gO0nwP55OJlV51nRPxpsd9WWdhVv0h69 +7jZNBCF9CgB72huPFZR/50TvctOILmGmTfnIv0mpsIFjYl4QHrr6qPzuHQ +--- VJ27uwCEZSWYS99nH1OIiYNKg9Rqn1qTQnMCAVTbv6E +69]hĪ&>Z $“ nVڠCR3nT2`l;V;y[ݱY|7\하9=YHԭN[J1i'aa372NKZlDͣI* ?L@V`,vʞD \ No newline at end of file diff --git a/nix/secrets/restic_backblaze_env.age b/nix/secrets/restic_backblaze_env.age index 1c5a33d1f9d979a015fade7f151d4c91f17f7cc9..a456d90b45b27e31b44cf7a15553f06db5e229a2 100644 GIT binary patch literal 695 zcmZY4J8RSc003a2Tc8vX7ZC|qy4mm)*dCCnx}| zfMIAtx|YImlmrou!vqoR3~*Oa3qvh!qH!Ug!|6t`Y0R@XnWQ#oK<#5ljvc{bL$bY*+lkpW(;g1S6^_O7?NwiHn8b{= z6s{)zuMzIl9*ZDMWVCFaWnitBkqcP4=2D#z)+Hx((sqc3k0DcsLFtt z!falnQ=HA~OxsH6tOMKQTyCJV!jP0J{Zdgmaf=KbS17P=i4; zM|Qc=$^?BP+ssOy9aItDbOA=F+jRn$@Q80u>qUpq&8Rh?Co&38G#OV4)zA}hj4s*k zzgu%%zZAoe5$N4e2L%L7`kl!V10>9HTMe{{~xBM;n`1H=v-k&oU7pP}Hv_tFoe183X_QT?fqu}!P*8Ll^d3j-5h$(pE$*Bjg H@6P=NgxmDk delta 449 zcmV;y0Y3h>1@8lpC0;jgcWZS~AZ%)6Pi8|_Y&dRMV_H{6S$afGGI2*za#&edct|f% zc}I6aXmM{;OhRf^3VJI?GE{m?FgH$1S66RURBlN*HfVG~M`~zuH)}_AS6NAFHAzEO zO?Y}ylV1TBe`IDwNk(@}Sa>yaY7> ssh-ed25519 7owkuQ q458BCC+1ChqixcO2bMdBMktANq3d3nwzvs8hb9ityM -FjbGE5gA0lvPg0Ybp3WyqrfzmF9b7LsMp24vv/5hRHo --> ssh-ed25519 yg55bA lNCW4DBdwsFxGhw75WAUOTRkbY7ljMilARPNdI4sFTk -zULx2aX+PHxOEPyYfGEJEugaYHUwgBFminlXybrrTSo --> .C(--grease Mk?! JvhX04'M -s8AZa58 ---- Ja48d/9lY/dhamU1RxGqpweLwGI6Y/rr9npilNd9cp4 -eJ#tql DvΎa=uԢ8k&4J4G \ No newline at end of file +-> ssh-ed25519 0LL3PQ kAkdTH8kPHnYR5GncurnYL6atChq9B2ugqJYK0xUAHs +doCoG+lJAlbygvWg31BycpMf4K6dWihcJ4Vb3308ypA +-> ssh-ed25519 0dJ6Mg aWeQi7cyFZwEgcJb4GkROumwptaRTPrCBQCCpMdKQXA +ORlGsAxLgWIeRhDwv58FFIZP3vUqTipOl3Q2bdq1nEs +-> ssh-ed25519 7owkuQ aUTN8z+aD4ltDJ/7oBRhZZlsyp6blSGoeJdDDzwTsiI +00/DiiSDI3N2c1l4apPYKwQwWX/7FaxzupPnTPSzgDw +-> ssh-ed25519 yg55bA QN8RxfPk+yAL/veq7aLX7Z9LMBaMPiq7edju0xSbOjU ++Q+IADzBZB5H5PwFD3jVZOsPJdwbsiN0t6vs5tqF5HQ +-> 1-grease "[wrG8^D YH)pk=`h +OFsK01MRbG/Ds1s+xEDF5D37ijhhCuRCWAXHL+kXlJ3lXulkMpAA/QBUj2/Y9RIY +veiOf8/qizBR +--- rpmIeN8PqT0PRmiykzweztzDkzVNp1mCetqj1WJNerM +hjr@oپ$'@#ʚ 3G.U'0+|ϭna/ \ No newline at end of file diff --git a/nix/secrets/restic_backblaze_repo.age b/nix/secrets/restic_backblaze_repo.age index 167e78cd3acf345c47547dbded638d616e0c64d7..3c0928ffe42cf9dfaecc4699ca5ad1b3c6c0ffec 100644 GIT binary patch literal 709 zcmZY2J&V&|003ZglAv;k=;Dw`4nj=RG;M-#m?q7~+w?0Ocj<;6sU`jKCW+$Z8dp5mDQSc3=*s zMVb%IaYIxG7*!0$TrJZbXCIDwLe3ogyR9Kj+Z@VCv%(*@hiqbPhD$(k?Ew@*;k+~W=V7a_M1hl5*1h`T2!&U>DnU{eM2;ta9sY~pcy$h zOkHc~qI`<_>wc3)?+XOV`7>ma$X4NM-4c}jl`aXbs7p1-o-mFrlU#cNwyM*trnWpK z&RQ1G2|fZQ<5(h96;!c0N0KRr;5d#(B&#pTer7jPYi`CVmN=;_X*u662&^khKpC$6 zv=_97Bjn@mWn=N^E`KL$zde1Zzu$tBSMP$u^2jpmbC0;jgcWZS~AZ0~EX-j%cQcW~PR&+#9ZgOQuHg!cfZbNBpVJ~t< zXHI2iNLFl6Pk4EA3Tk3?Q#3+&Phn+vd2e?|D=SZFHFHZzYEVjbNNi?JR!mr8azrpj zT6$P>lV1TBe|LFwT2DYjR0WLUl7YXg5(&3N1b$b5v(R zXH;k{XL4m>b7de;Aaf^maSCroM_P12QZO-hI81qGe{wlPbZ1O$L{BzYNKax&QDsnY zFHTNuPg!C}S5ZVVFm*6zVsa}`Z%#*SL~dbDFfwWiGC>M0EiE7~YcEq!M?q0EZ8S?# zFi%xeOmNX1av#_JR5 z9SxK2Nik!%Y%}jAQK5B+hs>D#v{R81Cc-JrDYut#8Nk*Ie2D!uFIZ0 d-S?&i!BliaVKVLRI|jl{i|itpeFzT diff --git a/nix/secrets/restic_four_pwd.age b/nix/secrets/restic_four_pwd.age index 46b980de..b67cc300 100644 --- a/nix/secrets/restic_four_pwd.age +++ b/nix/secrets/restic_four_pwd.age @@ -1,10 +1,14 @@ age-encryption.org/v1 --> ssh-ed25519 7owkuQ /LOUFKCJMDbwGmRbKmtA5YibEwXaC+bn3qzr2G5PNjU -8sFd/TH7CotBpgE9IcBUjpl1HQDoVWcBnKMs+65yWFM --> ssh-ed25519 yg55bA zfExS48sAVvVfmhoNjrqu7b6YBPF8Nj+Uz7LyAswexk -0m8ezLoCMw71c+HlEDgNA/V1IZeMsWu5MV+fvQEKsRA --> .5;c~,-grease M^}>kjw ;yYsB Z 1}Z@jDzv -2ZhEqtWhM/7boxsNVSQHc+eDs41VyWaj3JoyYPBdQf1Gm9OVToKAfM03EuTYKvGk -IgoyvRNeEsXRJA3gnApmlQC/gGsaR/bMs+/sDuZzsNpMo7cFjPcfQZ+TM3A ---- ACmisGCqSllpxxoCa1FKK79Jmf1TjNCcQe+ouccHttA -mm5f}r._%) 7G~}{ {oubN3@>V4:?, \ No newline at end of file +-> ssh-ed25519 0LL3PQ xLhj3/Y4owHlZ9wSvSUO6J5QRDbAwbaMO2MNAIW/S34 +T86CtE8vACVDH34OnmUVokUY4NctvHcaVunoCvGUxEo +-> ssh-ed25519 0dJ6Mg 0sZCeLLGHhQ/ZppSTuyeZBOKdypMBNaJrI84Sdya6C0 +3koAeP0eIaSj/TQEGHYJ0GSUx9T35WQiALzLj8cykM8 +-> ssh-ed25519 7owkuQ fOjqhSibMqCebX44ODbi5B6T1KGBVjgAl78XcQbGnUs +LqRR+NxqMGi0gW3DLubo0k00mkW5onuhKWw4Oaq4o2g +-> ssh-ed25519 yg55bA xl59uoVVAsDwAik1iN+aMxAvmX2yBW6Tgngt6nrAy38 +NnAGx9qDQScgbA8eMd6JmOWV14Kp3enpuzMeTpVLSQM +-> *-grease 8-(+ vYaB m6U +8gdvu5Df7a7QJC+s3/x4OMEp3nGRQo+v6GKMo957cTIofYQrX1zPIscugjB+Ua/R +mqSUmYM +--- IYRDnT9/tIxleM47lmOA5wp3e5TrJGqn/faxfMTq7po +Q&]cӵҷrJիϘzaBd $Y['s8pZ \ No newline at end of file diff --git a/nix/secrets/restic_sgbk_pwd.age b/nix/secrets/restic_sgbk_pwd.age index 04cd71dc..ea4711ba 100644 --- a/nix/secrets/restic_sgbk_pwd.age +++ b/nix/secrets/restic_sgbk_pwd.age @@ -1,10 +1,14 @@ age-encryption.org/v1 --> ssh-ed25519 7owkuQ 4qJGfzwkiTLxMp29ap8xS4Yrr4v5+WuEgR2l6kk1u3g -/ez+z5soKOZJYd1ETWcZ9WwGQkcI4hdOhS63oshjBWM --> ssh-ed25519 yg55bA is0cfph0fc3Yd4btpE4+HqN9YWWlkkQ9hj0LDtkCPwQ -K3zdjEN3dlTaticQtVi774mQOM1KUg+dk0JvjQxctnk --> zou8qv-grease $$C.n1_ # -N5iTy0ERftclPNDFgpa4ClqGCIvTDIKj03Iyzy+az2l3bs8MXUS/4hqh+uDCW3GG -t4gL59TG ---- U3g4gGvkEQKWkM6gMEA3AFK9y5y4i7jnoNWb7xgDqeo -(}A2t80_s#5kˀ|A&p@F#p \ No newline at end of file +-> ssh-ed25519 0LL3PQ KHSf9ndwbU+gp/EjEqb6BizoDld2P0IUE+NyNq41qRU +nnjQ6RxRj/oVI4lrmGx3YA9xru2wIkV6tyYnF/Qj4gA +-> ssh-ed25519 0dJ6Mg FoLEamzgj2WZxiEGjWEacLtP+YvwPK4S961Mz4QVo0Q +LRV7YndQRyZxFWgxjZ8+KhnHY3NmQjtBx9D9SkEfdBk +-> ssh-ed25519 7owkuQ +ERZ/SyjyHNDMUcZftWjPPg/+Y4vNNhY9qcXYJTocEo +WvRkkgWh+t1O2574vvIRYkDav6XJaZe1H8+bMk6Rt2U +-> ssh-ed25519 yg55bA T1koZe8t1aK3Z8t102m9Q3sTFo68ml8hjbm5oTDxqXg +OuVwNZFJokgz3ZubnQJbhdmgfYnpKSyt+2f0pfJ0zMM +-> 1I-grease SAO!z + 1 +dor0+AdeMZtvH6XIh/8UOwtKIeqTckMwS64fXpQC15sQN4s01iZ0E2fmfxlOd7sF +CEjwIjD/c76eWsm4HXnFKPMn +--- PtcipNj2Ol00OQXMJnvGfBPLxAkxB5/JrqUNXWKRqEE +p3ו!3`S^' To[F"WQF5H$ \ No newline at end of file diff --git a/nix/secrets/sgbk_pwd.age b/nix/secrets/sgbk_pwd.age index 58602dda..ddc824b7 100644 --- a/nix/secrets/sgbk_pwd.age +++ b/nix/secrets/sgbk_pwd.age @@ -1,10 +1,14 @@ age-encryption.org/v1 --> ssh-ed25519 7owkuQ rAj9h0wtf1gsdtlvGDmaxdHjRreUyfRpZBNnI01edhY -jCTGmhWgEy3BPdWQdv7goL0Vd2obIdRFn1HHApQdIpI --> ssh-ed25519 yg55bA 9oZRoMwVSR5W7gFufctfhQcrunzGABm0eY5Zrd30CHw -10sx6yDe/qhGSo7yfJi33bqrilLE5BBMjLuw46xZ/xo --> 6<-grease # $q0gf& d+*Zn G7~` -4wM1yc2zThJt4kjBR5Evb0sKVQTk+2/UxCyRclcj+c5WoFnZAUkweu5J9NKKZZY1 -eQDsxMy2VTCwKH21kt6GMThqd8uFLWlNIG8Rd+p1UQ ---- 4ITweNL+AK2o11O1NyophxQQsMYL4Lu6iBedFz9c7TE -BQe~n bʙk86q}gې+c;]ɣK \ No newline at end of file +-> ssh-ed25519 0LL3PQ EaH3FSFURTrKNRQgBzRJHwScLs+0++zx8L5xtiv2Thg +zb9BAe2Mh3Dnq7xQTsV3FKSLfti6qk1fMuVU3jnkvSE +-> ssh-ed25519 0dJ6Mg wOmgGAMbqQD3agi6iH7ncke5yIuWwI3JK2+Z4Z6LAGQ +aPyfZ96NlrP7/XIMpKJkgvONfzdgjrm18CFGpE8rWjo +-> ssh-ed25519 7owkuQ Siq/BgJuW1G34eBHL5rUTaR/D1R8AKxo3oWNfKkjNjg +8/qCD7Z8Pnnpz2fwzcZuRKi/NqU4sOUdEn97JT5sy7U +-> ssh-ed25519 yg55bA JHUJBdwb6/vcw3g2JCZVSs/dm96PE7dhOW1gEi5Nokc +NiT7i0XArZPVz4UqN4IR+Dc47tjU1jVe8SFUbM17fBo +-> %-grease R +5njLYJJMaDrRkP6qA1AUGy375lHVqP2WzUlhYX8HLtBL95VysXoW+PTzIEc+PQNs +UMxNTezEFXnww4E06+rPE5JN/VN+lOtb1uaEFdc +--- TKX4YuCK4DPsLEB0A1XSywqEt2gysGHbYtL59hudEkQ +|oKw5tU|Gg(f\@9â0_j \ No newline at end of file diff --git a/nix/secrets/sshconfig.age b/nix/secrets/sshconfig.age index 7ddfaa729802317936df00a56733db93f554ede4..75bd6ee3f8e4771e56de40f497fe3bbea9845184 100644 GIT binary patch literal 975 zcmZY2-H+1*008iW^RsYze#OL~HWBb(8Qa=!Yfp06bzAq*?bfbz>&@g?yRO~Zt?S3y z^%4(}7fc`*K<*&-pvFre2$D-cR`!9M94R9YcIt*3e^jmL^mEEVT@$t^>kU66DJ;|12%2HXxrL}@lvBovYn=u27D!(iqw2{UiFe> zC!Zxp81!Gz6APl&G2>=AmPs2;E25Uux-IKYFg1) z2@9n&yp+;)-OICtp}2sGQ7sLY>*lChieoOTjoZx{EEa>fBFBSWO5?hAH&pOg8hL#4 z2bSrc|{gP@mXd8FEsfHaxbG8FFDD z;UsJ&AD5!8LIeX*Rd8H~iZw_og}5YSW)oyKH*Te!e931wEH?!^cqv`?=ur}<11Q7- zrA{7ld8BT{T7u`$vdb0=aFdWYj>fV&s;NTD*T!1;WYK{|3mO-DLaY`RY7kNl(ojMJ z5;)-Z`@uHu;{&;-8Xy=d5Wt<5KB6$;(kSk@fgT%2TIEK}PAKJwfdHom7N2sT89WJm z^<8C#U%mU2&9|*vSw$@2W#XOGRdqL(hChgW|0@7}*^`ttfmpZz(z>ihZYJ3IZe%!5UE z>a;+-bY<>7s$V@(JT(md)FXp}lE1_D0*^~Zl&651) qt^0eJU-v&+=vJ;Bhju%n1d_*_kNk&*FGo>^-%|wcl`sSP;IyX delta 805 zcmV+=1KRx02hawPC0;jgcWZS~ATnBIX+%wTRC04`R&r=`LvA@%NMUJgb98SsOmcWO zWkFR+H+fepZACCi3Tk>|G&6Efb~QzDMmcjuVPbZ8OF4L2HdaqgdS^jTVpUm4P-9VN zQ$=Y(lV1TBe@=2WPDwUIYiVqAOKnzSRdQB(Vq{`OK{HKJG-@?gLuxB?MlWJed2wfR z3Px0UM>8^GcUVnYP;FsNQ)y*tWlC#pH#TlnOEgMYM|xvHIYM!DdN65k3N1b$d@Evm zFECj~FMbL*Id3;sbuv^=e_2;KV|qa8-Il zc1l7ubW$=!c{gfsYg$S;Ic-&LXKq4uLugQ8W@=S3W^!tBFlItGR0=IEEg*DAZC5Ka zdU8-ye`{(+YHvz8Lrq$FcU4zpNLNBcd1^OLLQ--=Vo7;NHdzV}BF(#qn~7z{U=m2! z??%>vuWJ25E%1!E#w$kZ=lrXY0FhO9R(0Z-$X7eUOgRWtcI1Du6l{V0ncSG8g0)v zP?tuj4kXb)PBfo>R0(_wvEB}3AGc$fduVZH`8$wc^n8O@g$MzRqG^OVSYcXg1!Lx@ z+w{sfN5cSe;*)RkH41geCL2I#pdxF}JN{8|u+#NiHzu$7cH#&u1LO_0PuNwaeASqP jKsxW2#{=F|ym+5pI&}Ud8a_nKNSG(nS>N!eUD(JvQJh7{ diff --git a/nix/secrets/two_pwd.age b/nix/secrets/two_pwd.age index 54ff2e64..857b8c72 100644 --- a/nix/secrets/two_pwd.age +++ b/nix/secrets/two_pwd.age @@ -1,10 +1,14 @@ age-encryption.org/v1 --> ssh-ed25519 7owkuQ 19/isGgYZjRCPON85JEAYTaM766DiIvvFaaoijZivxU -OE/HYTXVW4JMx7naMAORiYfQXyfrJEuegco97PBlfs4 --> ssh-ed25519 yg55bA qsSTyN6LX3FPcfS9Mo0zZFxlv8bN+tSm3kfr7JInzE8 -OUNksovVTZjecBLo2G2EksGl/f1qMfCv2IKcgWWc7hA --> 8~-grease ^ -TtU/CcXzUV6vxDjnnSs4UHT0skFZdOOGAPZ54XYS9VI5qD5zYPdxlt4Xs293QALL -+EYnfX/02ga1Xik2diAn2/pefStizBztyrqZ6n4ZSFwbYlg66WmG7y+mW+M ---- skqsOtKqWNBNuPKITV3vEQp27npkPn8DmVvT98XFnTw -s2[>m虠JHO[{=ʆ{`sjw: 4);vRp F{9TX< \ No newline at end of file +-> ssh-ed25519 0LL3PQ bOMlgebRdu00Y6AMCMzfMDHz20hmxFZKXZXTV0GxrXI +h8g+yA6VbtKmSpJQd7jRXbI3XZ4t9onF9HAAFZqGfjo +-> ssh-ed25519 0dJ6Mg re3MAlJT/+Cv3JuX32+DDsCpX2fyjmbf6lHWEPo2cS4 +eoGwzNSWZsz7MraRl+WszHPtV/Js5miEpyPW80qE2Rk +-> ssh-ed25519 7owkuQ jVPzIG/BaqhF0pDsQGyTszSYk9uqxgT+gkI3isFfXjw +KNYecxPhASdkrX9HksZvd3PklumBxhT56cwuAvrjrCI +-> ssh-ed25519 yg55bA RQqNeR7/CnTikL1PmjuB8wbrbB/ePXDL5Vc68nwglms +XSdnfZRny11PwqNz2RQXZTJkebgpcIlLPH41anP+bE0 +-> Fwm.uTZQ-grease 0 l*:+ KkJHBhG ++GHIrzesQEN5gofR9foQBAispJYm7Q+ZpcaGA5c +--- BeBZdmPhZssR+92iYgQ/62hlCIiY6SUQaggAZkXTw8I +|.hv"՟i +|pw4ni؟WB?l`[2(ᨿ_i' \ No newline at end of file diff --git a/nix/secrets/typst-bot_token.age b/nix/secrets/typst-bot_token.age index da1052de38e996ea8c0c0dba00fb6f45d5f64624..82ff09f70d27f78294142c915949f7611700b4b8 100644 GIT binary patch literal 776 zcmZY4&C8Pv008i)n-yK6TV$7@#&Uj5C8(UwGu_;D&Q0Bj$fCzvMTdflh&mK>?hq00B{~%J!9$mbE*+w4{RKaMx@}dhg%Oo&i4!dL2ayeBFi<@R z#__CbnFx-<6jXVYEv6 z<#K2fCTV!agq68G3=3AWS#O~#G+<~6gTrM@#WKtnAw;n1<|s>oJXJ`|so@h;rEFbX zGt$2_BFN{d1bVE=Qp;dopfxH$U6v1$hCf4>1~zXXZb%q$TaxltpOY~FtH4GpUrpmw z4N2IFgvJaRq#0g^5 z#LBFv&czG>s?{n;MHI7^5JF^f0zdBy9aTVRGZZ*I#RfChCp{Q)?2#UmL*US>=CfN5 z_V3=KeWebJwqN{loIEREp$|X4vn4K<*T9!Bx7pftaRz`DbIZSwS3Q}TKQAJWvQ$j~*T5(EPOHwsLGC68&IYMK4HCAIwNpM7Sc{xsW zHaRy@lV1TBe{oiCHZM*yHZ^%pa8Ff3WNKAHYNRZC|}NqBHkH7ibVSxr|tGEh@jWJ^$PdPYY%MsasIL^U#Lb#G!c3N1b$buDLd zWnpt=ASxhoS$=pZN^~G~b6_bZSxX9PN_cKdW@BPBe^EwucWhC0D>P$daZG1oMK*IV zW^+L|YePkNGIe1wD>5(&EiEk|ZBuqgc2jv!Z&hVWI`F~2A0=R~BCM97-e1XnM3*&TJeYZ##| diff --git a/nix/secrets/wpa_password.age b/nix/secrets/wpa_password.age index 805ead8d7f71ee66b2043c2481d39bc92dad0fb3..2ac609b7abad4d76e5230daca0b9cbdf8a0339cf 100644 GIT binary patch delta 843 zcmX@h`j~BkYQ2Gvk8wbtLS&FxKtQUAXJLt_uWyoTNp?t5Znkz-SYno`VMRt@QF38v zzP7WzufAI-S5s6qcD`$Yn`fX`ah0pHTS=|~ zm#&>cadC!jYKoDmsiCEUL5i1|Z@PkCaCnY+XrQBcX}yn2NlHnShkL3)UTB`DV`;d1 zxpQE6c~W9QMP_M9QAHqEhMQ4tgtw!=vrmOjM3I|IdP<6sSzcslmA8JbuUVl{USOcU znVDf^hDScSb>{iy*`!hmC8kEHzNUWl<-sY1E+*yP z^JW_e|XrKTooJ6i;V28HMOc!YRWg00gnDbWr$ z)=e);O)O63%FND;@GFTb@y*LC@kz>b$uJG7;L_FARmhJBGxW<12rKpuD=;@G$_mVm zD)fpfa?HpGEDtRA_6RjH*S0Xs@yMt*3FWHaX!NqelxbaYxcZhu3}(D5?VJif?cTTc z9Q%X6E>%XYs}?_uGiA-|mwC9YYv0m$l1C2B*}L}T4Yt+nWrsg9ZjF2%c4YO!n5Ws_ z{_elL)8^Njx=m3t4y_OC`6Xk%$x>w*AEWwDbFQiXIUl&q+?AFjtm(kh$M{@DDQR0* z)xmmS#enH2S==*ID-JqN+qbaNwe>Z_w_bnm;szc6pPTM5Z4mhvci%{B|J>Ylf$Dr3 z?{8j^t=xHB*F5B6F>mvPvlZ+!&wl&O<9%dNmHqX!W=o@IQ!D?w3FQba$Yhhd&Y^59 zVIy_S`@udz+nDf&&HH>cyH)m1yju4wd7iLoPP0XvOEu$O<>*(BTxIPW`u^2@sWWHG z5;MKfIqh;@xW9~k_gq`nx+pQbO{a2d;zUmzeK8^P0W-Vi&GwUCD`NbfZ@=adR>9f= E0QdDlCjbBd delta 673 zcmV;S0$%;&2F(SKC0;jgcWZS~AY@o`MomgDP)=%UZ!2V4N?J{ANHujaNMTE1PGxjC zXLxFPdUI4OWH4?x3PN@;Mk_W;V=yvma&L8OZfb7dfHC@3IJNk(`eOKw;r3QJQ;YGz0@H+5lGe`9b?Z*etgI9D=ORBvH5XHaQ+ zR(Ux~c2##qVnR|(cTG1>VQqF{bTe9ca9MOVIWTcWLo*6)VNYi>MLA@5bZ$8@Q3@?B zEg)ujXGAeIRCH2kL03{|b#5zeb#6ydSV~rBY8C8~O-%f03@NrQ9Q@q??5By>dkT#L45L*{g~ed2xZ=?rQey+cy;zxv-jF zX@Q2dDJsq^(LgAX(8az*1%7ttG~WDusyuGz@r#0IixHH;vRL}c5IjFq`j$bi@vQ}N zLO>Q^u4p4u?tQ_E)C`2ZRi3M7J^RfDVnnhye*_vL_v=M9zH5bQn3ZF!cH!g>ADgX+ zl&~qgs6=v!gv`Mj0fOENN_25F@sfBAin9eh3c^7*;3=n9VxV6W-u>fQ-0;s>v%8In zKK@&@#QIRbRfn`CpzHIrmr_z;@v-30Q+4ML1UIp`<$N_=YfZwTOcEOf^IgT)SN