Compare commits

...

52 Commits

Author SHA1 Message Date
4f6550e9bc
upgrade system, kernel -> 6.10.3 2024-08-08 11:12:09 +03:00
38d3c984ba
change local ip subnet 2024-08-04 13:57:46 +03:00
e297a9567d
add some scripts 2024-08-04 13:49:59 +03:00
ad726cd7a3
remove deprecated option 2024-08-04 13:49:18 +03:00
332e9f84bc
disable grafana on vps 2024-08-04 13:47:52 +03:00
0404c0457a
some settings for vps 2024-08-04 13:47:36 +03:00
b3d8ccafe8
add arduino-ide to workstation 2024-08-04 13:46:46 +03:00
d6972bbcec
wip fix for continue, add devcontainers extension 2024-08-04 13:46:20 +03:00
6fe877ff3a
add idfftastic 2024-08-04 13:45:47 +03:00
71a9792758
vm for testing 2024-08-04 13:45:32 +03:00
043d3f4852
use cachyos kernel on dell-laptop 2024-08-04 13:44:57 +03:00
3462392e58
recompile workstation kernel with llvm18 2024-08-04 13:44:03 +03:00
4d4db407a9
tune postgresql for zfs on AMD-Workstation 2024-08-04 13:42:59 +03:00
44d6c9b64b
disable gitea-runner 2024-08-04 13:42:30 +03:00
e9ceef976c
move gitea to AMD-Workstation 2024-08-04 13:42:10 +03:00
0c46437a19
pass correct nixpkgs, add repl 2024-08-04 13:40:32 +03:00
c3b15d99ec
upgrade system 2024-08-04 13:39:08 +03:00
919e7d0fae
remove deprecated vscode extension 2024-07-17 12:59:22 +03:00
023ed0156b
use lix instead nix properly 2024-07-17 12:59:22 +03:00
1be2a5be2a
add nixos-anywhere to amd-workstation 2024-07-17 12:59:22 +03:00
5f281c4c89
move nixos-vps to another machine 2024-07-17 12:59:21 +03:00
eefe6c54b7
update sops secrets for new nixos-vps 2024-07-17 12:54:47 +03:00
4ddb2923f3
backup minecraft to local directory 2024-07-16 15:36:43 +03:00
589eda5d8a
increase vscode terminal history length 2024-07-16 15:31:50 +03:00
846d57188c
update kavita container 2024-07-16 15:21:28 +03:00
edacd2628f
add some pkgs to amd-workstation 2024-07-16 15:21:05 +03:00
bab096e629
fix dns resolution in tailscale 2024-07-16 15:21:05 +03:00
48dc867a94
move some services from dead hypervisor to workstation 2024-07-16 15:21:05 +03:00
b93b832776
use lix instead of nix 2024-07-16 15:21:05 +03:00
2dd6e4fa5f
add modprobed-db service 2024-07-16 15:21:05 +03:00
51ea2c741c
upgrade 2024-07-16 15:21:05 +03:00
b23745b99a
small flake refactor 2024-07-16 15:05:09 +03:00
5dc9fcc5f5 setup vm for testing custom kernel 2024-07-16 12:02:43 +00:00
55f98da282 compile custom lqx kernel with clang and lto 2024-07-16 12:02:43 +00:00
3ed8cb071a enable ccache 2024-07-16 12:02:43 +00:00
8eab6d8682
random stuff 2024-07-07 17:09:23 +03:00
946efccf70
rip home-hypervisor
It's an old laptop and he does good work all these years. Well, maybe I can fix it.
2024-07-07 17:08:35 +03:00
f61b0e7586
add fontDir 2024-07-07 17:05:00 +03:00
15437786c9
fix monitor resolution 2024-07-07 17:04:51 +03:00
27f20004d1
update containers 2024-07-07 17:04:42 +03:00
37bd82c145
eval inputs with nil 2024-07-07 17:03:57 +03:00
aa7a75a09a
gaming stuff 2024-07-07 17:03:28 +03:00
c68235d2c1
remove my cache from substituters 2024-07-07 17:02:33 +03:00
1d3f3a4eca
harden kiwix-serve service 2024-07-07 17:01:25 +03:00
5b670652ef
forward some ports from nixos-vps to local machines 2024-07-07 17:01:04 +03:00
5ef6e13dd5
readd usb-hdd module for home-hypervisor 2024-07-07 17:00:02 +03:00
77252fc9c4
tune postgresql for zfs 2024-07-07 16:59:27 +03:00
febec3e6f7
add streamrip 2024-07-07 16:59:04 +03:00
0d157d944a
remove vulnix, add vw-24.05 patch 2024-07-07 16:58:44 +03:00
ea18651dfa
fix direnv 2024-07-07 16:56:27 +03:00
c61c9bf230
allow nixos-vps use secrets for home-hypervisor 2024-07-07 16:55:38 +03:00
97172de141
Revert "temporarily disable hdd dependant services"
This reverts commit 0a4a1126b8e0df3e71ea4aea1de17f470eb32df6.
2024-07-02 18:34:55 +03:00
114 changed files with 3213 additions and 1538 deletions

1
.gitignore vendored
View File

@ -1,5 +1,6 @@
.direnv
.VSCodeCounter
anywhere
result*
*.bak
*.qcow2

View File

@ -1,6 +1,6 @@
keys:
- &ataraxia ad382d058c964607b7bbf01b071a8131bf166e80
- &nixos-vps 20d2e2b90c6aa179585b6b6b34cafb9db82f1d40
- &nixos-vps 4ec141b4dd5a00e108b36211b0c4aaeff4e05aa6
- &home-hypervisor a32018133c7afbfd05d5b2795f3b89af369520c6
- &amd-workstation 78fa8fb95e85b2b89f1dd4f0834899283ee22a87
- &dell-laptop 05588f4245256f75a8da42e5d4fe28d9214b685a
@ -23,6 +23,7 @@ creation_rules:
- pgp:
- *ataraxia
- *home-hypervisor
- *nixos-vps
- path_regex: secrets/amd-workstation/[^/]+\.(yaml|json|env|ini)$
key_groups:
- pgp:

19
TODO.md
View File

@ -1,5 +1,11 @@
# TODO
* config.mainuser to extraArgs
* split modules to nixosModules and hmModules
* backup gitea with rustic
* fix waybar config (icons and catppuccin theme)
* move nginx config to respective profiles
* ocis confid and metadata backup (take zfs snapshot and backup it)
* grafana for all services
@ -7,14 +13,23 @@
* use sops for all occurrences of hashedPassword
* auto-import gpg keys
* config qbittorrent
* fix waybar config
* change writeShellScript and writeShellScriptBin to writeShellApplication
* fix mime, fix aria2
* remove aria2?
* move overlay and packages to root folder
* Change all 'latest' tags in docker container to digest: "statping/statping@sha256:aaaaa"
* or add cmd to all containers: "--pull=newer"
* fix global hotkeys for obs (use hyprland pass dispatcher)
https://github.com/catppuccin/rofi
https://github.com/catppuccin/waybar
https://github.com/catppuccin/base16
https://github.com/catppuccin/hyprlock
https://github.com/catppuccin/obs
https://github.com/catppuccin/spicetify
https://github.com/catppuccin/whoogle
https://github.com/catppuccin/dark-reader
## Tips:
* Copy sparse files

486
flake.lock generated
View File

@ -8,11 +8,11 @@
]
},
"locked": {
"lastModified": 1719327076,
"narHash": "sha256-m9QOr0ut3qlWBCRCrggV7/my4oePeg9mAgUpyWvVOy8=",
"lastModified": 1722680456,
"narHash": "sha256-q3ZxjLD/6WnAGwihLlRLoEzIEaVE1AqnH5h1TePYP/I=",
"owner": "ezKEa",
"repo": "aagl-gtk-on-nix",
"rev": "f98006101733084ad17ba328752d0c7f22cef359",
"rev": "54264a57d0c58afd12888eb1c576f96ca811530c",
"type": "github"
},
"original": {
@ -26,11 +26,11 @@
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1719476421,
"narHash": "sha256-PBntLY2mQ0AUDdueyl43cyPPrhQYuTU7c+n68FpXJKM=",
"lastModified": 1723018841,
"narHash": "sha256-EFm+tOPiWfuwgn/4i7TQVm9NEokxnMyFrVPw9QDZT00=",
"owner": "AtaraxiaSjel",
"repo": "nur",
"rev": "b33a812a2d7f746af7bcd25810c021e16c1db24d",
"rev": "97044ef6eba22708d705383dc0c3c6760e266cde",
"type": "github"
},
"original": {
@ -48,11 +48,11 @@
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
"lastModified": 1717279440,
"narHash": "sha256-kH04ReTjxOpQumgWnqy40vvQLSnLGxWP6RF3nq5Esrk=",
"lastModified": 1722472866,
"narHash": "sha256-GJIz4M5HDB948Ex/8cPvbkrNzl/eKUE7/c21JBu4lb8=",
"owner": "zhaofengli",
"repo": "attic",
"rev": "717cc95983cdc357bc347d70be20ced21f935843",
"rev": "e127acbf9a71ebc0c26bc8e28346822e0a6e16ba",
"type": "github"
},
"original": {
@ -148,11 +148,11 @@
},
"catppuccin": {
"locked": {
"lastModified": 1719457243,
"narHash": "sha256-5rOWwMAp/suWVKGavhfdyLsF2mA7Fv2DQWXlt7S+QWA=",
"lastModified": 1722997334,
"narHash": "sha256-vE5FcKVQ3E0txJKt5w3vOlfcN1XoTAlxK9PnQ/CJavA=",
"owner": "catppuccin",
"repo": "nix",
"rev": "53967ef237edd38a5b5cc5441e9b6a44b9554977",
"rev": "66f4ea170093b62f319f41cebd2337a51b225c5a",
"type": "github"
},
"original": {
@ -166,11 +166,11 @@
"nixpkgs": "nixpkgs_4"
},
"locked": {
"lastModified": 1716179347,
"narHash": "sha256-DPiP4yLRcPgWgrnCC/tRp5vUk9teZIfsCT2r8jr1V8A=",
"lastModified": 1722939363,
"narHash": "sha256-qNHJzxdVf8uoV686fmK7DaTztALCyTh7erP/lYb60hg=",
"owner": "catppuccin",
"repo": "vscode",
"rev": "b7a8806f7532a091b0170f281dbc7f35c3fc7761",
"rev": "2d7388ffe7321f588b2f54e2ffaab9fb7c9dde14",
"type": "github"
},
"original": {
@ -179,6 +179,45 @@
"type": "github"
}
},
"chaotic": {
"inputs": {
"compare-to": "compare-to",
"flake-schemas": "flake-schemas",
"home-manager": "home-manager",
"jovian": "jovian",
"nixpkgs": "nixpkgs_5",
"systems": "systems",
"yafas": "yafas"
},
"locked": {
"lastModified": 1722963859,
"narHash": "sha256-TQ5sQ+PX0OeMZx+nYBA0CL3R9Yv6MupLzFU0iQrGGrc=",
"owner": "chaotic-cx",
"repo": "nyx",
"rev": "f41d02a7ca6433c98fac378569617f2652628624",
"type": "github"
},
"original": {
"owner": "chaotic-cx",
"ref": "nyxpkgs-unstable",
"repo": "nyx",
"type": "github"
}
},
"compare-to": {
"locked": {
"lastModified": 1695341185,
"narHash": "sha256-htO6DSbWyCgaDkxi7foPjXwJFPzGjVt3RRUbPSpNtZY=",
"rev": "98b8e330823a3570d328720f87a1153f8a7f2224",
"revCount": 2,
"type": "tarball",
"url": "https://api.flakehub.com/f/pinned/chaotic-cx/nix-empty-flake/0.1.2%2Brev-98b8e330823a3570d328720f87a1153f8a7f2224/018aba35-d228-7fa9-b205-7616c89ef4e0/source.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://flakehub.com/f/chaotic-cx/nix-empty-flake/%3D0.1.2.tar.gz"
}
},
"crane": {
"inputs": {
"nixpkgs": [
@ -203,7 +242,7 @@
"deploy-rs": {
"inputs": {
"flake-compat": "flake-compat_3",
"nixpkgs": "nixpkgs_5",
"nixpkgs": "nixpkgs_6",
"utils": "utils"
},
"locked": {
@ -225,15 +264,15 @@
"cachix": "cachix",
"flake-compat": "flake-compat_5",
"nix": "nix_2",
"nixpkgs": "nixpkgs_7",
"nixpkgs": "nixpkgs_8",
"pre-commit-hooks": "pre-commit-hooks"
},
"locked": {
"lastModified": 1719323427,
"narHash": "sha256-f4ppP2MBPJzkuy/q+PIfyyTWX9OzqgPV1XSphX71tdA=",
"lastModified": 1722937792,
"narHash": "sha256-gyudaKQ8oBk13wIRGNWEkoiw6F+RMsZxHXxCsyHtIic=",
"owner": "cachix",
"repo": "devenv",
"rev": "f810f8d8cb4e674d7e635107510bcbbabaa755a3",
"rev": "bc9926e2cbef29c927b0a959bed5eeba2b55d648",
"type": "github"
},
"original": {
@ -250,7 +289,7 @@
"flake-compat"
],
"nix": "nix",
"nixpkgs": "nixpkgs_6",
"nixpkgs": "nixpkgs_7",
"poetry2nix": "poetry2nix",
"pre-commit-hooks": [
"devenv",
@ -280,11 +319,11 @@
]
},
"locked": {
"lastModified": 1719451710,
"narHash": "sha256-h+bFEQHQ46pBkEsOXbxmmY6QNPPGrgpDbNlHtAKG49M=",
"lastModified": 1722821805,
"narHash": "sha256-FGrUPUD+LMDwJsYyNSxNIzFMldtCm8wXiQuyL2PHSrM=",
"owner": "nix-community",
"repo": "disko",
"rev": "8767dbf5d723b1b6834f4d09b217da7c31580d58",
"rev": "0257e44f4ad472b54f19a6dd1615aee7fa48ed49",
"type": "github"
},
"original": {
@ -441,11 +480,11 @@
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1719745305,
"narHash": "sha256-xwgjVUpqSviudEkpQnioeez1Uo2wzrsMaJKJClh+Bls=",
"lastModified": 1722555600,
"narHash": "sha256-XOQkdLafnb/p9ij77byFQjDf5m5QYl9b2REiVClC+x4=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "c3c5ecc05edc7dafba779c6c1a61cd08ac6583e9",
"rev": "8471fe90ad337a8074e957b69ca4d0089218391d",
"type": "github"
},
"original": {
@ -455,6 +494,27 @@
}
},
"flake-parts_2": {
"inputs": {
"nixpkgs-lib": [
"nix-direnv",
"nixpkgs"
]
},
"locked": {
"lastModified": 1719994518,
"narHash": "sha256-pQMhCCHyQGRzdfAkdJ4cIWiw+JNuWsTX7f0ZYSyz0VY=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "9227223f6d922fee3c7b190b2cc238a99527bbb7",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_3": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib_2"
},
@ -472,7 +532,7 @@
"type": "github"
}
},
"flake-parts_3": {
"flake-parts_4": {
"inputs": {
"nixpkgs-lib": [
"prismlauncher",
@ -480,11 +540,11 @@
]
},
"locked": {
"lastModified": 1717285511,
"narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=",
"lastModified": 1719994518,
"narHash": "sha256-pQMhCCHyQGRzdfAkdJ4cIWiw+JNuWsTX7f0ZYSyz0VY=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8",
"rev": "9227223f6d922fee3c7b190b2cc238a99527bbb7",
"type": "github"
},
"original": {
@ -509,6 +569,20 @@
"type": "github"
}
},
"flake-schemas": {
"locked": {
"lastModified": 1693491534,
"narHash": "sha256-ifw8Td8kD08J8DxFbYjeIx5naHcDLz7s2IFP3X42I/U=",
"rev": "c702cbb663d6d70bbb716584a2ee3aeb35017279",
"revCount": 21,
"type": "tarball",
"url": "https://api.flakehub.com/f/pinned/DeterminateSystems/flake-schemas/0.1.1/018a4c59-80e1-708a-bb4d-854930c20f72/source.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://flakehub.com/f/DeterminateSystems/flake-schemas/%3D0.1.1.tar.gz"
}
},
"flake-utils": {
"locked": {
"lastModified": 1667395993,
@ -559,7 +633,7 @@
},
"flake-utils_3": {
"inputs": {
"systems": "systems_2"
"systems": "systems_3"
},
"locked": {
"lastModified": 1689068808,
@ -577,7 +651,7 @@
},
"flake-utils_4": {
"inputs": {
"systems": "systems_3"
"systems": "systems_4"
},
"locked": {
"lastModified": 1710146030,
@ -610,7 +684,7 @@
},
"flake-utils_6": {
"inputs": {
"systems": "systems_4"
"systems": "systems_5"
},
"locked": {
"lastModified": 1710146030,
@ -628,7 +702,7 @@
},
"flake-utils_7": {
"inputs": {
"systems": "systems_5"
"systems": "systems_6"
},
"locked": {
"lastModified": 1710146030,
@ -691,15 +765,36 @@
"home-manager": {
"inputs": {
"nixpkgs": [
"chaotic",
"nixpkgs"
]
},
"locked": {
"lastModified": 1719438532,
"narHash": "sha256-/Vmso2ZMoFE3M7d1MRsQ2K5sR8CVKnrM6t1ys9Xjpz4=",
"lastModified": 1722630065,
"narHash": "sha256-QfM/9BMRkCmgWzrPDK+KbgJOUlSJnfX4OvsUupEUZvA=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "1a4f12ae0bda877ec4099b429cf439aad897d7e9",
"rev": "afc892db74d65042031a093adb6010c4c3378422",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "home-manager",
"type": "github"
}
},
"home-manager_2": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1723015306,
"narHash": "sha256-jQnFEtH20/OsDPpx71ntZzGdRlpXhUENSQCGTjn//NA=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "b3d5ea65d88d67d4ec578ed11d4d2d51e3de525e",
"type": "github"
},
"original": {
@ -723,6 +818,28 @@
"type": "github"
}
},
"jovian": {
"inputs": {
"nix-github-actions": "nix-github-actions",
"nixpkgs": [
"chaotic",
"nixpkgs"
]
},
"locked": {
"lastModified": 1722666143,
"narHash": "sha256-uTr3LiytFHFUYmIrhs5NoGlm5DCJxQlfyaZEKCU/DS8=",
"owner": "Jovian-Experiments",
"repo": "Jovian-NixOS",
"rev": "bcfe9dc708c92590fec676692b3ed79443eda819",
"type": "github"
},
"original": {
"owner": "Jovian-Experiments",
"repo": "Jovian-NixOS",
"type": "github"
}
},
"libnbtplusplus": {
"flake": false,
"locked": {
@ -760,7 +877,7 @@
"flake-compat": "flake-compat_6",
"flake-utils": "flake-utils_5",
"nix": "nix_3",
"nixpkgs": "nixpkgs_9"
"nixpkgs": "nixpkgs_10"
},
"locked": {
"lastModified": 1669478601,
@ -813,11 +930,11 @@
]
},
"locked": {
"lastModified": 1718448591,
"narHash": "sha256-TDzUlwvCmkY4IzEMLV7vmB/GlKznsS+/oBO4Z6z9ACE=",
"lastModified": 1722576181,
"narHash": "sha256-0YYH6dTJK+mzqH7KvXep5Zv/qjHCGv+hM1eLMd0aBM4=",
"owner": "thiagokokada",
"repo": "nix-alien",
"rev": "d457975f39a4eaf8bec55b7cc3ff26226d4fb062",
"rev": "5d41c9c1aac104c15d06808f0c35c23e26809875",
"type": "github"
},
"original": {
@ -826,13 +943,33 @@
"type": "github"
}
},
"nix-fast-build": {
"nix-direnv": {
"inputs": {
"flake-parts": "flake-parts_2",
"nixpkgs": "nixpkgs_11",
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1720977067,
"narHash": "sha256-Sp3hvtEGFZvJvMEyBuj9x3dDi0L0jpCV1gGVck+CjOQ=",
"owner": "nix-community",
"repo": "nix-direnv",
"rev": "104a5075a182b5fb15a4e33e21e6c5b869a5151f",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nix-direnv",
"type": "github"
}
},
"nix-fast-build": {
"inputs": {
"flake-parts": "flake-parts_3",
"nixpkgs": [
"nixpkgs"
],
"treefmt-nix": "treefmt-nix"
"treefmt-nix": "treefmt-nix_2"
},
"locked": {
"lastModified": 1719475157,
@ -864,6 +1001,29 @@
}
},
"nix-github-actions": {
"inputs": {
"nixpkgs": [
"chaotic",
"jovian",
"nixpkgs"
]
},
"locked": {
"lastModified": 1690328911,
"narHash": "sha256-fxtExYk+aGf2YbjeWQ8JY9/n9dwuEt+ma1eUFzF8Jeo=",
"owner": "zhaofengli",
"repo": "nix-github-actions",
"rev": "96df4a39c52f53cb7098b923224d8ce941b64747",
"type": "github"
},
"original": {
"owner": "zhaofengli",
"ref": "matrix-name",
"repo": "nix-github-actions",
"type": "github"
}
},
"nix-github-actions_2": {
"inputs": {
"nixpkgs": [
"devenv",
@ -889,14 +1049,17 @@
},
"nix-index-database": {
"inputs": {
"nixpkgs": "nixpkgs_10"
"nixpkgs": [
"nix-alien",
"nixpkgs"
]
},
"locked": {
"lastModified": 1718011381,
"narHash": "sha256-sFXI+ZANp/OC+MwfJoZgPSf4xMdtzQMe1pS3FGti4C8=",
"lastModified": 1720926593,
"narHash": "sha256-fW6e27L6qY6s+TxInwrS2EXZZfhMAlaNqT0sWS49qMA=",
"owner": "nix-community",
"repo": "nix-index-database",
"rev": "88ad3d7501e22b2401dd72734b032b7baa794434",
"rev": "5fe5b0cdf1268112dc96319388819b46dc051ef4",
"type": "github"
},
"original": {
@ -914,11 +1077,11 @@
]
},
"locked": {
"lastModified": 1719451583,
"narHash": "sha256-2FHGp9cH5q42yVdYAfLjMCYJgr+VYfMW4LYmCOptlpg=",
"lastModified": 1722994187,
"narHash": "sha256-K5V2N5HkGaLpf5StNbtKBM6O9K+CYF/8F8hlGUVgiKk=",
"owner": "nix-community",
"repo": "nix-vscode-extensions",
"rev": "4157bcc67488e09407f5edc130ebf62c1a1a1433",
"rev": "6fc50b0716bc415cfd1bc81bb9e198d78cd03b3d",
"type": "github"
},
"original": {
@ -957,7 +1120,7 @@
"nix_3": {
"inputs": {
"lowdown-src": "lowdown-src",
"nixpkgs": "nixpkgs_8",
"nixpkgs": "nixpkgs_9",
"nixpkgs-regression": "nixpkgs-regression_3"
},
"locked": {
@ -976,11 +1139,11 @@
},
"nixlib": {
"locked": {
"lastModified": 1719103869,
"narHash": "sha256-kbTUy+/lfjUrMfV7JkTJwxowsFhi9Tb3BdbiOcIGcsc=",
"lastModified": 1722732880,
"narHash": "sha256-do2Mfm3T6SR7a5A804RhjQ+JTsF5hk4JTPGjCTRM/m8=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "f820613f886cd1aa4bcfd1dbaa6c83c8a3dcd863",
"rev": "8bebd4c74f368aacb047f0141db09ec6b339733c",
"type": "github"
},
"original": {
@ -997,11 +1160,11 @@
]
},
"locked": {
"lastModified": 1719450236,
"narHash": "sha256-fh0l6pLvuTrTBakFMQfK7lwpjvWd5i+CFyVs8TMzPNo=",
"lastModified": 1722819251,
"narHash": "sha256-f99it92NQSZsrZ8AYbiwAUfrtb/ZpZRqUsl4q6rMA5s=",
"owner": "nix-community",
"repo": "nixos-generators",
"rev": "1867f28f87fcf4e817f165003aff967a5280aaab",
"rev": "c8c3a20b8191819219dba1af79388aa6d555f634",
"type": "github"
},
"original": {
@ -1028,14 +1191,14 @@
},
"nixpkgs-lib": {
"locked": {
"lastModified": 1717284937,
"narHash": "sha256-lIbdfCsf8LMFloheeE6N31+BMIeixqyQWbSr2vk79EQ=",
"lastModified": 1722555339,
"narHash": "sha256-uFf2QeW7eAHlYXuDktm9c25OxOyCoUOQmh5SZ9amE5Q=",
"type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz"
"url": "https://github.com/NixOS/nixpkgs/archive/a5d394176e64ab29c852d03346c1fc9b0b7d33eb.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/eb9ceca17df2ea50a250b6b27f7bf6ab0186f198.tar.gz"
"url": "https://github.com/NixOS/nixpkgs/archive/a5d394176e64ab29c852d03346c1fc9b0b7d33eb.tar.gz"
}
},
"nixpkgs-lib_2": {
@ -1052,11 +1215,11 @@
},
"nixpkgs-master": {
"locked": {
"lastModified": 1719483014,
"narHash": "sha256-A7z3iygqdSgs659vGIH2b66oM6lbXw1j9yXwV+JzmRY=",
"lastModified": 1723031421,
"narHash": "sha256-Q4iMzihS+4mzCadp+ADr782Jrd1Mgvr7lLZbkWx33Hw=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "c3d2469feee46b3ca1aca909f4257c53186f310b",
"rev": "1602c0d3c0247d23eb7ca501c3e592aa1762e37b",
"type": "github"
},
"original": {
@ -1148,11 +1311,11 @@
},
"nixpkgs-stable_3": {
"locked": {
"lastModified": 1719707984,
"narHash": "sha256-RoxIr/fbndtuKqulGvNCcuzC6KdAib85Q8gXnjzA1dw=",
"lastModified": 1722869614,
"narHash": "sha256-7ojM1KSk3mzutD7SkrdSflHXEujPvW1u7QuqWoTLXQU=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "7dca15289a1c2990efbe4680f0923ce14139b042",
"rev": "883180e6550c1723395a3a342f830bfc5c371f6b",
"type": "github"
},
"original": {
@ -1164,43 +1327,59 @@
},
"nixpkgs-stable_4": {
"locked": {
"lastModified": 1719099622,
"narHash": "sha256-YzJECAxFt+U5LPYf/pCwW/e1iUd2PF21WITHY9B/BAs=",
"lastModified": 1721524707,
"narHash": "sha256-5NctRsoE54N86nWd0psae70YSLfrOek3Kv1e8KoXe/0=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "5e8e3b89adbd0be63192f6e645e0a54080004924",
"rev": "556533a23879fc7e5f98dd2e0b31a6911a213171",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "release-23.11",
"ref": "release-24.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_10": {
"locked": {
"lastModified": 1717786204,
"narHash": "sha256-4q0s6m0GUcN7q+Y2DqD27iLvbcd1G50T2lv08kKxkSI=",
"lastModified": 1669378442,
"narHash": "sha256-nm+4PN0A4SnV0SzEchxrMyKPvI3Ld/aoom4PnHeHucs=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "051f920625ab5aabe37c920346e3e69d7d34400e",
"rev": "0faaf0a9bb6dedb69bfd43ac06fb27fadc476c51",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"ref": "nixos-22.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_11": {
"locked": {
"lastModified": 1719254875,
"narHash": "sha256-ECni+IkwXjusHsm9Sexdtq8weAq/yUyt1TWIemXt3Ko=",
"lastModified": 1720368505,
"narHash": "sha256-5r0pInVo5d6Enti0YwUSQK4TebITypB42bWy5su3MrQ=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "ab82a9612aa45284d4adf69ee81871a389669a9e",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_12": {
"locked": {
"lastModified": 1722813957,
"narHash": "sha256-IAoYyYnED7P8zrBFMnmp7ydaJfwTnwcnqxUElC1I26Y=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "2893f56de08021cffd9b6b6dfc70fd9ccd51eb60",
"rev": "cb9a96f23c491c081b38eab96d22fa958043c9fa",
"type": "github"
},
"original": {
@ -1210,13 +1389,13 @@
"type": "github"
}
},
"nixpkgs_12": {
"nixpkgs_13": {
"locked": {
"lastModified": 1718276985,
"narHash": "sha256-u1fA0DYQYdeG+5kDm1bOoGcHtX0rtC7qs2YA2N1X++I=",
"lastModified": 1720768451,
"narHash": "sha256-EYekUHJE2gxeo2pM/zM9Wlqw1Uw2XTJXOSAO79ksc4Y=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "3f84a279f1a6290ce154c5531378acc827836fbb",
"rev": "7e7c39ea35c5cdd002cd4588b03a3fb9ece6fad9",
"type": "github"
},
"original": {
@ -1275,6 +1454,22 @@
}
},
"nixpkgs_5": {
"locked": {
"lastModified": 1722813957,
"narHash": "sha256-IAoYyYnED7P8zrBFMnmp7ydaJfwTnwcnqxUElC1I26Y=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "cb9a96f23c491c081b38eab96d22fa958043c9fa",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_6": {
"locked": {
"lastModified": 1702272962,
"narHash": "sha256-D+zHwkwPc6oYQ4G3A1HuadopqRwUY/JkMwHz1YF7j4Q=",
@ -1290,7 +1485,7 @@
"type": "github"
}
},
"nixpkgs_6": {
"nixpkgs_7": {
"locked": {
"lastModified": 1692808169,
"narHash": "sha256-x9Opq06rIiwdwGeK2Ykj69dNc2IvUH1fY55Wm7atwrE=",
@ -1306,7 +1501,7 @@
"type": "github"
}
},
"nixpkgs_7": {
"nixpkgs_8": {
"locked": {
"lastModified": 1713361204,
"narHash": "sha256-TA6EDunWTkc5FvDCqU3W2T3SFn0gRZqh6D/hJnM02MM=",
@ -1322,7 +1517,7 @@
"type": "github"
}
},
"nixpkgs_8": {
"nixpkgs_9": {
"locked": {
"lastModified": 1657693803,
"narHash": "sha256-G++2CJ9u0E7NNTAi9n5G8TdDmGJXcIjkJ3NF8cetQB8=",
@ -1338,26 +1533,10 @@
"type": "github"
}
},
"nixpkgs_9": {
"locked": {
"lastModified": 1669378442,
"narHash": "sha256-nm+4PN0A4SnV0SzEchxrMyKPvI3Ld/aoom4PnHeHucs=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "0faaf0a9bb6dedb69bfd43ac06fb27fadc476c51",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-22.05",
"repo": "nixpkgs",
"type": "github"
}
},
"poetry2nix": {
"inputs": {
"flake-utils": "flake-utils_3",
"nix-github-actions": "nix-github-actions",
"nix-github-actions": "nix-github-actions_2",
"nixpkgs": [
"devenv",
"cachix",
@ -1424,11 +1603,11 @@
]
},
"locked": {
"lastModified": 1717664902,
"narHash": "sha256-7XfBuLULizXjXfBYy/VV+SpYMHreNRHk9nKMsm1bgb4=",
"lastModified": 1720524665,
"narHash": "sha256-ni/87oHPZm6Gv0ECYxr1f6uxB0UKBWJ6HvS7lwLU6oY=",
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"rev": "cc4d466cb1254af050ff7bdf47f6d404a7c646d1",
"rev": "8d6a17d0cdf411c55f12602624df6368ad86fac1",
"type": "github"
},
"original": {
@ -1440,17 +1619,17 @@
"prismlauncher": {
"inputs": {
"flake-compat": "flake-compat_9",
"flake-parts": "flake-parts_3",
"flake-parts": "flake-parts_4",
"libnbtplusplus": "libnbtplusplus",
"nixpkgs": "nixpkgs_12",
"nixpkgs": "nixpkgs_13",
"pre-commit-hooks": "pre-commit-hooks_2"
},
"locked": {
"lastModified": 1719025961,
"narHash": "sha256-XlBQF+1+hd3Jep7we0zUCpigvcY4ESV8MsVqZv4CKhI=",
"lastModified": 1722050029,
"narHash": "sha256-FoFsw+BhdJAtiT+tVmyOT6GFw7pCFy2Ox1JXBt5ZwME=",
"owner": "AtaraxiaSjel",
"repo": "PrismLauncher",
"rev": "755d56101f9cd1ee134afc4c2d6765720c2cf24b",
"rev": "67aede29f4e4271e566189e7a85a943401aa543e",
"type": "github"
},
"original": {
@ -1470,19 +1649,21 @@
"cassowary": "cassowary",
"catppuccin": "catppuccin",
"catppuccin-vsc": "catppuccin-vsc",
"chaotic": "chaotic",
"deploy-rs": "deploy-rs",
"devenv": "devenv",
"disko": "disko",
"flake-parts": "flake-parts",
"flake-registry": "flake-registry",
"home-manager": "home-manager",
"home-manager": "home-manager_2",
"impermanence": "impermanence",
"mms": "mms",
"nix-alien": "nix-alien",
"nix-direnv": "nix-direnv",
"nix-fast-build": "nix-fast-build",
"nix-vscode-marketplace": "nix-vscode-marketplace",
"nixos-generators": "nixos-generators",
"nixpkgs": "nixpkgs_11",
"nixpkgs": "nixpkgs_12",
"nixpkgs-master": "nixpkgs-master",
"nixpkgs-stable": "nixpkgs-stable_3",
"prismlauncher": "prismlauncher",
@ -1497,11 +1678,11 @@
"nixpkgs-stable": "nixpkgs-stable_4"
},
"locked": {
"lastModified": 1719268571,
"narHash": "sha256-pcUk2Fg5vPXLUEnFI97qaB8hto/IToRfqskFqsjvjb8=",
"lastModified": 1722897572,
"narHash": "sha256-3m/iyyjCdRBF8xyehf59QlckIcmShyTesymSb+N4Ap4=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "c2ea1186c0cbfa4d06d406ae50f3e4b085ddc9b3",
"rev": "8ae477955dfd9cbf5fa4eb82a8db8ddbb94e79d9",
"type": "github"
},
"original": {
@ -1512,16 +1693,16 @@
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"repo": "default-linux",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"repo": "default-linux",
"type": "github"
}
},
@ -1585,7 +1766,43 @@
"type": "github"
}
},
"systems_6": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"treefmt-nix": {
"inputs": {
"nixpkgs": [
"nix-direnv",
"nixpkgs"
]
},
"locked": {
"lastModified": 1720374026,
"narHash": "sha256-ludjqxhR/5lXwJ1H6zHmZqp+4e8dFPHE9FIZ2eBh2G4=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "e1d7bd5ec6fc389eb3a90e232c4150338bf6a508",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "treefmt-nix",
"type": "github"
}
},
"treefmt-nix_2": {
"inputs": {
"nixpkgs": [
"nix-fast-build",
@ -1608,7 +1825,7 @@
},
"utils": {
"inputs": {
"systems": "systems"
"systems": "systems_2"
},
"locked": {
"lastModified": 1701680307,
@ -1623,6 +1840,31 @@
"repo": "flake-utils",
"type": "github"
}
},
"yafas": {
"inputs": {
"flake-schemas": [
"chaotic",
"flake-schemas"
],
"systems": [
"chaotic",
"systems"
]
},
"locked": {
"lastModified": 1695926485,
"narHash": "sha256-wNFFnItckgSs8XeYhhv8vlJs2WF09fSQaWgw4xkDqHQ=",
"owner": "UbiqueLambda",
"repo": "yafas",
"rev": "7772afd6686458ca0ddbc599a52cf5d337367653",
"type": "github"
},
"original": {
"owner": "UbiqueLambda",
"repo": "yafas",
"type": "github"
}
}
},
"root": "root",

View File

@ -44,6 +44,7 @@
url = "github:thiagokokada/nix-alien";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-direnv.url = "github:nix-community/nix-direnv";
nix-fast-build = {
url = "github:Mic92/nix-fast-build";
inputs.nixpkgs.follows = "nixpkgs";
@ -61,6 +62,8 @@
url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable";
};
outputs = inputs: inputs.flake-parts.lib.mkFlake { inherit inputs; } (
@ -94,9 +97,9 @@
patches = p;
};
# Get nixosSystem func from patched nixpkgs
nixosSystem = n: p: import ((nixpkgs-patched n p) + "/nixos/lib/eval-config.nix");
nixosSystem = n: import (n + "/nixos/lib/eval-config.nix");
# Make host config
mkHost = name: nixosSystem:
mkHost = name: nixosSystem: self-nixpkgs:
nixosSystem {
system = builtins.readFile (./machines + "/${name}/system");
modules = builtins.attrValues self.customModules ++ [
@ -105,7 +108,7 @@
{ nixpkgs.config.allowUnfree = true; }
inputs.sops-nix.nixosModules.sops
];
specialArgs = { inherit self; inherit inputs; secrets = ./secrets; };
specialArgs = { inherit self inputs self-nixpkgs; secrets = ./secrets; };
};
patchesPath = map (x: ./patches + "/${x}");
@ -127,9 +130,7 @@
packages = [
rebuild upgrade
] ++ builtins.attrValues {
inherit (pkgs)
nixfmt-rfc-style statix vulnix
deadnix git deploy-rs sops;
inherit (pkgs) nixfmt-rfc-style statix deadnix git deploy-rs sops;
};
};
@ -150,34 +151,60 @@
};
};
flake = {
flake = let
unstable-nixpkgs = nixpkgs-patched inputs.nixpkgs unstable-patches;
stable-nixpkgs = nixpkgs-patched inputs.nixpkgs-stable stable-patches;
unstable-system = nixosSystem unstable-nixpkgs;
stable-system = nixosSystem stable-nixpkgs;
shared-patches = patchesPath [ ];
unstable-patches = shared-patches ++ patchesPath [
"netbird-24.11.patch"
"onlyoffice.patch"
"vaultwarden.patch"
# "zen-kernels.patch"
"fix-args-override.patch"
"zfs-2.2.5.patch"
"pahole-fix.patch"
];
stable-patches = shared-patches ++ patchesPath [
"netbird-24.05.patch" "vaultwarden-24.05.patch"
];
in {
customModules = builtins.listToAttrs (findModules ./modules);
customProfiles = builtins.listToAttrs (findModules ./profiles);
customRoles = import ./roles;
secretsDir = ./secrets;
inherit unstable-nixpkgs;
nixosConfigurations = withSystem "x86_64-linux" ({ ... }:
let
unstable = nixosSystem inputs.nixpkgs unstable-patches;
stable = nixosSystem inputs.nixpkgs-stable stable-patches;
shared-patches = patchesPath [ ];
unstable-patches = shared-patches ++ patchesPath [
"jaxlib.patch"
"netbird-24.11.patch"
"onlyoffice.patch"
"vaultwarden.patch"
"zen-kernels.patch"
];
stable-patches = shared-patches ++ patchesPath [ "netbird-24.05.patch" ];
in {
AMD-Workstation = mkHost "AMD-Workstation" unstable;
Dell-Laptop = mkHost "Dell-Laptop" unstable;
Home-Hypervisor = mkHost "Home-Hypervisor" unstable;
NixOS-VPS = mkHost "NixOS-VPS" stable;
{
AMD-Workstation = mkHost "AMD-Workstation" unstable-system unstable-nixpkgs;
Dell-Laptop = mkHost "Dell-Laptop" unstable-system unstable-nixpkgs;
Home-Hypervisor = mkHost "Home-Hypervisor" unstable-system unstable-nixpkgs;
NixOS-VPS = mkHost "NixOS-VPS" stable-system stable-nixpkgs;
}
);
packages.x86_64-linux = {
NixOS-VM = inputs.nixos-generators.nixosGenerate {
system = "x86_64-linux";
modules = builtins.attrValues self.customModules ++ [
(import (./machines/NixOS-VM))
{ device = "NixOS-VM"; mainuser = "ataraxia"; }
{ nixpkgs.config.allowUnfree = true; }
inputs.sops-nix.nixosModules.sops
];
specialArgs = {
inherit self inputs;
secrets = ./secrets;
self-nixpkgs = unstable-nixpkgs;
};
nixosSystem = unstable-system;
format = "vm";
};
};
deploy.nodes = withSystem "x86_64-linux" ({ ... }:
let
pkgs = inputs.nixpkgs.legacyPackages.x86_64-linux;
@ -198,9 +225,9 @@
};
} // conf;
in builtins.mapAttrs mkDeploy {
Home-Hypervisor = { hostname = "192.168.0.10"; };
Dell-Laptop = { hostname = "192.168.0.101"; };
NixOS-VPS = { hostname = "nixos-vps"; };
Home-Hypervisor = { hostname = "10.10.10.10"; };
Dell-Laptop = { hostname = "10.10.10.101"; };
NixOS-VPS = { hostname = "45.135.180.193"; };
}
);

View File

@ -1,28 +1,28 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
xsFNBAAAAAABEAC2DRA/vbUMnKYjp/EiDr0BalgHlHKwd9W6V2OGbQm/QKaLIBTs
qxsaAYMMy396+kxOl2GyzEFqgbWwGioAAmUDZY+IF/EjWTFVxUt8uZsx2G+WeInQ
OudSuedmq7KsVJ8TVLjfaDhqIsu+HDNn4/AXlrQtq7Jp4nHOsD5/ooIRfTGdH6wd
dUrxulld0r9S8Oa24+SLnGYJHGSB5o86hdA/HA7XIvDDA81amXsFYF1bjkXP43Sm
So6CDZ5iWfTNEB6OBJRD50qEl3jC0HpmZFMSYVGUwfp38mBdpK3uS7byqzFQ2NTM
BoktwPseXq/Y4Xt4fb3aFeMhANdiVLsj4tuYTdHZbht5dH8v92AeGdcjy8+JFeN0
bTdYXXQKi5vN+ghEz6iq+fSTXLIQkcNBn/Hy3NMl/9oUuMb3ILOk8Ob6HCRP+ROa
qMF7t+iRC18065Wwo0bHZcPHUrd/bFSmYEND9x2RutK5ilMVPpoQmfugUIla9DR5
dzSASZkHooe3uX7EuuNyJlAgnVSkofQROUvOWVBy58QlLU3QBSMBJJEmoRGXDjZF
maGOTTdMumiNmLjSrnS7t9LRDfHINQbmjAG+eAICW3OEafFhujjK9Mj57F+eyLVx
sXzGXsMMRb8i36/hDUHhmBapBGPok+romlnWrMsNrjbPb89YaJGV73R3eQARAQAB
xsFNBAAAAAABEAC+hXc/r/l98Az2kBLE8hyf1JkdKPdUImlzLyB8DYbYcdhLJ/Fa
MatqYqiz1nSwJgmVVSP6FpExQcqhuqS24RsxAIRlcaf3qooOwSGOdbUk/lEEmKo4
7c1oy/EzS3bIMzcS5qEelQGVpP6BPx8fYPH8R8/jo1OKsgO/vDzmaOR8/dhXvfXS
WmRC0P7kyP4GwTWUIkQ447Plyj0q1dynixAx4z+zbH4k6h13ySD+MO7R1FPB+7Bu
fiQQ+EOM7UsP/gFSrFG+VYaxAHtBPM9m9xEIs/J2MpBhb6O6lFIQdyhlErHVm6R4
w7lIOiG/BVZJ0gG37r9GXdpHg1ZvhpWFBLDkBQPSa78F+m3aKWIuQs6wt25Ok9Sx
952x8FYz8nbNN43KiLG2fVorwDB3vYaie/vWVnb/KqnrvaARbLHdtObS51SPKcqe
G780MT9kSZ8CjZGkIiEGR6FlcXrSxtJqqLhStvmxsrs+2p+ryS0/PV1ueAJRYZtp
Zrqywr8soawS4DtV/Q6qRXT04COOpHsQdMnEGVe0zdmZpQa3lt69QdFm+uC2CB/A
WFbyKnxDijpgnGx8MhYQbEooyWPpZXIU3cqj69jELK8h8LC/Xc6cK28eSNswFWH6
p0KLaJjVnfR3IRsULmOUxdmEHArJRLKe3E6hyoPU5XL/DL9dr0FoGSpZCQARAQAB
zSlyb290IChJbXBvcnRlZCBmcm9tIFNTSCkgPHJvb3RAbG9jYWxob3N0PsLBYgQT
AQgAFgUCAAAAAAkQNMr7nbgvHUACGw8CGQEAAC4QEAALmykKqbgs77U4ud6IMSW2
TZ9QW4nw+Oye6kF5ip95Xq2VsqZP0AuthILXUxYkfWI6xLwXoL0NWZzZGXqomrJf
nGegLuisSMUarQEx9CIcInmZJ1FYXh5AOIpNmk+bwaLLs0eWmvRMUOXFtXqxoveN
WH2/G9fOLyrWStLYV5i6xBLQ/WEW/2hkAvgIzwZ9QB2mCqFwvfFVDM+s66zmysuW
GbLPbgtXKSC9uYs4ue6ok8Z9jy9y/sd9bpRgHoCG61sf5Wy6ENbrQcgsDnDg67ep
2F53c2b9BCfNy4xolEvtUxj/2UlCqMQ/GyJsw+41GpX9exKw7puAs6AAi0VbKgBc
bwoMPziojYlXu2wjBL4ijkXsOirO9JS1JKFvaDBDQG4Rk+bh6kFVygI5A6oZHxzN
+DQNfzbd7TpdidQMm+bmu3Bj71yAx8zS+xzV7/+Oy7zvgCo5xUMeBYCjVmx+j+mf
XGLBQp89QtTFuvvP+a7t9JN1oQTeSnEmQqb2dqNksZUbL++l7wY4i3TQ0VzUttaw
o62Qnp8wjU3SltTsCJGc0RiV29XZlhE4vQWZSzAL//oxI924tDf4jwnD1jsRZfWy
9MvUoXPjWG3bNAYkQwMTOgjGQMQcy7IeYdXMcESetO0IFW8NDs/gqM1kAp2lb1Bg
t6g8A6SpKf2sA/W/6Wu6vg==
=nAU7
AQgAFgUCAAAAAAkQsMSq7/TgWqYCGw8CGQEAAJznEACwiFUMfos/ZH+ck3Y2J8z8
vk/256oUs+eiKQgApdj8Ve3VfP7csxTnvCgYzYLH/M7iLMbCSCmTRbeZhgULJTYw
oOwJbcbCs4JsX8WLJuFzh4FMBpUfNnoEddHRk+5eUlM2W940DoMqsKBCQvAbTFYM
UeCzFdoZxUAZfv0WJu/CzVjaQMNXeGEcWVpyw0W5MwUByZuYhuZxIX1/9xi2Bkkm
EnrPpmbl39b46MPUCO/cVXimrEixWttZqD016DsgVfRttdUvnoy+nJrYUm1hHYhZ
UOx/ap7zsWBUqG0LNGANzvclJybJ8wb5uVCto7OcbNU+quYuJ3V55Aqw/4/CEDD+
nhZsvQRYPPtSFsI8ThdfOQ34l0R3KXfA22Eot5E2wW0MIPKxga3J91106vYFIJPx
Rbp47BNvDFWRwfZfAq/BcQqPY+Z03x4Wi6yRW8XehuD92tsNE5Mo/sLLNObYQatm
iDXsgQ7By9USprv57TlzE9sRbiYVzxtEPlACE5SFyExtMrkKht3istsRGTJjqq5A
6sNELjs+AY06LKiBMS0MrTI1fgTa4QPQcJGl0NjZAFtDlKG72N/RWpd+1wLXPx5/
2XR65Y5ONGGjQlX1ek7cXj758Hx/nSZVya45xuNXq3xI2mLJx7tV/oMeFRIAxEo1
iWh/pz+cRoPKmR984pcAEw==
=uipR
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -31,8 +31,8 @@ in {
enableCryptodisk = true;
useOSProber = false;
zfsSupport = true;
gfxmodeEfi = "2560x1440"; # efiInstallAsRemovable = true;
# theme = pkgs.;
gfxmodeEfi = "2560x1440";
# efiInstallAsRemovable = true;
};
systemd-boot.enable = lib.mkForce false;
efi.canTouchEfiVariables = true;

View File

@ -2,6 +2,7 @@
imports = with inputs.self; [
./boot.nix
./hardware-configuration.nix
./kernel
customRoles.workstation
customProfiles.a2ln-server
@ -13,12 +14,33 @@
customProfiles.hoyo
customProfiles.minecraft
customProfiles.nicotine
customProfiles.sunshine
# customProfiles.sunshine
customProfiles.wine-games
customProfiles.ollama
customProfiles.ccache
customProfiles.acme
customProfiles.gitea
customProfiles.media-stack
customProfiles.tinyproxy
./nginx.nix
../Home-Hypervisor/usb-hdd.nix
];
networking.extraHosts = ''
127.0.0.1 code.ataraxiadev.com
127.0.0.1 jackett.ataraxiadev.com
127.0.0.1 jellyfin.ataraxiadev.com
127.0.0.1 kavita.ataraxiadev.com
127.0.0.1 lidarr.ataraxiadev.com
127.0.0.1 medusa.ataraxiadev.com
127.0.0.1 qbit.ataraxiadev.com
127.0.0.1 radarr.ataraxiadev.com
127.0.0.1 recyclarr.ataraxiadev.com
127.0.0.1 sonarr.ataraxiadev.com
'';
security.pki.certificateFiles = [ ../../misc/mitmproxy-ca-cert.pem ];
virtualisation.libvirt.guests = {
@ -82,17 +104,24 @@
services.ratbagd.enable = true;
# Networking
networking.firewall.allowedTCPPorts = [ 8000 5900 52736 3456 ];
networking.nameservers = [ "192.168.0.1" ];
networking.defaultGateway = "192.168.0.1";
networking.nameservers = [ "10.10.10.1" ];
networking.defaultGateway = "10.10.10.1";
networking.bridges.br0.interfaces = [ "enp9s0" ];
networking.interfaces.br0 = {
useDHCP = false;
ipv4.addresses = [{
address = "192.168.0.100";
address = "10.10.10.100";
prefixLength = 24;
}];
};
services.postgresql.settings = {
full_page_writes = "off";
wal_init_zero = "off";
wal_recycle = "off";
};
services.modprobed-db.enable = true;
programs.nix-ld.enable = true;
home-manager.users.${config.mainuser} = {
home.packages = [
@ -112,6 +141,17 @@
pkgs.mitmproxy
pkgs.exercism
pkgs.packwiz
pkgs.streamrip
pkgs.nix-diff
pkgs.dig.dnsutils
pkgs.libsForQt5.ark
pkgs.libsForQt5.dolphin
pkgs.nh
pkgs.yt-archivist
pkgs.modprobed-db
pkgs.nixos-anywhere
pkgs.arduino-ide
];
xdg.configFile."distrobox/distrobox.conf".text = ''
container_always_pull="1"
@ -139,11 +179,15 @@
persist.state = {
directories = [ "/var/lib/netbird-priv" ];
homeDirectories = [
".arduino15"
".arduinoIDE"
".local/share/winbox"
".local/share/PrismLauncher"
".local/share/distrobox"
".mitmproxy"
".config/exercism"
".config/modprobed-db"
".config/streamrip"
];
};

View File

@ -0,0 +1,93 @@
{ config, pkgs, lib, ... }: {
# boot.kernelPackages = lib.mkForce (pkgs.linuxPackagesFor pkgs.linuxLqxZfs);
boot.kernelPackages = lib.mkForce pkgs.linuxPackages_lqx_clang;
nixpkgs.overlays = let
inherit (pkgs) overrideCC ccacheWrapper addAttrsToDerivation pkgsBuildHost pkgsBuildBuild;
llvmPackages = "llvmPackages_18";
noBintools = { bootBintools = null; bootBintoolsNoLibc = null; };
mkLLVMPlatform = platform: platform // { useLLVM = true; };
# Get llvmPackages for host and build platforms, disabling bootBintools
hostLLVM = pkgsBuildHost.${llvmPackages}.override noBintools;
# buildLLVM = pkgsBuildBuild.${llvmPackages}.override noBintools; # unused
# Get LLVM stdenv with clang
stdenvClangUseLLVM = overrideCC hostLLVM.stdenv hostLLVM.clangUseLLVM;
# set useLLVM to true for host and build platforms
stdenvPlatformLLVM = stdenvClangUseLLVM.override (old: {
hostPlatform = mkLLVMPlatform old.hostPlatform;
buildPlatform = mkLLVMPlatform old.buildPlatform;
});
# Wrap clang with ccache
stdenvCcacheLLVM = overrideCC stdenvPlatformLLVM (
ccacheWrapper.override { cc = stdenvPlatformLLVM.cc; }
);
# Disable fortify hardening as LLVM does not support it, and disable response file
stdenvLLVM = addAttrsToDerivation {
env.NIX_CC_USE_RESPONSE_FILE = "0";
hardeningDisable = [ "fortify" ];
} stdenvCcacheLLVM;
in [
(final: prev: {
# debug
inherit stdenvLLVM stdenvCcacheLLVM stdenvPlatformLLVM;
linuxPackages_lqx_clang = prev.linuxPackages_lqx.extend (lpfinal: lpprev: {
kernel = (lpprev.kernel.override {
buildPackages = final.buildPackages // { stdenv = stdenvLLVM; };
stdenv = stdenvLLVM;
argsOverride = let
version = "6.10.3";
suffix = "lqx1";
hash = "sha256-495xe6wZOMwy/N9yqwlGLTcAWuubUzmfoGOV7J1RWGk=";
no-dynamic-linker-patch = {
name = "no-dynamic-linker";
patch = ./no-dynamic-linker.patch;
};
fix-znver-clang18 = {
name = "fix-znver-clang18";
patch = ./fix-znver-clang18.patch;
};
in {
inherit version;
modDirVersion = lib.versions.pad 3 "${version}-${suffix}";
src = prev.fetchFromGitHub {
owner = "zen-kernel";
repo = "zen-kernel";
rev = "v${version}-${suffix}";
inherit hash;
};
extraMakeFlags = [ "LLVM=1" "LLVM_IAS=1" ];
kernelPatches = [ no-dynamic-linker-patch fix-znver-clang18 ] ++ lpprev.kernel.kernelPatches;
structuredExtraConfig = with lib.kernel;
lpprev.kernel.structuredExtraConfig //
builtins.mapAttrs (_: v: lib.mkForce v) {
CC_OPTIMIZE_FOR_PERFORMANCE_O3 = yes;
# GENERIC_CPU3 = yes;
MZEN = yes;
INIT_ON_ALLOC_DEFAULT_ON = yes;
INIT_STACK_ALL_ZERO = yes;
LTO_CLANG_FULL = yes;
MODULE_COMPRESS_XZ = no;
MODULE_COMPRESS_ZSTD = yes;
RCU_BOOST = no;
RCU_BOOST_DELAY = option (freeform "500");
RCU_LAZY = no;
};
};
});
});
})
];
assertions = [{
assertion = config.programs.ccache.enable;
message = "To compile custom kernel you must enable and setup ccache";
}];
}

View File

@ -0,0 +1,17 @@
diff --git a/net/ipv6/Makefile b/net/ipv6/Makefile
index d283c59df4c1..3840ded8c34a 100644
--- a/net/ipv6/Makefile
+++ b/net/ipv6/Makefile
@@ -3,6 +3,14 @@
# Makefile for the Linux TCP/IP (INET6) layer.
#
+# temporary workaround for clang/lld-18 with -march/-mtune=znver*
+# clangbuiltlinux issue 1987
+ifeq ($(call test-ge, $(CONFIG_CLANG_VERSION), 180000),y)
+badparms = -march=znver1 -mtune=znver1
+KBUILD_CFLAGS := $(filter-out $(badparams), $(KBUILD_CFLAGS))
+KBUILD_CFLAGS += -march=x86-64-v3
+endif
+
obj-$(CONFIG_IPV6) += ipv6.o

View File

@ -0,0 +1,40 @@
diff --git a/Makefile b/Makefile
index a171eafce2a3b..10ed19caecb1b 100644
--- a/Makefile
+++ b/Makefile
@@ -531,6 +531,9 @@ RUSTFLAGS_KERNEL =
AFLAGS_KERNEL =
LDFLAGS_vmlinux =
+LDFLAGS_MODULE += --no-dynamic-linker
+LDFLAGS_vmlinux += --no-dynamic-linker
+
# Use USERINCLUDE when you must reference the UAPI directories only.
USERINCLUDE := \
-I$(srctree)/arch/$(SRCARCH)/include/uapi \
diff --git a/arch/x86/boot/Makefile b/arch/x86/boot/Makefile
index 3cece19b74732..390a4604166eb 100644
--- a/arch/x86/boot/Makefile
+++ b/arch/x86/boot/Makefile
@@ -102,7 +102,7 @@ $(obj)/zoffset.h: $(obj)/compressed/vmlinux FORCE
AFLAGS_header.o += -I$(objtree)/$(obj)
$(obj)/header.o: $(obj)/zoffset.h
-LDFLAGS_setup.elf := -m elf_i386 -z noexecstack -T
+LDFLAGS_setup.elf := --no-dynamic-linker -m elf_i386 -z noexecstack -T
$(obj)/setup.elf: $(src)/setup.ld $(SETUP_OBJS) FORCE
$(call if_changed,ld)
diff --git a/arch/x86/realmode/rm/Makefile b/arch/x86/realmode/rm/Makefile
index f614009d3e4e2..4b42006d9ce02 100644
--- a/arch/x86/realmode/rm/Makefile
+++ b/arch/x86/realmode/rm/Makefile
@@ -50,7 +50,7 @@ $(obj)/pasyms.h: $(REALMODE_OBJS) FORCE
targets += realmode.lds
$(obj)/realmode.lds: $(obj)/pasyms.h
-LDFLAGS_realmode.elf := -m elf_i386 --emit-relocs -T
+LDFLAGS_realmode.elf := --no-dynamic-linker -m elf_i386 --emit-relocs -T
CPPFLAGS_realmode.lds += -P -C -I$(objtree)/$(obj)
targets += realmode.elf

View File

@ -0,0 +1,79 @@
{ ... }:
{
services.nginx = {
enable = true;
group = "acme";
recommendedBrotliSettings = true;
recommendedGzipSettings = true;
recommendedOptimisation = true;
recommendedTlsSettings = true;
recommendedZstdSettings = true;
clientMaxBodySize = "250m";
commonHttpConfig = ''
proxy_hide_header X-Frame-Options;
'';
virtualHosts = let
default = {
useACMEHost = "ataraxiadev.com";
enableACME = false;
forceSSL = true;
};
proxySettings = ''
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
'';
in {
"media-stack" = {
serverAliases = [
"jellyfin.ataraxiadev.com"
"qbit.ataraxiadev.com"
"prowlarr.ataraxiadev.com"
"jackett.ataraxiadev.com"
"sonarr.ataraxiadev.com"
"radarr.ataraxiadev.com"
"lidarr.ataraxiadev.com"
"kavita.ataraxiadev.com"
];
locations."/" = {
proxyPass = "http://127.0.0.1:8180";
proxyWebsockets = true;
extraConfig = ''
proxy_buffer_size 128k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
send_timeout 15m;
proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 15m;
'' + proxySettings;
};
} // default;
"medusa.ataraxiadev.com" = {
locations."/" = {
proxyPass = "http://127.0.0.1:8180";
proxyWebsockets = true;
extraConfig = ''
add_header Content-Security-Policy "upgrade-insecure-requests";
'' + proxySettings;
};
} // default;
"code.ataraxiadev.com" = {
locations."/" = {
proxyPass = "http://127.0.0.1:6000";
extraConfig = proxySettings;
};
} // default;
"ataraxiadev.com" = {
extraConfig = ''
return 301 https://code.ataraxiadev.com$request_uri;
'';
} // default;
};
};
networking.firewall.allowedTCPPorts = [ 80 443 ];
}

View File

@ -1,10 +1,11 @@
{ pkgs, lib, ... }:
{ inputs, config, pkgs, lib, ... }:
let
zfs_arc_max = toString (2 * 1024 * 1024 * 1024);
chaoticPkgs = inputs.chaotic.packages.${pkgs.hostPlatform.system};
in {
boot = {
# zfs.package = pkgs.zfs_unstable;
kernelPackages = pkgs.linuxPackages_lqx;
kernelPackages = chaoticPkgs.linuxPackages_cachyos;
zfs.package = chaoticPkgs.zfs_cachyos;
initrd = {
supportedFilesystems = [ "zfs" ];

View File

@ -14,7 +14,7 @@
programs.ssh.extraConfig = ''
Host nix-builder
hostname 192.168.0.100
hostname 10.10.10.100
user ataraxia
identitiesOnly yes
identityFile /home/nixos/ssh-builder

View File

@ -9,7 +9,7 @@
prune = false;
initialize = false;
environmentFile = config.sops.secrets.rustic-backups-s3-env.path;
extraEnvironment = { https_proxy = "http://192.168.0.6:8888"; };
extraEnvironment = { https_proxy = "http://10.10.10.6:8888"; };
pruneOpts = [ "--repack-cacheable-only=false" ];
timerConfig = {
OnCalendar = "05:00";

View File

@ -2,7 +2,7 @@
let persistRoot = config.autoinstall.persist.persistRoot or "/persist";
in {
imports = with inputs.self; [
# ./backups.nix
./backups.nix
./boot.nix
./hardware-configuration.nix
./usb-hdd.nix
@ -20,21 +20,21 @@ in {
customProfiles.coturn
customProfiles.fail2ban
customProfiles.gitea
# customProfiles.homepage
customProfiles.homepage
customProfiles.hoyolab
# customProfiles.inpx-web
customProfiles.inpx-web
customProfiles.it-tools
# customProfiles.media-stack
# customProfiles.metrics
# customProfiles.minio
customProfiles.media-stack
customProfiles.metrics
customProfiles.minio
customProfiles.netbird-server
customProfiles.nginx
# customProfiles.ocis
# customProfiles.onlyoffice
# customProfiles.openbooks
customProfiles.ocis
customProfiles.onlyoffice
customProfiles.openbooks
customProfiles.outline
customProfiles.radicale
# customProfiles.spdf
customProfiles.spdf
customProfiles.synapse
customProfiles.tinyproxy
customProfiles.vault
@ -123,6 +123,11 @@ in {
trim.enable = true;
trim.interval = "weekly";
};
services.postgresql.settings = {
full_page_writes = "off";
wal_init_zero = "off";
wal_recycle = "off";
};
# hardened
networking.firewall.enable = true;
@ -135,13 +140,13 @@ in {
networking.networkmanager.enable = false;
networking.hostName = config.device;
networking.nameservers = [ "192.168.0.5" "192.168.0.1" "9.9.9.9" ];
networking.defaultGateway = "192.168.0.1";
networking.nameservers = [ "10.10.10.53" "10.10.10.1" "9.9.9.9" ];
networking.defaultGateway = "10.10.10.1";
networking.bridges.br0.interfaces = [ "enp2s0f0" ];
networking.interfaces.br0 = {
useDHCP = false;
ipv4.addresses = [{
address = "192.168.0.10";
address = "10.10.10.10";
prefixLength = 24;
}];
};

View File

@ -68,37 +68,37 @@
];
dnsmasq-list = [
# TODO: Fix dns resolution in blocky for unmapped subdomains of ataraxiadev.com
"/element.ataraxiadev.com/192.168.0.10"
"/matrix.ataraxiadev.com/192.168.0.10"
"/turn.ataraxiadev.com/192.168.0.10"
"/element.ataraxiadev.com/10.10.10.10"
"/matrix.ataraxiadev.com/10.10.10.10"
"/turn.ataraxiadev.com/10.10.10.10"
"/api.ataraxiadev.com/192.168.0.10"
"/auth.ataraxiadev.com/192.168.0.10"
"/cache.ataraxiadev.com/192.168.0.10"
"/cal.ataraxiadev.com/192.168.0.10"
"/code.ataraxiadev.com/192.168.0.10"
"/docs.ataraxiadev.com/192.168.0.10"
"/file.ataraxiadev.com/192.168.0.10"
"/home.ataraxiadev.com/192.168.0.10"
"/jackett.ataraxiadev.com/192.168.0.10"
"/jellyfin.ataraxiadev.com/192.168.0.10"
"/joplin.ataraxiadev.com/192.168.0.10"
"/kavita.ataraxiadev.com/192.168.0.10"
"/ldap.ataraxiadev.com/192.168.0.10"
"/lib.ataraxiadev.com/192.168.0.10"
"/medusa.ataraxiadev.com/192.168.0.10"
"/net.ataraxiadev.com/192.168.0.10"
"/openbooks.ataraxiadev.com/192.168.0.10"
"/pdf.ataraxiadev.com/192.168.0.10"
"/qbit.ataraxiadev.com/192.168.0.10"
"/radarr.ataraxiadev.com/192.168.0.10"
"/restic.ataraxiadev.com/192.168.0.10"
"/s3.ataraxiadev.com/192.168.0.10"
"/stats.ataraxiadev.com/192.168.0.10"
"/sonarr.ataraxiadev.com/192.168.0.10"
"/tools.ataraxiadev.com/192.168.0.10"
"/vault.ataraxiadev.com/192.168.0.10"
"/vw.ataraxiadev.com/192.168.0.10"
"/wiki.ataraxiadev.com/192.168.0.10"
"/api.ataraxiadev.com/10.10.10.10"
"/auth.ataraxiadev.com/10.10.10.10"
"/cache.ataraxiadev.com/10.10.10.10"
"/cal.ataraxiadev.com/10.10.10.10"
"/code.ataraxiadev.com/10.10.10.10"
"/docs.ataraxiadev.com/10.10.10.10"
"/file.ataraxiadev.com/10.10.10.10"
"/home.ataraxiadev.com/10.10.10.10"
"/jackett.ataraxiadev.com/10.10.10.10"
"/jellyfin.ataraxiadev.com/10.10.10.10"
"/joplin.ataraxiadev.com/10.10.10.10"
"/kavita.ataraxiadev.com/10.10.10.10"
"/ldap.ataraxiadev.com/10.10.10.10"
"/lib.ataraxiadev.com/10.10.10.10"
"/medusa.ataraxiadev.com/10.10.10.10"
"/net.ataraxiadev.com/10.10.10.10"
"/openbooks.ataraxiadev.com/10.10.10.10"
"/pdf.ataraxiadev.com/10.10.10.10"
"/qbit.ataraxiadev.com/10.10.10.10"
"/radarr.ataraxiadev.com/10.10.10.10"
"/restic.ataraxiadev.com/10.10.10.10"
"/s3.ataraxiadev.com/10.10.10.10"
"/stats.ataraxiadev.com/10.10.10.10"
"/sonarr.ataraxiadev.com/10.10.10.10"
"/tools.ataraxiadev.com/10.10.10.10"
"/vault.ataraxiadev.com/10.10.10.10"
"/vw.ataraxiadev.com/10.10.10.10"
"/wiki.ataraxiadev.com/10.10.10.10"
];
}

View File

@ -1,11 +1,11 @@
{ ... }: {
{ pkgs, ... }: {
boot.initrd = rec {
# luks.devices = {
# "crypt-nas" = {
# device = "/dev/disk/by-id/usb-JMicron_Tech_A311737E-0:0";
# keyFile = "/nas_keyfile0.bin";
# };
# };
luks.devices = {
"crypt-nas" = {
device = "/dev/disk/by-id/ata-ST4000NM0035-1V4107_ZC1A7CWN";
keyFile = "/nas_keyfile0.bin";
};
};
secrets = {
"nas_keyfile0.bin" = "/etc/secrets/nas_keyfile0.bin";
};
@ -19,5 +19,9 @@
kernelModules = availableKernelModules;
};
# boot.zfs.extraPools = [ "nas-pool" ];
boot.zfs.extraPools = [ "nas-pool" ];
system.activationScripts.disable-hdd-spindown.text = ''
${pkgs.hdparm}/bin/hdparm -s 0 /dev/disk/by-id/ata-ST4000NM0035-1V4107_ZC1A7CWN
'';
}

View File

@ -0,0 +1,37 @@
{ modulesPath, self, inputs, config, pkgs, ... }: {
disabledModules = [ "${self}/modules/pass-store.nix" ];
imports = [
"${modulesPath}/profiles/qemu-guest.nix"
"${modulesPath}/virtualisation/qemu-vm.nix"
../AMD-Workstation/kernel
inputs.self.customModules.devices
inputs.self.customProfiles.ccache
inputs.self.customModules.users
inputs.nixos-cosmic.nixosModules.default
];
virtualisation.memorySize = 4096;
virtualisation.cores = 4;
virtualisation.resolution.x = 1920;
virtualisation.resolution.y = 1080;
virtualisation.qemu.options = ["-vga none" "-device virtio-vga-gl" "-display gtk,gl=on"];
services.desktopManager.cosmic.enable = true;
services.displayManager.cosmic-greeter.enable = true;
users.mutableUsers = false;
users.users.${config.mainuser} = {
isNormalUser = true;
extraGroups = [ "wheel" ];
hashedPassword = "$y$j9T$ZC44T3XYOPapB26cyPsA4.$8wlYEbwXFszC9nrg0vafqBZFLMPabXdhnzlT3DhUit6";
shell = pkgs.bash;
};
boot.supportedFilesystems = [ "zfs" ];
boot.zfs.forceImportRoot = false;
networking.hostId = "84977205";
system.stateVersion = "24.11";
}

1
machines/NixOS-VM/system Normal file
View File

@ -0,0 +1 @@
x86_64-linux

View File

@ -20,6 +20,14 @@
./services/tor-bridge.nix
./services/wireguard.nix
./services/xtls.nix
customProfiles.authentik
customProfiles.hoyolab
customProfiles.radicale
customProfiles.vaultwarden
(import customProfiles.headscale {
inherit (import ./dns-mapping.nix) headscale-list;
})
];
# Impermanence
@ -61,6 +69,7 @@
directories = [
"/var/lib/nixos"
"/var/lib/systemd"
"/var/lib/postgresql"
];
};
};
@ -71,7 +80,7 @@
boot = {
supportedFilesystems = [ "vfat" "btrfs" ];
kernelModules = [
"kvm-amd" "tcp_bbr" "veth"
"kvm-intel" "tcp_bbr" "veth"
# podman
"nft_chain_nat" "xt_addrtype" "xt_comment" "xt_mark" "xt_MASQUERADE"
];
@ -160,7 +169,7 @@
"en_US.UTF-8/UTF-8"
"ru_RU.UTF-8/UTF-8"
];
time.timeZone = "Europe/Vienna";
time.timeZone = "Etc/UTC";
environment.sessionVariables = {
XKB_DEFAULT_LAYOUT = "us,ru";
XKB_DEFAULT_OPTIONS = "grp:win_space_toggle";
@ -253,6 +262,10 @@
networking.firewall.interfaces."podman+".allowedUDPPorts = [ 53 5353 ];
security.unprivilegedUsernsClone = true;
system.stateVersion = "23.11";
nixpkgs.overlays = [
inputs.ataraxiasjel-nur.overlays.default
];
system.stateVersion = "24.05";
nixpkgs.hostPlatform = lib.mkForce "x86_64-linux";
}

View File

@ -22,7 +22,7 @@
};
swap = {
name = "swap";
size = "4G";
size = "2G";
content = {
type = "swap";
randomEncryption = true;

View File

@ -0,0 +1,104 @@
{
headscale-list = [
{ name = "ataraxiadev.com"; type = "A"; value = "100.64.0.2"; }
{ name = "api.ataraxiadev.com"; type = "A"; value = "100.64.0.2"; }
# { name = "auth.ataraxiadev.com"; type = "A"; value = "100.64.0.1"; }
{ name = "cache.ataraxiadev.com"; type = "A"; value = "100.64.0.2"; }
# { name = "cal.ataraxiadev.com"; type = "A"; value = "100.64.0.1"; }
{ name = "code.ataraxiadev.com"; type = "A"; value = "100.64.0.2"; }
{ name = "docs.ataraxiadev.com"; type = "A"; value = "100.64.0.2"; }
{ name = "element.ataraxiadev.com"; type = "A"; value = "100.64.0.2"; }
{ name = "file.ataraxiadev.com"; type = "A"; value = "100.64.0.2"; }
{ name = "home.ataraxiadev.com"; type = "A"; value = "100.64.0.2"; }
{ name = "jackett.ataraxiadev.com"; type = "A"; value = "100.64.0.2"; }
{ name = "jellyfin.ataraxiadev.com"; type = "A"; value = "100.64.0.2"; }
{ name = "joplin.ataraxiadev.com"; type = "A"; value = "100.64.0.2"; }
{ name = "kavita.ataraxiadev.com"; type = "A"; value = "100.64.0.2"; }
{ name = "ldap.ataraxiadev.com"; type = "A"; value = "100.64.0.2"; }
{ name = "lib.ataraxiadev.com"; type = "A"; value = "100.64.0.2"; }
{ name = "matrix.ataraxiadev.com"; type = "A"; value = "100.64.0.2"; }
{ name = "medusa.ataraxiadev.com"; type = "A"; value = "100.64.0.2"; }
{ name = "net.ataraxiadev.com"; type = "A"; value = "100.64.0.2"; }
{ name = "openbooks.ataraxiadev.com"; type = "A"; value = "100.64.0.2"; }
{ name = "pdf.ataraxiadev.com"; type = "A"; value = "100.64.0.2"; }
{ name = "qbit.ataraxiadev.com"; type = "A"; value = "100.64.0.2"; }
{ name = "radarr.ataraxiadev.com"; type = "A"; value = "100.64.0.2"; }
{ name = "restic.ataraxiadev.com"; type = "A"; value = "100.64.0.2"; }
{ name = "s3.ataraxiadev.com"; type = "A"; value = "100.64.0.2"; }
{ name = "sonarr.ataraxiadev.com"; type = "A"; value = "100.64.0.2"; }
{ name = "stats.ataraxiadev.com"; type = "A"; value = "100.64.0.2"; }
{ name = "tools.ataraxiadev.com"; type = "A"; value = "100.64.0.2"; }
{ name = "turn.ataraxiadev.com"; type = "A"; value = "100.64.0.2"; }
{ name = "vault.ataraxiadev.com"; type = "A"; value = "100.64.0.2"; }
# { name = "vw.ataraxiadev.com"; type = "A"; value = "100.64.0.1"; }
{ name = "wiki.ataraxiadev.com"; type = "A"; value = "100.64.0.2"; }
{ name = "ataraxiadev.com"; type = "AAAA"; value = "fd7a:115c:a1e0::2"; }
{ name = "api.ataraxiadev.com"; type = "AAAA"; value = "fd7a:115c:a1e0::2"; }
# { name = "auth.ataraxiadev.com"; type = "AAAA"; value = "fd7a:115c:a1e0::1"; }
{ name = "cache.ataraxiadev.com"; type = "AAAA"; value = "fd7a:115c:a1e0::2"; }
# { name = "cal.ataraxiadev.com"; type = "AAAA"; value = "fd7a:115c:a1e0::1"; }
{ name = "code.ataraxiadev.com"; type = "AAAA"; value = "fd7a:115c:a1e0::2"; }
{ name = "docs.ataraxiadev.com"; type = "AAAA"; value = "fd7a:115c:a1e0::2"; }
{ name = "element.ataraxiadev.com"; type = "AAAA"; value = "fd7a:115c:a1e0::2"; }
{ name = "file.ataraxiadev.com"; type = "AAAA"; value = "fd7a:115c:a1e0::2"; }
{ name = "home.ataraxiadev.com"; type = "AAAA"; value = "fd7a:115c:a1e0::2"; }
{ name = "jackett.ataraxiadev.com"; type = "AAAA"; value = "fd7a:115c:a1e0::2"; }
{ name = "jellyfin.ataraxiadev.com"; type = "AAAA"; value = "fd7a:115c:a1e0::2"; }
{ name = "joplin.ataraxiadev.com"; type = "AAAA"; value = "fd7a:115c:a1e0::2"; }
{ name = "kavita.ataraxiadev.com"; type = "AAAA"; value = "fd7a:115c:a1e0::2"; }
{ name = "ldap.ataraxiadev.com"; type = "AAAA"; value = "fd7a:115c:a1e0::2"; }
{ name = "lib.ataraxiadev.com"; type = "AAAA"; value = "fd7a:115c:a1e0::2"; }
{ name = "matrix.ataraxiadev.com"; type = "AAAA"; value = "fd7a:115c:a1e0::2"; }
{ name = "medusa.ataraxiadev.com"; type = "AAAA"; value = "fd7a:115c:a1e0::2"; }
{ name = "net.ataraxiadev.com"; type = "AAAA"; value = "fd7a:115c:a1e0::2"; }
{ name = "openbooks.ataraxiadev.com"; type = "AAAA"; value = "fd7a:115c:a1e0::2"; }
{ name = "pdf.ataraxiadev.com"; type = "AAAA"; value = "fd7a:115c:a1e0::2"; }
{ name = "qbit.ataraxiadev.com"; type = "AAAA"; value = "fd7a:115c:a1e0::2"; }
{ name = "radarr.ataraxiadev.com"; type = "AAAA"; value = "fd7a:115c:a1e0::2"; }
{ name = "restic.ataraxiadev.com"; type = "AAAA"; value = "fd7a:115c:a1e0::2"; }
{ name = "s3.ataraxiadev.com"; type = "AAAA"; value = "fd7a:115c:a1e0::2"; }
{ name = "sonarr.ataraxiadev.com"; type = "AAAA"; value = "fd7a:115c:a1e0::2"; }
{ name = "stats.ataraxiadev.com"; type = "AAAA"; value = "fd7a:115c:a1e0::2"; }
{ name = "tools.ataraxiadev.com"; type = "AAAA"; value = "fd7a:115c:a1e0::2"; }
{ name = "turn.ataraxiadev.com"; type = "AAAA"; value = "fd7a:115c:a1e0::2"; }
{ name = "vault.ataraxiadev.com"; type = "AAAA"; value = "fd7a:115c:a1e0::2"; }
# { name = "vw.ataraxiadev.com"; type = "AAAA"; value = "fd7a:115c:a1e0::1"; }
{ name = "wiki.ataraxiadev.com"; type = "AAAA"; value = "fd7a:115c:a1e0::2"; }
];
dnsmasq-list = [
# TODO: Fix dns resolution in blocky for unmapped subdomains of ataraxiadev.com
"/element.ataraxiadev.com/10.10.10.100"
"/matrix.ataraxiadev.com/10.10.10.100"
"/turn.ataraxiadev.com/10.10.10.100"
"/api.ataraxiadev.com/10.10.10.100"
# "/auth.ataraxiadev.com/10.10.10.100"
"/cache.ataraxiadev.com/10.10.10.100"
# "/cal.ataraxiadev.com/10.10.10.100"
"/code.ataraxiadev.com/10.10.10.100"
"/docs.ataraxiadev.com/10.10.10.100"
"/file.ataraxiadev.com/10.10.10.100"
"/home.ataraxiadev.com/10.10.10.100"
"/jackett.ataraxiadev.com/10.10.10.100"
"/jellyfin.ataraxiadev.com/10.10.10.100"
"/joplin.ataraxiadev.com/10.10.10.100"
"/kavita.ataraxiadev.com/10.10.10.100"
"/ldap.ataraxiadev.com/10.10.10.100"
"/lib.ataraxiadev.com/10.10.10.100"
"/medusa.ataraxiadev.com/10.10.10.100"
"/net.ataraxiadev.com/10.10.10.100"
"/openbooks.ataraxiadev.com/10.10.10.100"
"/pdf.ataraxiadev.com/10.10.10.100"
"/qbit.ataraxiadev.com/10.10.10.100"
"/radarr.ataraxiadev.com/10.10.10.100"
"/restic.ataraxiadev.com/10.10.10.100"
"/s3.ataraxiadev.com/10.10.10.100"
"/stats.ataraxiadev.com/10.10.10.100"
"/sonarr.ataraxiadev.com/10.10.10.100"
"/tools.ataraxiadev.com/10.10.10.100"
"/vault.ataraxiadev.com/10.10.10.100"
# "/vw.ataraxiadev.com/10.10.10.100"
"/wiki.ataraxiadev.com/10.10.10.100"
];
}

View File

@ -1,23 +1,24 @@
rec {
privateIPv6Prefix = "fd3a:900e:8e74:ffff";
domain = "wg.ataraxiadev.com";
hasIPv6 = false;
interfaces = {
# This is the public-facing interface. Any interface name with a prime
# symbol means it's a public-facing interface.
main' = {
mac = "72:df:16:d2:1b:d7";
mac = "bc:24:11:79:81:d7";
bridgeName = "br0";
ifname = "enp0s18";
IPv4 = {
address = "83.138.55.118/26";
gateway = "83.138.55.65";
dns = [ "46.102.157.27" "46.102.157.42" ];
address = "45.135.180.193/32";
gateway = "45.135.180.1";
dns = [ "9.9.9.9" "149.112.112.112" ];
};
IPv6 = {
address = "2a0d:f302:109:3487::1/48";
gateway = "2a0d:f302:109::1";
dns = [ "2a0d:f302:99::99" "2a0d:f302:100::100" ];
address = "";
gateway = "";
dns = [ ];
};
};

View File

@ -1,11 +1,11 @@
{ config, ... }:
{ config, lib, pkgs, ... }:
let
inherit (import ./hardware/networks.nix) interfaces domain;
inherit (import ./hardware/networks.nix) interfaces domain hasIPv6;
in {
services.resolved.enable = true;
networking = {
enableIPv6 = true;
usePredictableInterfaceNames = true;
enableIPv6 = lib.mkForce hasIPv6;
usePredictableInterfaceNames = lib.mkForce true;
useDHCP = false;
dhcpcd.enable = false;
nftables.enable = false; # incompatible with tailscale and docker
@ -27,8 +27,9 @@ in {
matchConfig.Name = bridgeName;
address = [
IPv4.address
IPv6.address
"192.168.0.1/24"
] ++ lib.optionals hasIPv6 [
IPv6.address
"fc00::1/64"
];
linkConfig.RequiredForOnline = "routable";
@ -36,12 +37,12 @@ in {
DHCPServer = true;
IPForward = true;
# IPv6PrivacyExtensions = "kernel";
DNS = IPv4.dns ++ IPv6.dns;
DNS = IPv4.dns ++ lib.optionals hasIPv6 IPv6.dns;
};
routes = [{
routeConfig.Gateway = IPv4.gateway;
routeConfig.GatewayOnLink = true;
} {
}] ++ lib.optionals hasIPv6 [{
routeConfig.Gateway = IPv6.gateway;
routeConfig.GatewayOnLink = true;
}];
@ -62,4 +63,10 @@ in {
};
};
};
system.activationScripts.udp-gro-forwarding = {
text = with interfaces.main'; ''
sudo ${pkgs.ethtool}/bin/ethtool -K ${bridgeName} rx-udp-gro-forwarding on rx-gro-list off
'';
};
}

View File

@ -1,5 +1,6 @@
{ config, lib, inputs, ... }: {
{ config, lib, pkgs, inputs, ... }: {
nix = {
package = pkgs.lix;
nixPath = lib.mkForce [ "self=/etc/self/compat" "nixpkgs=/etc/nixpkgs" ];
registry.self.flake = inputs.self;
# registry.nixpkgs.flake = inputs.nixpkgs;
@ -16,7 +17,7 @@
"https://cache.nixos.org"
"https://nix-community.cachix.org"
"https://ataraxiadev-foss.cachix.org"
"https://cache.ataraxiadev.com/ataraxiadev"
# "https://cache.ataraxiadev.com/ataraxiadev"
"https://numtide.cachix.org"
"https://devenv.cachix.org"
"https://ezkea.cachix.org"
@ -25,7 +26,7 @@
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
"ataraxiadev-foss.cachix.org-1:ws/jmPRUF5R8TkirnV1b525lP9F/uTBsz2KraV61058="
"ataraxiadev:/V5bNjSzHVGx6r2XA2fjkgUYgqoz9VnrAHq45+2FJAs="
# "ataraxiadev:/V5bNjSzHVGx6r2XA2fjkgUYgqoz9VnrAHq45+2FJAs="
"numtide.cachix.org-1:2ps1kLBUWjxIneOy1Ik6cQjb41X0iXVXeHigGmycPPE="
"devenv.cachix.org-1:w1cLUi8dv3hnoSPGAuibQv+f9TZLr6cv/Hm9XgU50cw="
"ezkea.cachix.org-1:ioBmUbJTZIKsHmWWXPe1FSFbeVe+afhfgqgTSNd34eI="

View File

@ -6,6 +6,9 @@ let
brIfname = interfaces.main'.bridgeName;
tailscaleIfname = config.services.tailscale.interfaceName;
in {
networking.extraHosts = ''
192.0.46.9 www.internic.net
'';
# For debugging purposes
environment.systemPackages = with pkgs; [ tcpdump dnsutils ];
services.resolved.extraConfig = ''
@ -18,7 +21,7 @@ in {
ports = {
allowedTCPPorts = [
config.services.blocky.settings.ports.dns
config.services.grafana.settings.server.http_port
# config.services.grafana.settings.server.http_port
];
allowedUDPPorts = [
config.services.blocky.settings.ports.dns
@ -113,8 +116,11 @@ in {
${pkgs.wget}/bin/wget -O ${config.services.unbound.stateDir}/root.hints https://www.internic.net/domain/named.root
'';
serviceConfig.Type = "oneshot";
startAt = "1 0 1 */1 *";
startAt = "weekly";
};
# systemd.services.unbound = {
# after = [ "root-hints.service" ];
# };
# Blocky + prometheus + grafana
services.blocky = {
enable = true;
@ -157,72 +163,72 @@ in {
};
};
};
services.prometheus = {
enable = true;
listenAddress = "127.0.0.1";
globalConfig.scrape_interval = "15s";
globalConfig.evaluation_interval = "15s";
scrapeConfigs = [{
job_name = "blocky";
static_configs = [{
targets = [ config.services.blocky.settings.ports.http ];
}];
}];
};
services.grafana = {
enable = true;
settings = {
analytics.reporting_enabled = false;
server = {
enable_gzip = true;
domain = "localhost";
http_addr = "0.0.0.0";
http_port = 3000;
};
# Grafana can be accessed only through wireguard, so it's secure enough
security = {
admin_user = "admin";
admin_password = "admin";
};
panels.disable_sanitize_html = true;
};
provision = {
enable = true;
datasources.settings = {
datasources = [{
name = "Prometheus";
type = "prometheus";
access = "proxy";
orgId = 1;
uid = "Y4SSG429DWCGDQ3R";
url = "http://127.0.0.1:${toString config.services.prometheus.port}";
isDefault = true;
jsonData = {
graphiteVersion = "1.1";
tlsAuth = false;
tlsAuthWithCACert = false;
};
version = 1;
editable = true;
}];
};
dashboards = {
settings = {
providers = [{
name = "My Dashboards";
options.path = "/etc/grafana-dashboards";
}];
};
};
};
};
environment.etc = {
"grafana-dashboards/blocky_rev3.json" = {
source = ../../../misc/grafana_blocky_rev3.json;
group = "grafana";
user = "grafana";
};
};
# services.prometheus = {
# enable = true;
# listenAddress = "127.0.0.1";
# globalConfig.scrape_interval = "15s";
# globalConfig.evaluation_interval = "15s";
# scrapeConfigs = [{
# job_name = "blocky";
# static_configs = [{
# targets = [ config.services.blocky.settings.ports.http ];
# }];
# }];
# };
# services.grafana = {
# enable = true;
# settings = {
# analytics.reporting_enabled = false;
# server = {
# enable_gzip = true;
# domain = "localhost";
# http_addr = "0.0.0.0";
# http_port = 3000;
# };
# # Grafana can be accessed only through wireguard, so it's secure enough
# security = {
# admin_user = "admin";
# admin_password = "admin";
# };
# panels.disable_sanitize_html = true;
# };
# provision = {
# enable = true;
# datasources.settings = {
# datasources = [{
# name = "Prometheus";
# type = "prometheus";
# access = "proxy";
# orgId = 1;
# uid = "Y4SSG429DWCGDQ3R";
# url = "http://127.0.0.1:${toString config.services.prometheus.port}";
# isDefault = true;
# jsonData = {
# graphiteVersion = "1.1";
# tlsAuth = false;
# tlsAuthWithCACert = false;
# };
# version = 1;
# editable = true;
# }];
# };
# dashboards = {
# settings = {
# providers = [{
# name = "My Dashboards";
# options.path = "/etc/grafana-dashboards";
# }];
# };
# };
# };
# };
# environment.etc = {
# "grafana-dashboards/blocky_rev3.json" = {
# source = ../../../misc/grafana_blocky_rev3.json;
# group = "grafana";
# user = "grafana";
# };
# };
persist.state.directories = [
"/var/lib/grafana"

View File

@ -1,13 +1,20 @@
{ config, ... }:
{ config, inputs, ... }:
let
bridgeName = (import ../hardware/networks.nix).interfaces.main'.bridgeName;
tailscalePort = config.services.tailscale.port;
tailscaleIfname = config.services.tailscale.interfaceName;
netbirdPort = config.services.netbird.clients.priv.port;
netbirdIfname = config.services.netbird.clients.priv.interface;
ssPort1 = 2234;
ssPort2 = 2235;
in {
networking.firewall.interfaces.${bridgeName}.allowedUDPPorts = [ tailscalePort netbirdPort ];
imports = [ inputs.ataraxiasjel-nur.nixosModules.rinetd ];
networking.firewall.trustedInterfaces = [ tailscaleIfname netbirdIfname ];
networking.firewall.interfaces.${bridgeName} = {
allowedUDPPorts = [ tailscalePort netbirdPort ];
allowedTCPPorts = [ ssPort1 ssPort2 ];
};
systemd.network.networks."50-tailscale" = {
matchConfig.Name = tailscaleIfname;
@ -39,4 +46,12 @@ in {
users.users.${config.mainuser}.extraGroups = [ "netbird-priv" ];
persist.state.directories = [ "/var/lib/tailscale" "/var/lib/netbird-priv" ];
services.rinetd = {
enable = true;
settings = ''
0.0.0.0 ${toString ssPort1} 100.64.0.2 ${toString ssPort1}
0.0.0.0 ${toString ssPort2} 100.64.0.3 ${toString ssPort2}
'';
};
}

View File

@ -1,6 +1,6 @@
{ lib, pkgs, ... }:
let
inherit (import ../hardware/networks.nix) interfaces wireguardPort wireguardPeers;
inherit (import ../hardware/networks.nix) interfaces wireguardPort wireguardPeers hasIPv6;
wireguardIFName = interfaces.wireguard0.ifname;
in {
# Sometimes we need to disable checksum validation
@ -21,13 +21,14 @@ in {
matchConfig.Name = wireguardIFName;
address = [
"${IPv4.address}/16"
] ++ lib.optionals hasIPv6 [
"${IPv6.address}/64"
];
DHCP = "no";
networkConfig = {
IPForward = true;
IPMasquerade = "both";
DNS = interfaces.main'.IPv4.dns ++ interfaces.main'.IPv6.dns;
DNS = interfaces.main'.IPv4.dns ++ lib.optionals hasIPv6 interfaces.main'.IPv6.dns;
};
};

View File

@ -68,7 +68,7 @@ in
AmbientCapabilities = [""] ++ lib.optional bindsPrivilegedPort "CAP_NET_BIND_SERVICE";
CapabilityBoundingSet = [""] ++ lib.optional bindsPrivilegedPort "CAP_NET_BIND_SERVICE";
DeviceAllow = "";
DevicePolicy = "closed";
DynamicUser = true;
LockPersonality = true;
MemoryDenyWriteExecute = true;
@ -86,7 +86,7 @@ in
ProtectKernelLogs = true;
ProtectKernelModules = true;
ProtectKernelTunables = true;
ProtectProc = "noaccess";
ProtectProc = "invisible";
ProtectSystem = "strict";
RemoveIPC = true;
RestrictAddressFamilies = [ "AF_UNIX" "AF_INET" "AF_INET6" "AF_NETLINK" ];
@ -94,8 +94,9 @@ in
RestrictRealtime = true;
RestrictSUIDSGID = true;
SystemCallArchitectures = "native";
SystemCallFilter = [];
SystemCallFilter = [ "@system-service" "~@privileged" ];
SystemCallErrorNumber = "EPERM";
UMask = "0002";
};
};
};

40
modules/modprobed-db.nix Normal file
View File

@ -0,0 +1,40 @@
{ config, lib, pkgs, ... }:
let
inherit (lib) mkEnableOption mkPackageOption mkIf;
cfg = config.services.modprobed-db;
in
{
options = {
services.modprobed-db = {
enable = mkEnableOption "modprobed-db service to scan and store new kernel modules";
package = mkPackageOption pkgs "modprobed-db" { };
};
};
config = mkIf cfg.enable {
systemd.user = {
services.modprobed-db = {
description = "modprobed-db service to scan and store new kernel modules";
wants = [ "modprobed-db.timer" ];
wantedBy = [ "default.target" ];
serviceConfig = {
ExecStart = "${cfg.package}/bin/modprobed-db storesilent";
ExecStop = "${cfg.package}/bin/modprobed-db storesilent";
Type = "simple";
};
path = builtins.attrValues {
inherit (pkgs) gawk getent coreutils gnugrep gnused kmod;
};
};
timers.modprobed-db = {
wantedBy = [ "timers.target" ];
partOf = [ "modprobed-db.service" ];
timerConfig = {
Persistent = true;
OnUnitActiveSec = "1h";
};
};
};
};
}

View File

@ -1,7 +1,7 @@
{ pkgs, config, lib, ... }:
with lib;
let
cfg = config.services.password-store;
inherit (lib) mkEnableOption mkOption types escapeShellArg mkIf makeBinPath;
in {
options.services.password-store = {
enable = mkEnableOption "password-store";
@ -27,7 +27,7 @@ in {
Service = {
Environment = [
"GIT_SSH_COMMAND='ssh -i ${cfg.sshKey} -o IdentitiesOnly=yes'"
"PATH=${with pkgs; makeBinPath [ git openssh ]}"
"PATH=${makeBinPath [ pkgs.git pkgs.openssh ]}"
];
ExecStart = pkgs.writeShellScript "activate-secrets" ''
set -euo pipefail

View File

@ -13,7 +13,7 @@ with lib;
};
proxyAddress = mkOption {
type = with types; nullOr str;
default = "http://192.168.0.6:8888";
default = "http://10.10.10.6:8888";
};
};
}));

View File

@ -58,7 +58,7 @@ in {
};
proxyAddress = mkOption {
type = with types; nullOr str;
default = "http://192.168.0.6:8888";
default = "http://10.10.10.6:8888";
};
};
}));

View File

@ -0,0 +1,108 @@
diff --git a/pkgs/os-specific/linux/kernel/update-zen.py b/pkgs/os-specific/linux/kernel/update-zen.py
index 3c51f806d..a8a363761 100755
--- a/pkgs/os-specific/linux/kernel/update-zen.py
+++ b/pkgs/os-specific/linux/kernel/update-zen.py
@@ -64,16 +64,16 @@ def update_file(relpath, variant, version, suffix, sha256):
for line in f:
result = line
result = re.sub(
- fr'^ version = ".+"; #{variant}',
- f' version = "{version}"; #{variant}',
+ fr'^ version = ".+"; #{variant}',
+ f' version = "{version}"; #{variant}',
result)
result = re.sub(
- fr'^ suffix = ".+"; #{variant}',
- f' suffix = "{suffix}"; #{variant}',
+ fr'^ suffix = ".+"; #{variant}',
+ f' suffix = "{suffix}"; #{variant}',
result)
result = re.sub(
- fr'^ sha256 = ".+"; #{variant}',
- f' sha256 = "{sha256}"; #{variant}',
+ fr'^ sha256 = ".+"; #{variant}',
+ f' sha256 = "{sha256}"; #{variant}',
result)
print(result, end='')
diff --git a/pkgs/os-specific/linux/kernel/zen-kernels.nix b/pkgs/os-specific/linux/kernel/zen-kernels.nix
index 3acf40121..9e2c968ac 100644
--- a/pkgs/os-specific/linux/kernel/zen-kernels.nix
+++ b/pkgs/os-specific/linux/kernel/zen-kernels.nix
@@ -1,20 +1,22 @@
-{ lib, stdenv, fetchFromGitHub, buildLinux, ... } @ args:
+{ lib, stdenv, fetchFromGitHub, buildLinux, variant, ... } @ args:
let
# comments with variant added for update script
- # ./update-zen.py zen
- zenVariant = {
- version = "6.10.1"; #zen
- suffix = "zen1"; #zen
- sha256 = "0lr9qjz4hlvx3yc0lj65fnmbciyh6symycbi9ass761l1niswbk5"; #zen
- isLqx = false;
- };
- # ./update-zen.py lqx
- lqxVariant = {
- version = "6.9.11"; #lqx
- suffix = "lqx1"; #lqx
- sha256 = "0i6i0ak10gswlk60pnkn5dlz74g4nd7n1xbnvf24nnwwp69kkd44"; #lqx
- isLqx = true;
+ variants = {
+ # ./update-zen.py zen
+ zen = {
+ version = "6.10.1"; #zen
+ suffix = "zen1"; #zen
+ sha256 = "0lr9qjz4hlvx3yc0lj65fnmbciyh6symycbi9ass761l1niswbk5"; #zen
+ isLqx = false;
+ };
+ # ./update-zen.py lqx
+ lqx = {
+ version = "6.9.11"; #lqx
+ suffix = "lqx1"; #lqx
+ sha256 = "0i6i0ak10gswlk60pnkn5dlz74g4nd7n1xbnvf24nnwwp69kkd44"; #lqx
+ isLqx = true;
+ };
};
zenKernelsFor = { version, suffix, sha256, isLqx }: buildLinux (args // {
inherit version;
@@ -123,7 +125,4 @@ let
} // (args.argsOverride or { }));
in
-{
- zen = zenKernelsFor zenVariant;
- lqx = zenKernelsFor lqxVariant;
-}
+zenKernelsFor variants.${variant}
\ No newline at end of file
diff --git a/pkgs/top-level/linux-kernels.nix b/pkgs/top-level/linux-kernels.nix
index bc80ec658..edc94fc34 100644
--- a/pkgs/top-level/linux-kernels.nix
+++ b/pkgs/top-level/linux-kernels.nix
@@ -227,19 +227,21 @@ in {
# https://github.com/NixOS/nixpkgs/pull/161773#discussion_r820134708
zenKernels = callPackage ../os-specific/linux/kernel/zen-kernels.nix;
- linux_zen = (zenKernels {
+ linux_zen = zenKernels {
+ variant = "zen";
kernelPatches = [
kernelPatches.bridge_stp_helper
kernelPatches.request_key_helper
];
- }).zen;
+ };
- linux_lqx = (zenKernels {
+ linux_lqx = zenKernels {
+ variant = "lqx";
kernelPatches = [
kernelPatches.bridge_stp_helper
kernelPatches.request_key_helper
];
- }).lqx;
+ };
# This contains the variants of the XanMod kernel
xanmodKernels = callPackage ../os-specific/linux/kernel/xanmod-kernels.nix {

View File

@ -1,13 +0,0 @@
diff --git a/pkgs/development/python-modules/jaxlib/default.nix b/pkgs/development/python-modules/jaxlib/default.nix
index b77a7de7b..a00def5fb 100644
--- a/pkgs/development/python-modules/jaxlib/default.nix
+++ b/pkgs/development/python-modules/jaxlib/default.nix
@@ -377,7 +377,7 @@ let
{ x86_64-linux = "sha256-vUoAPkYKEnHkV4fw6BI0mCeuP2e8BMCJnVuZMm9LwSA="; }
else
{
- x86_64-linux = "sha256-R1TIIyyyLlDqAlUkuhJhtyTxZMra2q5S/jX0OCInsEQ=";
+ x86_64-linux = "sha256-R5Bm+0GYN1zJ1aEUBW76907MxYKAIawHHJoIb1RdsKE=";
aarch64-linux = "sha256-P5JEmJljN1DeRA0dNkzyosKzRnJH+5SD2aWdV5JsoiY=";
}
).${effectiveStdenv.system} or (throw "jaxlib: unsupported system: ${effectiveStdenv.system}");

View File

@ -1,16 +1,16 @@
diff --git a/nixos/modules/services/web-apps/onlyoffice.nix b/nixos/modules/services/web-apps/onlyoffice.nix
index 343ca80c9fc2..a10e19d8b98c 100644
index 0d0e01d4f..9a403285e 100644
--- a/nixos/modules/services/web-apps/onlyoffice.nix
+++ b/nixos/modules/services/web-apps/onlyoffice.nix
@@ -79,113 +79,6 @@ in
@@ -77,113 +77,6 @@ in
config = lib.mkIf cfg.enable {
services = {
- nginx = {
- enable = mkDefault true;
- enable = lib.mkDefault true;
- # misses text/csv, font/ttf, application/x-font-ttf, application/rtf, application/wasm
- recommendedGzipSettings = mkDefault true;
- recommendedProxySettings = mkDefault true;
- recommendedGzipSettings = lib.mkDefault true;
- recommendedProxySettings = lib.mkDefault true;
-
- upstreams = {
- # /etc/nginx/includes/http-common.conf

28
patches/pahole-fix.patch Normal file
View File

@ -0,0 +1,28 @@
From b0b178fc293ad71c35d3ac84e8ac856bd0d3492b Mon Sep 17 00:00:00 2001
From: Dominique Martinet <asmadeus@codewreck.org>
Date: Fri, 2 Aug 2024 04:34:00 +0900
Subject: [PATCH] pahole: fix clang kernel build
This should fix clang builds for real this time
Reported-by: PedroHLC <root@pedrohlc.com>
---
pkgs/by-name/pa/pahole/package.nix | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/pkgs/by-name/pa/pahole/package.nix b/pkgs/by-name/pa/pahole/package.nix
index 14a31958c0e2c14..d82c76eb769c9ef 100644
--- a/pkgs/by-name/pa/pahole/package.nix
+++ b/pkgs/by-name/pa/pahole/package.nix
@@ -36,6 +36,11 @@ stdenv.mkDerivation rec {
url = "https://github.com/acmel/dwarves/commit/6a2b27c0f512619b0e7a769a18a0fb05bb3789a5.patch";
hash = "sha256-Le1BAew/a/QKkYNLgSQxEvZ9mEEglUw8URwz1kiheeE=";
})
+ (fetchpatch {
+ name = "fix-clang-btf-generation-bug-2.patch";
+ url = "https://github.com/acmel/dwarves/commit/94a01bde592c555b3eb526aeb4c2ad695c5660d8.patch";
+ hash = "sha256-SMIxLEBjBkprAqVNX1h7nXxAsgbwvCD/Bz7c1ekwg5w=";
+ })
];
# Put libraries in "lib" subdirectory, not top level of $out

View File

@ -0,0 +1,79 @@
diff --git a/nixos/modules/services/security/vaultwarden/default.nix b/nixos/modules/services/security/vaultwarden/default.nix
index b2920931f..443b8421b 100644
--- a/nixos/modules/services/security/vaultwarden/default.nix
+++ b/nixos/modules/services/security/vaultwarden/default.nix
@@ -23,7 +23,7 @@ let
configEnv = lib.concatMapAttrs (name: value: lib.optionalAttrs (value != null) {
${nameToEnvVar name} = if lib.isBool value then lib.boolToString value else toString value;
}) cfg.config;
- in { DATA_FOLDER = "/var/lib/bitwarden_rs"; } // lib.optionalAttrs (!(configEnv ? WEB_VAULT_ENABLED) || configEnv.WEB_VAULT_ENABLED == "true") {
+ in { DATA_FOLDER = cfg.dataDir; } // lib.optionalAttrs (!(configEnv ? WEB_VAULT_ENABLED) || configEnv.WEB_VAULT_ENABLED == "true") {
WEB_VAULT_FOLDER = "${cfg.webVaultPackage}/share/vaultwarden/vault";
} // configEnv;
@@ -163,6 +163,16 @@ in {
defaultText = lib.literalExpression "pkgs.vaultwarden.webvault";
description = "Web vault package to use.";
};
+
+ dataDir = lib.mkOption {
+ type = lib.types.str;
+ default = "/var/lib/bitwarden_rs";
+ description = ''
+ The directury in which vaultwarden will keep its state. If left as the default value
+ this directory will automatically be created before the vaultwarden server starts, otherwise
+ the sysadmin is responsible for ensuring the directory exists with appropriate ownership and permissions.
+ '';
+ };
};
config = lib.mkIf cfg.enable {
@@ -180,28 +190,32 @@ in {
systemd.services.vaultwarden = {
after = [ "network.target" ];
path = with pkgs; [ openssl ];
- serviceConfig = {
- User = user;
- Group = group;
- EnvironmentFile = [ configFile ] ++ lib.optional (cfg.environmentFile != null) cfg.environmentFile;
- ExecStart = "${vaultwarden}/bin/vaultwarden";
- LimitNOFILE = "1048576";
- PrivateTmp = "true";
- PrivateDevices = "true";
- ProtectHome = "true";
- ProtectSystem = "strict";
- AmbientCapabilities = "CAP_NET_BIND_SERVICE";
- StateDirectory = "bitwarden_rs";
- StateDirectoryMode = "0700";
- Restart = "always";
- };
+ serviceConfig = lib.mkMerge [
+ (lib.mkIf (cfg.dataDir == "/var/lib/bitwarden_rs") {
+ StateDirectory = "bitwarden_rs";
+ StateDirectoryMode = "0700";
+ })
+ {
+ User = user;
+ Group = group;
+ EnvironmentFile = [ configFile ] ++ lib.optional (cfg.environmentFile != null) cfg.environmentFile;
+ ExecStart = "${vaultwarden}/bin/vaultwarden";
+ LimitNOFILE = "1048576";
+ PrivateTmp = "true";
+ PrivateDevices = "true";
+ ProtectHome = "true";
+ ProtectSystem = "strict";
+ AmbientCapabilities = "CAP_NET_BIND_SERVICE";
+ Restart = "always";
+ }
+ ];
wantedBy = [ "multi-user.target" ];
};
systemd.services.backup-vaultwarden = lib.mkIf (cfg.backupDir != null) {
description = "Backup vaultwarden";
environment = {
- DATA_FOLDER = "/var/lib/bitwarden_rs";
+ DATA_FOLDER = cfg.dataDir;
BACKUP_FOLDER = cfg.backupDir;
};
path = with pkgs; [ sqlite ];

View File

@ -6,10 +6,10 @@ index 9d1566216..c3113eb5c 100644
};
# ./update-zen.py lqx
lqxVariant = {
- version = "6.9.5"; #lqx
- version = "6.9.8"; #lqx
+ version = "6.8.11"; #lqx
suffix = "lqx1"; #lqx
- sha256 = "0r3pgjfyza3vkvp7kw1s7sn1gf4hxq6r6qs5wvv76gmff7s399yz"; #lqx
- sha256 = "1r5ld2xibr0qkwi1yy7h746sclsmd8cq68z0zdpbbn2qrgyx302k"; #lqx
+ sha256 = "1dj4znir4wp6jqs680dcxn8z6p02d518993rmrx54ch04jyy5brj"; #lqx
isLqx = true;
};

89
patches/zfs-2.2.5.patch Normal file
View File

@ -0,0 +1,89 @@
From 8d0db928289e0d3fd8fbefad0a15b3e6c734fb2e Mon Sep 17 00:00:00 2001
From: Andrew Marshall <andrew@johnandrewmarshall.com>
Date: Tue, 6 Aug 2024 18:37:12 -0400
Subject: [PATCH 1/2] zfs_2_2: 2.2.4 -> 2.2.5
Diff: https://github.com/openzfs/zfs/compare/zfs-2.2.4...zfs-2.2.5
Changelog: https://github.com/openzfs/zfs/releases/tag/zfs-2.2.5
---
pkgs/os-specific/linux/zfs/2_2.nix | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/pkgs/os-specific/linux/zfs/2_2.nix b/pkgs/os-specific/linux/zfs/2_2.nix
index cc4a3490a197f7..b6d99bbcc0065e 100644
--- a/pkgs/os-specific/linux/zfs/2_2.nix
+++ b/pkgs/os-specific/linux/zfs/2_2.nix
@@ -15,12 +15,12 @@ callPackage ./generic.nix args {
# this attribute is the correct one for this package.
kernelModuleAttribute = "zfs_2_2";
# check the release notes for compatible kernels
- kernelCompatible = kernel.kernelOlder "6.9";
+ kernelCompatible = kernel.kernelOlder "6.11";
- latestCompatibleLinuxPackages = linuxKernel.packages.linux_6_8;
+ latestCompatibleLinuxPackages = linuxKernel.packages.linux_6_10;
# this package should point to the latest release.
- version = "2.2.4";
+ version = "2.2.5";
tests = [
nixosTests.zfs.installer
@@ -29,5 +29,5 @@ callPackage ./generic.nix args {
maintainers = with lib.maintainers; [ adamcstephens amarshall ];
- hash = "sha256-SSp/1Tu1iGx5UDcG4j0k2fnYxK05cdE8gzfSn8DU5Z4=";
+ hash = "sha256-BkwcNPk+jX8CXp5xEVrg4THof7o/5j8RY2SY6+IPNTg=";
}
From fde7c3afb37e7a9d4be39e112b4b8f0bd6f75352 Mon Sep 17 00:00:00 2001
From: Andrew Marshall <andrew@johnandrewmarshall.com>
Date: Tue, 6 Aug 2024 18:37:47 -0400
Subject: [PATCH 2/2] zfs-unstable: 2.2.4-unstable-2024-07-15 -> 2.2.5
Patches all appear to be merged into this release.
---
pkgs/os-specific/linux/zfs/unstable.nix | 24 +++---------------------
1 file changed, 3 insertions(+), 21 deletions(-)
diff --git a/pkgs/os-specific/linux/zfs/unstable.nix b/pkgs/os-specific/linux/zfs/unstable.nix
index faf3514dba3e88..d989e2394ce4ed 100644
--- a/pkgs/os-specific/linux/zfs/unstable.nix
+++ b/pkgs/os-specific/linux/zfs/unstable.nix
@@ -23,31 +23,13 @@ callPackage ./generic.nix args {
# IMPORTANT: Always use a tagged release candidate or commits from the
# zfs-<version>-staging branch, because this is tested by the OpenZFS
# maintainers.
- version = "2.2.4-unstable-2024-07-15";
- rev = "/54ef0fdf60a8e7633c38cb46e1f5bcfcec792f4e";
+ version = "2.2.5";
+ # rev = "";
isUnstable = true;
tests = [
nixosTests.zfs.unstable
];
- # 6.10 patches approved+merged to the default branch, not in staging yet
- # https://github.com/openzfs/zfs/pull/16250
- extraPatches = [
- (fetchpatch {
- url = "https://github.com/openzfs/zfs/commit/7ca7bb7fd723a91366ce767aea53c4f5c2d65afb.patch";
- hash = "sha256-vUX4lgywh5ox6DjtIfeC90KjbLoW3Ol0rK/L65jOENo=";
- })
- (fetchpatch {
- url = "https://github.com/openzfs/zfs/commit/e951dba48a6330aca9c161c50189f6974e6877f0.patch";
- hash = "sha256-A1h0ZLY+nlReBMTlEm3O9kwBqto1cgsZdnJsHpR6hw0=";
- })
- (fetchpatch {
- url = "https://github.com/openzfs/zfs/commit/b409892ae5028965a6fe98dde1346594807e6e45.patch";
- hash = "sha256-pW1b8ktglFhwVRapTB5th9UCyjyrPmCVPg53nMENax8=";
- })
-
- ];
-
- hash = "sha256-7vZeIzA2yDW/gSCcS2AM3+C9qbRIbA9XbCRUxikW2+M=";
+ hash = "sha256-BkwcNPk+jX8CXp5xEVrg4THof7o/5j8RY2SY6+IPNTg=";
}

View File

@ -1,10 +1,10 @@
{ config, pkgs, ... }: {
home-manager.users.${config.mainuser} = {
home.packages = [ pkgs.gnome.geary ];
home.packages = [ pkgs.geary ];
};
defaultApplications.mail = {
cmd = "${pkgs.gnome.geary}/bin/geary";
cmd = "${pkgs.geary}/bin/geary";
desktop = "geary";
};

View File

@ -5,6 +5,11 @@
programs.honkers-railway-launcher.enable = true;
networking.mihoyo-telemetry.block = lib.mkForce true;
networking.extraHosts = ''
0.0.0.0 globaldp-prod-os01.zenlesszonezero.com
0.0.0.0 apm-log-upload.mihoyo.com
'';
persist.state.homeDirectories = [
".local/share/honkers-railway-launcher"
];

View File

@ -1,10 +1,12 @@
{ pkgs, config, ... }: {
home-manager.users.${config.mainuser}.home.packages = [
pkgs.bottles
pkgs.heroic
pkgs.osu-lazer-bin
pkgs.realrtcw
];
persist.state.homeDirectories = [
".config/heroic"
".local/share/bottles"
".local/share/osu"
];

View File

@ -1,10 +1,10 @@
{ pkgs, config, ... }: {
{ pkgs, config, lib, ... }: {
home-manager.users.${config.mainuser} = {
systemd.user.services.mako = {
Service = {
ExecStart = "${pkgs.mako}/bin/mako";
Environment =
[ "PATH=${pkgs.lib.makeBinPath [ pkgs.bash pkgs.mpv ]}" ];
[ "PATH=${lib.makeBinPath [ pkgs.bash pkgs.mpv ]}" ];
};
Install = rec {
After = [ "hyprland-session.target" ];

View File

@ -105,7 +105,7 @@ with config.deviceSpecific; {
desktop = "pcmanfm";
};
monitor = {
cmd = "${pkgs.gnome.gnome-system-monitor}/bin/gnome-system-monitor";
cmd = "${pkgs.gnome-system-monitor}/bin/gnome-system-monitor";
desktop = "gnome-system-monitor";
};
torrent = {

View File

@ -13,7 +13,7 @@ let
ext-vscode = inputs.nix-vscode-marketplace.extensions.${pkgs.system}.vscode-marketplace;
ext-nixpkgs = pkgs.vscode-extensions;
continue-ver = lib.getVersion ext-vscode.continue.continue;
continue-ver = lib.getVersion ext-nixpkgs.continue.continue;
in
{
environment.sessionVariables = {
@ -28,6 +28,7 @@ in
persist.state.homeDirectories = [
".config/Code"
".continue"
];
home-manager.users.${config.mainuser} = {
@ -43,12 +44,13 @@ in
# ext-vscode.alexisvt.flutter-snippets
ext-vscode.christian-kohler.path-intellisense
ext-vscode.codezombiech.gitignore
ext-vscode.continue.continue
ext-nixpkgs.continue.continue
# ext-vscode.dart-code.dart-code
# ext-vscode.dart-code.flutter
ext-vscode.eamodio.gitlens
ext-vscode.enkia.tokyo-night
# ext-vscode.felixangelov.bloc
ext-vscode.fill-labs.dependi
ext-vscode.github.vscode-github-actions
ext-vscode.github.vscode-pull-request-github
ext-vscode.gruntfuggly.todo-tree
@ -64,6 +66,7 @@ in
ext-vscode.ms-python.isort
ext-vscode.ms-python.vscode-pylance
ext-vscode.ms-vscode.hexeditor
ext-nixpkgs.ms-vscode-remote.remote-containers
ext-nixpkgs.ms-vscode-remote.remote-ssh #FIX later
ext-vscode.pkief.material-icon-theme
ext-vscode.streetsidesoftware.code-spell-checker
@ -75,7 +78,6 @@ in
ext-vscode.jscearcy.rust-doc-viewer
ext-vscode.polypus74.trusty-rusty-snippets
ext-nixpkgs.rust-lang.rust-analyzer
ext-vscode.serayuzgur.crates
ext-vscode.tamasfe.even-better-toml
ext-vscode.vadimcn.vscode-lldb
# Golang
@ -130,11 +132,31 @@ in
"nix.enableLanguageServer" = true;
"nix.formatterPath" = "${pkgs.nixfmt-rfc-style}/bin/nixfmt";
"nix.serverPath" = "${pkgs.nil}/bin/nil";
# "nix.serverPath" = "${pkgs.nixd}/bin/nixd";
"nix.serverSettings" = {
"nil" = {
"formatting" = {
"command" = ["${pkgs.nixfmt-rfc-style}/bin/nixfmt"];
};
"nix" = {
"maxMemoryMB" = 4096;
"flake" = {
"autoEvalInputs" = true;
};
};
};
"nixd" = {
"formatting" = {
"command" = ["${pkgs.nixfmt-rfc-style}/bin/nixfmt"];
};
# "options" = {
# "nixos" = {
# "expr" = "";
# };
# "home-manager" = {
# "expr" = "";
# };
# };
};
};
"rust-analyzer.check.command" = "clippy";
@ -147,6 +169,7 @@ in
"terminal.integrated.fontFamily" = "FiraCode Nerd Font";
"terminal.integrated.fontWeight" = "500";
"terminal.integrated.profiles.linux".zsh.path = "/run/current-system/sw/bin/zsh";
"terminal.integrated.scrollback" = 100000;
"todo-tree.regex.regex" = "(//|#|<!--|;|/\\*|^|^[ \\t]*(-|\\d+.))\\s*($TAGS)|todo!";
"update.mode" = "none";
"window.menuBarVisibility" = "toggle";

28
profiles/ccache.nix Normal file
View File

@ -0,0 +1,28 @@
{ config, lib, ... }: {
programs.ccache = {
enable = true;
cacheDir = "/var/lib/ccache";
# packageNames = [ "grub2" ];
};
nix.settings.extra-sandbox-paths = [ config.programs.ccache.cacheDir ];
persist.state.directories = lib.mkIf (config.deviceSpecific.devInfo.fileSystem != "zfs") [
config.programs.ccache.cacheDir
];
nixpkgs.overlays = [
(final: prev: {
ccacheWrapper = prev.ccacheWrapper.override {
# export CCACHE_SLOPPINESS=random_seed,pch_defines,time_macros,include_file_mtime,include_file_ctime
extraConfig = ''
export CCACHE_NOCOMPRESS=true
export CCACHE_MAXSIZE=15G
export CCACHE_DIR="${config.programs.ccache.cacheDir}"
export CCACHE_UMASK=007
export CCACHE_SLOPPINESS=random_seed
export CCACHE_BASEDIR=$NIX_BUILD_TOP
'';
};
})
];
}

View File

@ -1,10 +1,10 @@
{ config, lib, pkgs, inputs, ... }: {
{ config, lib, pkgs, inputs, self-nixpkgs, ... }: {
nix = {
package = pkgs.nixVersions.latest;
nixPath = lib.mkForce [ "self=/etc/self/compat" "nixpkgs=/etc/nixpkgs" ];
package = pkgs.lix;
nixPath = [ "self=/etc/self" "nixpkgs=/etc/nixpkgs" ];
registry.nixpkgs.flake = self-nixpkgs;
registry.self.flake = inputs.self;
registry.nixpkgs.flake = inputs.nixpkgs;
optimise.automatic = lib.mkDefault true;
@ -18,7 +18,6 @@
# Prevent Nix from fetching the registry every time
flake-registry = ${inputs.flake-registry}/flake-registry.json
'';
settings = {
auto-optimise-store = false;
require-sigs = true;
@ -28,10 +27,11 @@
"https://nixpkgs-wayland.cachix.org"
"https://hyprland.cachix.org"
"https://ataraxiadev-foss.cachix.org"
"https://cache.ataraxiadev.com/ataraxiadev"
# "https://cache.ataraxiadev.com/ataraxiadev"
"https://numtide.cachix.org"
"https://devenv.cachix.org"
"https://ezkea.cachix.org"
"https://nyx.chaotic.cx"
];
trusted-public-keys = [
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
@ -39,18 +39,34 @@
"nixpkgs-wayland.cachix.org-1:3lwxaILxMRkVhehr5StQprHdEo4IrE8sRho9R9HOLYA="
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
"ataraxiadev-foss.cachix.org-1:ws/jmPRUF5R8TkirnV1b525lP9F/uTBsz2KraV61058="
"ataraxiadev:/V5bNjSzHVGx6r2XA2fjkgUYgqoz9VnrAHq45+2FJAs="
# "ataraxiadev:/V5bNjSzHVGx6r2XA2fjkgUYgqoz9VnrAHq45+2FJAs="
"numtide.cachix.org-1:2ps1kLBUWjxIneOy1Ik6cQjb41X0iXVXeHigGmycPPE="
"devenv.cachix.org-1:w1cLUi8dv3hnoSPGAuibQv+f9TZLr6cv/Hm9XgU50cw="
"ezkea.cachix.org-1:ioBmUbJTZIKsHmWWXPe1FSFbeVe+afhfgqgTSNd34eI="
"nyx.chaotic.cx-1:HfnXSw4pj95iI/n17rIDy40agHj12WfF+Gqk6SonIT8="
"chaotic-nyx.cachix.org-1:HfnXSw4pj95iI/n17rIDy40agHj12WfF+Gqk6SonIT8="
];
trusted-users = [ "root" config.mainuser "deploy" "@wheel" ];
use-xdg-base-directories = true;
};
};
environment.etc.nixpkgs.source = inputs.nixpkgs;
environment.etc.nixpkgs.source = self-nixpkgs;
environment.etc.self.source = inputs.self;
environment.systemPackages = let
repl-home = "/home/${config.mainuser}/nixos-config/repl.nix";
repl = pkgs.writeShellScriptBin "repl" ''
# source /etc/set-environment
if [ -f "${repl-home}" ]; then
echo "use home flake"
nix repl "${repl-home}" "$@"
else
echo "use system flake"
nix repl "/etc/self/repl.nix" "$@"
fi
'';
in [ repl ];
persist.state.homeDirectories = [ ".local/share/nix" ];
}

View File

@ -21,14 +21,17 @@ with lib; {
attic-static = inputs.attic.packages.${system}.attic-static;
cassowary-py = inputs.cassowary.packages.${system}.cassowary;
devenv = inputs.devenv.packages.${system}.devenv;
nix = prev.lix;
nix-alien = inputs.nix-alien.packages.${system}.nix-alien;
nix-fast-build = inputs.nix-fast-build.packages.${system}.default;
nix-index-update = inputs.nix-alien.packages.${system}.nix-index-update;
open-webui = master.open-webui;
prismlauncher = inputs.prismlauncher.packages.${system}.prismlauncher.override {
jdks = [ pkgs.temurin-bin ];
};
xray = master.xray;
youtube-to-mpv = prev.callPackage ./packages/youtube-to-mpv.nix { term = config.defaultApplications.term.cmd; };
yt-archivist = prev.callPackage ./packages/yt-archivist { };
yt-dlp = master.yt-dlp;
steam = prev.steam.override {
extraPkgs = pkgs: with pkgs; [ mono libkrb5 keyutils ];
@ -36,6 +39,15 @@ with lib; {
wine = prev.wineWow64Packages.stagingFull;
intel-vaapi-driver = prev.intel-vaapi-driver.override { enableHybridCodec = true; };
modprobed-db = prev.modprobed-db.overrideAttrs (oa: {
postPatch = (oa.postPatch or "") + ''
substituteInPlace ./common/modprobed-db.in \
--replace-fail "/modprobed-db.conf" "/modprobed-db/modprobed-db.conf"
substituteInPlace ./common/modprobed-db.skel \
--replace-fail "/.config" "/.config/modprobed-db"
'';
});
neatvnc = prev.neatvnc.overrideAttrs (oa: {
patches = [ ../patches/neatvnc.patch ] ++ oa.patches or [ ];
});

View File

@ -1,17 +1,17 @@
{ stdenv, pkgs, term }:
{ stdenvNoCC, writeShellScriptBin, libnotify, mpv, wl-clipboard, term }:
let
yt-mpv = pkgs.writeShellScriptBin "yt-mpv" ''
yt-mpv = writeShellScriptBin "yt-mpv" ''
if [[ "$1" != "--no-video" ]]; then
${pkgs.libnotify}/bin/notify-send -t 3000 --icon=video-television "Playing Video" "$(${pkgs.wl-clipboard}/bin/wl-paste)"
${pkgs.mpv}/bin/mpv --fs "$(${pkgs.wl-clipboard}/bin/wl-paste)"
${libnotify}/bin/notify-send -t 3000 --icon=video-television "Playing Video" "$(${wl-clipboard}/bin/wl-paste)"
${mpv}/bin/mpv --fs "$(${wl-clipboard}/bin/wl-paste)"
else
${pkgs.libnotify}/bin/notify-send -t 3000 --icon=video-television "Playing Audio" "$(${pkgs.wl-clipboard}/bin/wl-paste)"
${term} -e ${pkgs.mpv}/bin/mpv --no-video "$(${pkgs.wl-clipboard}/bin/wl-paste)"
${libnotify}/bin/notify-send -t 3000 --icon=video-television "Playing Audio" "$(${wl-clipboard}/bin/wl-paste)"
${term} -e ${mpv}/bin/mpv --no-video "$(${wl-clipboard}/bin/wl-paste)"
fi
'';
in
stdenv.mkDerivation rec {
stdenvNoCC.mkDerivation {
name = "youtube-to-mpv";
src = yt-mpv;
installPhase = ''

View File

@ -0,0 +1,32 @@
{ lib, stdenvNoCC, fetchFromGitHub, makeWrapper, perl, yt-dlp, ffmpeg, coreutils }:
stdenvNoCC.mkDerivation rec {
name = "yt-archivist";
version = "3.4.0";
src = fetchFromGitHub {
owner = "TheFrenchGhosty";
repo = "TheFrenchGhostys-Ultimate-YouTube-DL-Scripts-Collection";
rev = version;
hash = "sha256-nteenn+XLCyp1WPaCUth2zAh0nhawYLEQEKD+L93nJM=";
};
patches = [ ./fix.patch ];
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
mkdir -p $out/bin
cp "scripts/Archivist Scripts/Archivist Scripts (No Comments)/Channels/Channels.sh" $out/bin/yt-archivist
cp "scripts/Archivist Scripts/Recent Scripts/Channels/Channels.sh" $out/bin/yt-archivist-recent
'';
postFixup = ''
for f in $out/bin/*; do
wrapProgram $f \
--set PATH ${lib.makeBinPath [ perl yt-dlp ffmpeg coreutils ]}
done
'';
meta = with lib; {
description = "The ultimate collection of scripts for YouTube-DL";
homepage = "https://github.com/TheFrenchGhosty/TheFrenchGhostys-Ultimate-YouTube-DL-Scripts-Collection";
license = licenses.gpl3;
platforms = platforms.linux;
maintainers = with maintainers; [ ataraxiasjel ];
};
}

File diff suppressed because one or more lines are too long

View File

@ -1,6 +1,6 @@
{ dnsmasq-list ? [] }: { ... }:
let
nodeAddress = "192.168.0.5";
nodeAddress = "10.10.10.53";
upstream-dns = "100.64.0.1";
in {
services.headscale-auth.blocky = {
@ -23,7 +23,7 @@ in {
blockyHttpPort = config.services.blocky.settings.ports.http;
in {
networking = {
defaultGateway = "192.168.0.1";
defaultGateway = "10.10.10.1";
hostName = "blocky-node";
nameservers = [ "127.0.0.1" ];
enableIPv6 = false;
@ -34,7 +34,7 @@ in {
allowedUDPPorts = [ blockyPort ];
};
hosts = {
"192.168.0.10" = [ "wg.ataraxiadev.com" ];
"10.10.10.10" = [ "wg.ataraxiadev.com" ];
};
};
# ephemeral tailscale node

View File

@ -2,25 +2,25 @@
let
gitea-user = config.services.gitea.user;
gitea-group = "gitea";
runner-user = "gitea-runner";
runner-group = "root";
# runner-user = "gitea-runner";
# runner-group = "root";
gitea-secret = {
sopsFile = inputs.self.secretsDir + /home-hypervisor/gitea.yaml;
sopsFile = inputs.self.secretsDir + /gitea.yaml;
owner = gitea-user;
restartUnits = [ "gitea.service" ];
};
runner-secret = services: {
sopsFile = inputs.self.secretsDir + /home-hypervisor/gitea.yaml;
owner = runner-user;
restartUnits = services;
};
# runner-secret = services: {
# sopsFile = inputs.self.secretsDir + /home-hypervisor/gitea.yaml;
# owner = runner-user;
# restartUnits = services;
# };
in {
sops.secrets.gitea = gitea-secret;
sops.secrets.gitea-mailer = gitea-secret;
sops.secrets.gitea-runner-hypervisor = runner-secret [ "gitea-runner-hypervisor.service" ];
# sops.secrets.gitea-runner-hypervisor = runner-secret [ "gitea-runner-hypervisor.service" ];
persist.state.directories = [
"/var/lib/gitea-runner"
# "/var/lib/gitea-runner"
# { directory = "/var/lib/gitea-runner"; user = runner-user; group = runner-group; }
] ++ lib.optionals (config.deviceSpecific.devInfo.fileSystem != "zfs") [
{ directory = "/srv/gitea"; user = gitea-user; group = gitea-group; }
@ -117,33 +117,33 @@ in {
'';
};
users.users.${runner-user} = {
isSystemUser = true;
group = runner-group;
};
services.gitea-actions-runner.instances.hypervisor = {
enable = true;
name = "hypervisor";
url = config.services.gitea.settings.server.ROOT_URL;
tokenFile = config.sops.secrets.gitea-runner-hypervisor.path;
labels = [
"native:host"
"debian-latest:docker://debian:12-slim"
];
hostPackages = with pkgs; [
bash
curl
gawk
gitMinimal
gnused
wget
];
# TODO: fix cache server
# settings = {};
};
systemd.services.gitea-runner-hypervisor = {
serviceConfig.DynamicUser = lib.mkForce false;
serviceConfig.User = lib.mkForce runner-user;
serviceConfig.Group = lib.mkForce runner-group;
};
# users.users.${runner-user} = {
# isSystemUser = true;
# group = runner-group;
# };
# services.gitea-actions-runner.instances.hypervisor = {
# enable = true;
# name = "hypervisor";
# url = config.services.gitea.settings.server.ROOT_URL;
# tokenFile = config.sops.secrets.gitea-runner-hypervisor.path;
# labels = [
# "native:host"
# "debian-latest:docker://debian:12-slim"
# ];
# hostPackages = with pkgs; [
# bash
# curl
# gawk
# gitMinimal
# gnused
# wget
# ];
# # TODO: fix cache server
# # settings = {};
# };
# systemd.services.gitea-runner-hypervisor = {
# serviceConfig.DynamicUser = lib.mkForce false;
# serviceConfig.User = lib.mkForce runner-user;
# serviceConfig.Group = lib.mkForce runner-group;
# };
}

View File

@ -1,4 +1,4 @@
{ headscale-list ? {} }: { config, lib, inputs, ... }:
{ headscale-list ? [] }: { config, lib, inputs, ... }:
let
domain = "wg.ataraxiadev.com";
in {
@ -42,11 +42,11 @@ in {
};
systemd.services.headscale = {
serviceConfig.TimeoutStopSec = 10;
after = lib.mkIf config.services.authentik.enable [
"authentik-server.service"
"authentik-worker.service"
"nginx.service"
];
# after = lib.mkIf config.services.authentik.enable [
# "authentik-server.service"
# "authentik-worker.service"
# "nginx.service"
# ];
};
persist.state.directories = [ "/var/lib/headscale" ];

View File

@ -37,7 +37,7 @@ let
in {
virtualisation.oci-containers.containers.media-caddy = {
autoStart = true;
image = "ghcr.io/hotio/caddy:release-2.7.6";
image = "ghcr.io/hotio/caddy:release-2.8.4";
environment = {
PUID = "1000";
PGID = "100";

View File

@ -6,7 +6,7 @@ let
# caddy
"127.0.0.1:8180:8180"
];
pod-dns = "192.168.0.1";
pod-dns = "10.10.10.1";
in {
imports = [
./caddy.nix

View File

@ -11,7 +11,7 @@ in {
TZ = "Europe/Moscow";
};
extraOptions = [ "--pod=media-stack" ];
image = "docker.io/linuxserver/jackett:0.21.2606";
image = "docker.io/linuxserver/jackett:0.22.263";
volumes = [
"${nas-path}/configs/jackett:/config"
];

View File

@ -11,7 +11,7 @@ let
in {
virtualisation.oci-containers.containers.jellyfin = {
autoStart = true;
image = "docker.io/linuxserver/jellyfin:10.9.6";
image = "docker.io/linuxserver/jellyfin:10.9.7";
environment = {
PUID = "1000";
PGID = "100";

View File

@ -4,7 +4,7 @@ let
in {
virtualisation.oci-containers.containers.kavita = {
autoStart = true;
image = "docker.io/jvmilazz0/kavita:0.8.1";
image = "docker.io/jvmilazz0/kavita:0.8.2";
environment = {
PUID = "1000";
PGID = "100";

View File

@ -10,7 +10,7 @@ in {
TZ = "Europe/Moscow";
};
extraOptions = [ "--pod=media-stack" ];
image = "docker.io/linuxserver/lidarr:2.3.3";
image = "docker.io/linuxserver/lidarr:version-2.3.3.4204";
volumes = [
"${nas-path}/configs/lidarr/config:/config"
"${nas-path}/configs/lidarr/custom-services.d:/custom-services.d"

View File

@ -4,7 +4,7 @@ let
in {
virtualisation.oci-containers.containers.medusa = {
autoStart = true;
image = "docker.io/linuxserver/medusa:1.0.21";
image = "docker.io/linuxserver/medusa:v1.0.21-ls189";
environment = {
PUID = "1000";
PGID = "100";

View File

@ -4,7 +4,7 @@ let
in {
virtualisation.oci-containers.containers.qbittorrent = {
autoStart = true;
image = "docker.io/linuxserver/qbittorrent:4.6.4";
image = "docker.io/linuxserver/qbittorrent:4.6.5-r0-ls338";
environment = {
PUID = "1000";
PGID = "100";

View File

@ -11,7 +11,7 @@ in {
TZ = "Europe/Moscow";
};
extraOptions = [ "--pod=media-stack" ];
image = "docker.io/linuxserver/radarr:5.6.0";
image = "docker.io/linuxserver/radarr:version-5.7.0.8882";
volumes = [
"${nas-path}/configs/radarr:/config"
"${nas-path}:/data"

View File

@ -11,7 +11,7 @@ in {
TZ = "Europe/Moscow";
};
extraOptions = [ "--pod=media-stack" ];
image = "docker.io/linuxserver/sonarr:version-4.0.4.1491";
image = "docker.io/linuxserver/sonarr:version-4.0.6.1805";
volumes = [
"${nas-path}/configs/sonarr:/config"
"${nas-path}:/data"

View File

@ -3,7 +3,7 @@ let
promStateDir = "prometheus2";
grafanaDataDir = "grafana";
prometheusUid = "d8e758af-3f6b-4891-a855-1efe6cdec658";
blockyUrl = "192.168.0.5:4000";
blockyUrl = "10.10.10.53:4000";
prometheusPort = 9001;
grafanaPort = 9002;

View File

@ -1,7 +1,7 @@
{ config, pkgs, lib, inputs, ... }:
let
jre21 = pkgs.temurin-bin;
jre17 = pkgs.temurin-bin-17;
jdk21 = pkgs.temurin-bin;
jdk17 = pkgs.temurin-bin-17;
jvmOpts = lib.concatStringsSep " " [
"-XX:+UnlockExperimentalVMOptions"
"-XX:+UseZGC"
@ -38,10 +38,10 @@ in
inherit rsyncSSHKeys jvmOpts;
jvmMaxAllocation = "6144m";
jvmInitialAllocation = "6144m";
jvmPackage = jre17;
jvmPackage = jdk17;
serverConfig = defaults // {
server-port = 25585;
rcon-port = 25586;
server-port = 25567;
rcon-port = 25577;
motd = "StaTech";
max-world-size = 50000;
level-seed = "-4411466874705470064";
@ -52,9 +52,9 @@ in
inherit rsyncSSHKeys jvmOpts;
jvmMaxAllocation = "4096m";
jvmInitialAllocation = "4096m";
jvmPackage = jre21;
jvmPackage = jdk21;
serverConfig = defaults // {
server-port = 25575;
server-port = 25566;
rcon-port = 25576;
motd = "All of Create";
max-world-size = 50000;
@ -66,13 +66,14 @@ in
inherit rsyncSSHKeys jvmOpts;
jvmMaxAllocation = "4096m";
jvmInitialAllocation = "4096m";
jvmPackage = jre21;
jvmPackage = jdk21;
serverConfig = defaults // {
server-port = 25565;
rcon-port = 25566;
rcon-port = 25575;
motd = "AtaraxiaSjel's Create";
max-world-size = 50000;
# level-seed = "-6893059259197159072";
# 520 120 375
level-seed = "-9219784036026610404";
};
};
};
@ -87,7 +88,7 @@ in
backup = true;
prune = false;
initialize = false;
environmentFile = config.sops.secrets.rustic-minecraft-s3-env.path;
# environmentFile = config.sops.secrets.rustic-minecraft-s3-env.path;
pruneOpts = [ "--repack-cacheable-only=false" ];
timerConfig = {
OnCalendar = "*:0/15";
@ -130,14 +131,16 @@ in
label = "workstation-minecraft";
in {
repository = {
repository = "opendal:s3";
# repository = "opendal:s3";
repository = "/persist/backup/minecraft-servers";
password-file = config.sops.secrets.rustic-workstation-pass.path;
options = {
root = label;
bucket = "rustic-backups";
region = "us-east-1";
endpoint = "https://s3.ataraxiadev.com";
};
no-cache = true;
# options = {
# root = label;
# bucket = "rustic-backups";
# region = "us-east-1";
# endpoint = "https://s3.ataraxiadev.com";
# };
};
backup = {
host = config.device;
@ -145,7 +148,8 @@ in
ignore-devid = true;
group-by = "label";
skip-identical-parent = true;
glob = [ "!/var/lib/**/backups" ];
glob = [ "!/var/lib/**/backups" "!/var/lib/**/.cache" "!/var/lib/**/logs" ];
exclude-if-present = [ ".nobackup" "CACHEDIR.TAG" ];
sources = [{
source = lib.strings.concatStringsSep " " (map (x: "/var/lib/mc-${x}") (lib.attrNames instances));
}];

View File

@ -293,7 +293,7 @@ in {
proxyPass = "http://127.0.0.1:${toString config.services.headscale.port}";
extraConfig = ''
allow 100.64.0.0/16;
allow 192.168.0.0/24;
allow 10.10.10.0/24;
deny all;
'';
priority = 2;

View File

@ -10,7 +10,8 @@ in {
enable = true;
host = "127.0.0.1";
port = 11434;
sandbox = false;
user = "ollama";
group = "ollama";
openFirewall = false;
acceleration =
if gpu == "amd" then
@ -41,7 +42,9 @@ in {
ENABLE_RAG_WEB_SEARCH = "True";
RAG_WEB_SEARCH_ENGINE = "searxng";
SEARXNG_QUERY_URL = "http://127.0.0.1:${searx-port}/search?q=<query>";
# fix crush on web search
# RAG_EMBEDDING_ENGINE = "ollama";
# RAG_EMBEDDING_MODEL = "mxbai-embed-large:latest";
};
};
services.searx = {
@ -70,18 +73,10 @@ in {
environmentFile = config.sops.secrets.searx-env.path;
};
users.groups.ollama = { };
users.users.ollama = {
description = "ollama user";
isSystemUser = true;
group = "ollama";
extraGroups = [ "video" "render" ];
};
users.users.ollama.extraGroups = [ "video" "render" ];
systemd.services.ollama.serviceConfig = {
DynamicUser = lib.mkForce false;
User = "ollama";
Group = "ollama";
};
systemd.services.open-webui.serviceConfig = {
DynamicUser = lib.mkForce false;

View File

@ -3,7 +3,7 @@
in {
virtualisation.oci-containers.containers.spdf = {
autoStart = true;
image = "docker.io/frooodle/s-pdf:0.23.1";
image = "docker.io/frooodle/s-pdf:0.26.1-fat";
environment = {
PUID = "1000";
PGID = "100";

View File

@ -16,7 +16,7 @@ in {
enableACME = false;
forceSSL = true;
locations."/" = {
proxyPass = "http://192.168.0.100:3456";
proxyPass = "http://10.10.10.100:3456";
};
};
};

View File

@ -5,12 +5,12 @@
ephemeral = true;
privateNetwork = true;
hostBridge = "br0";
localAddress = "192.168.0.6/24";
localAddress = "10.10.10.6/24";
config = { ... }: {
services.privoxy = {
enable = true;
settings = {
listen-address = "192.168.0.6:8888";
listen-address = "10.10.10.6:8888";
toggle = false;
keep-alive-timeout = 300;
default-server-timeout = 60;
@ -18,9 +18,9 @@
};
};
networking = {
defaultGateway = "192.168.0.1";
defaultGateway = "10.10.10.1";
hostName = "tinyproxy-node";
nameservers = [ "192.168.0.1" ];
nameservers = [ "10.10.10.1" ];
useHostResolvConf = false;
firewall = {
enable = true;

View File

@ -1,5 +1,4 @@
{ config, pkgs, lib, ... }: {
sound.enable = false;
security.rtkit.enable = true;
hardware.pulseaudio.enable = lib.mkForce false;
services.jack.jackd.enable = lib.mkForce false;

View File

@ -4,6 +4,11 @@
boot.loader.grub.catppuccin.enable = true;
console.catppuccin.enable = true;
environment.systemPackages = [
pkgs.libsForQt5.qtstyleplugin-kvantum
pkgs.libsForQt5.qt5ct
];
home-manager.users.${config.mainuser} = {
catppuccin.accent = cfg.accent;
catppuccin.flavor = cfg.flavor;
@ -31,6 +36,25 @@
wayland.windowManager.hyprland.extraConfig = ''
exec=hyprctl setcursor catppuccin-${cfg.flavor}-${cfg.accent}-cursors ${toString cfg.thm.cursorSize}
'';
xdg.configFile = {
qt5ct = {
target = "qt5ct/qt5ct.conf";
text = lib.generators.toINI { } {
Appearance = {
icon_theme = "Papirus-${cfg.gtkTheme}";
};
};
};
qt6ct = {
target = "qt6ct/qt6ct.conf";
text = lib.generators.toINI { } {
Appearance = {
icon_theme = "Papirus-${cfg.gtkTheme}";
};
};
};
};
};
themes.base16.extraParams = {

View File

@ -44,12 +44,12 @@ in {
"forgejo-dark-tritanopia"
];
};
in lib.mkForce builtins.concatStringsSep "," (
in lib.mkForce (builtins.concatStringsSep "," (
builtinThemes.${gitea}
++ (map (name: lib.removePrefix "theme-" (lib.removeSuffix ".css" name)) (
builtins.attrNames (builtins.readDir theme)
))
);
));
};
};
}

View File

@ -20,5 +20,6 @@ in
};
};
enableDefaultPackages = true;
fontDir.enable = true;
};
}

View File

@ -1,7 +1,12 @@
{ config, pkgs, ... }: let
git-conf = config.home-manager.users.${config.mainuser}.programs.git;
in {
environment.systemPackages = [ git-conf.package pkgs.git-lfs ];
environment.systemPackages = [
git-conf.package
pkgs.git-lfs
pkgs.difftastic
];
home-manager.users.${config.mainuser} = {
programs.git = {
enable = true;
@ -23,6 +28,12 @@ in {
pull.rebase = true;
safe.directory = "*";
};
difftastic = {
enable = true;
background = "dark";
color = "always";
# display = "inline";
};
};
};
}

View File

@ -57,7 +57,7 @@ in with config.deviceSpecific; with lib; {
in concatStrings [
''
${if config.device == "AMD-Workstation" then ''
monitor=DP-1,2560x1440@59951,0x0,1
monitor=DP-3,2560x1440@59951,0x0,1
monitor=HDMI-A-1,disable
'' else ''
monitor=,highres,auto,1

View File

@ -12,5 +12,5 @@
pkgs.system-config-printer
];
environment.systemPackages = [ pkgs.gnome.simple-scan ];
environment.systemPackages = [ pkgs.simple-scan ];
}

10
repl.nix Normal file
View File

@ -0,0 +1,10 @@
let
flake = builtins.getFlake (toString ./.);
nixpkgs = import <nixpkgs> { };
in
{ inherit flake; }
// flake
// builtins
// nixpkgs
// nixpkgs.lib
// flake.nixosConfigurations

View File

@ -0,0 +1,22 @@
#!/usr/bin/env bash
# Create a temporary directory
temp=$(mktemp -d)
# Function to cleanup temporary directory on exit
cleanup() {
rm -rf "$temp"
}
trap cleanup EXIT
# Create the directory where sshd expects to find the host keys
install -d -m755 "$temp/etc/ssh"
# Decrypt your private key from the password store and copy it to the temporary directory
pass ssh_host_rsa_key > "$temp/etc/ssh/ssh_host_rsa_key"
# Set the correct permissions so sshd will accept the key
chmod 600 "$temp/etc/ssh/ssh_host_rsa_key"
# Install NixOS to the host system with our secrets
nixos-anywhere --extra-files "$temp" --flake '.#your-host' root@yourip

View File

@ -1,84 +0,0 @@
"""Converts JSON objects into nix (hackishly)."""
import sys
import json
INDENT = " " * 2
def strip_comments(t):
# fixme: doesn't work if JSON strings contain //
return "\n".join(l.partition("//")[0] for l in t.split("\n"))
def indent(s):
return "\n".join(INDENT + i for i in s.split("\n"))
def nix_stringify(s):
# fixme: this doesn't handle string interpolation and possibly has more bugs
return json.dumps(s)
def sanitize_key(s):
if s and s.isalnum() and not s[0].isdigit():
return s
return nix_stringify(s)
def flatten_obj_item(k, v):
keys = [k]
val = v
while isinstance(val, dict) and len(val) == 1:
k = next(iter(val.keys()))
keys.append(k)
val = val[k]
return keys, val
def fmt_object(obj, flatten):
fields = []
for k, v in obj.items():
if flatten:
keys, val = flatten_obj_item(k, v)
formatted_key = ".".join(sanitize_key(i) for i in keys)
else:
formatted_key = sanitize_key(k)
val = v
fields.append(f"{formatted_key} = {fmt_any(val, flatten)};")
return "{\n" + indent("\n".join(fields)) + "\n}"
def fmt_array(o, flatten):
body = indent("\n".join(fmt_any(i, flatten) for i in o))
return f"[\n{body}\n]"
def fmt_any(o, flatten):
if isinstance(o, str) or isinstance(o, bool) or isinstance(o, int):
return json.dumps(o)
if isinstance(o, list):
return fmt_array(o, flatten)
if isinstance(o, dict):
return fmt_object(o, flatten)
raise TypeError(f"Unknown type {type(o)!r}")
def main():
flatten = "--flatten" in sys.argv
args = [a for a in sys.argv[1:] if not a.startswith("--")]
if len(args) < 1:
print(f"Usage: {sys.argv[0]} [--flatten] <file.json>", file=sys.stderr)
sys.exit(1)
with open(args[0], "r") as f:
data = json.loads(strip_comments(f.read()))
print(fmt_any(data, flatten=flatten))
if __name__ == "__main__":
main()

111
secrets/gitea.yaml Normal file
View File

@ -0,0 +1,111 @@
gitea: ENC[AES256_GCM,data:J+ZBpsUSXOaPycPCjh6RgZQlRv8=,iv:DtE+qtWTIHS2OkFZBhUcjg07wVrwiMm7XsW63ZD4f5o=,tag:5vOIdgsBB8eMkIbRe6pNdA==,type:str]
gitea-mailer: ENC[AES256_GCM,data:o7JNqMqJM3OoDxSohmeYsPn1n3wb6J6L,iv:agiJl0halqfmKMvWA8b0boXF3rXrbC2bIj9zb5274hg=,tag:DjnNySDnYwVYtP9RNuEYGQ==,type:str]
gitea-secretkey: ENC[AES256_GCM,data:eyhy6wRwoWxUVGh3GghePwYZxX2BmHxly0Tn6eHq+6qDryDgL6c/fA==,iv:/xMqcni+lTh3syWSSp50pS6VHDTEDsUL2idFWEoCc9M=,tag:qgmGHzc5R6k6OLOEyrBlMw==,type:str]
gitea-internaltoken: ENC[AES256_GCM,data:BYA9CHQ/IVnwA/apr0V3EYE66vJfz5wdpOGxgMzVdcYKrqVVhfK7YQ==,iv:Fj4gn00rRc2E1A74SWeRZWktm4EvvTeCG04p8K2NSxk=,tag:BanFYGL7GF5Q8zdjugAICw==,type:str]
gitea-runner-hypervisor: ENC[AES256_GCM,data:vS++cR4ewTzT8W7h870tXJkFYy6F9hV8SA/A94kqIxsawAmeeu5xf5YVQZZcNw==,iv:h9LVb3J909tkoiI01mh7ZgW34MPrB49mC5Sn+b5iIQE=,tag:CJ9kk6Ly/X89VAU2pBOZaA==,type:str]
sops:
kms: []
gcp_kms: []
azure_kv: []
hc_vault: []
age: []
lastmodified: "2024-01-21T19:08:51Z"
mac: ENC[AES256_GCM,data:ranW9+W0x11eRFRzGosVfapoW1xpgTUpUvzzItYcZT0Pr1cRpBMQNTmHXpItNKuw1Ut4PBzUlmtDl/Y1VlefVecy6j9xvEczgYvCXCRH+x5Dp2FAuIwqw+EuQWsxxZ/k32zzdWT2brWsO+z5EmLRePJu0mBoxRx1vqVAZef8vwo=,iv:yEofPQ22CpHLktUjRke1Tlg445TpX0ocpQBeoeWba+Q=,tag:Ai+tbYJJ5BHyNHfnK1elgw==,type:str]
pgp:
- created_at: "2024-07-18T13:59:27Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQEMAwcagTG/Fm6AAQf/QSk4WajpkQlwJDmcAww1dFQjpGpBAj55nslbLG4fc0y3
ND30dJ8/98l1Au0t4FBmQ364text3IkcfPJu635dCgUhkuzq6U9wwaesmL8GPZDH
3IuiygJJaDlL0zITecwcYVXzp3SHvy+b/28MKBHPeQHUcAfVTbk0QhCRE/9pbX3M
5PMKjrl2y8sBk98oykjOFezEX+ykkjUSSrSFBuGw+HaDJseDqhuAuxYY86yYklpK
rO39O8kzeFwUm2VxW28yiO3Yd0gINvi0b6bNqMqruXdKXMalNxla1MBUOq9NPegG
S5Xwft1UeyDzXrtj6750BeXQ4GXWvI4AjKIegqV18tJYAd7qK87W6eZcvUlTfg9i
DxwVkQbwbAikdIbvvzEP9ShibdJl3uniM4yk5C1gSKFV7ZJQMJJbrURRBbuEcWb4
v7ICAmResSYG1lp6HIOmWeT9iPKULHO1Kg==
=ofgK
-----END PGP MESSAGE-----
fp: ad382d058c964607b7bbf01b071a8131bf166e80
- created_at: "2024-07-18T13:59:27Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQIMA7DEqu/04FqmAQ/+ND7nCdGT4fzG0Hqa2W7jkTXaDK0R92fQzEtV2hZ0zIdG
MH/iwc1M/oV4wEvWv2Qp/sfC4wVFL3jysqnW7q3b3+VgRJuQWEFlv/WZUD5IxBgH
xgSTnxvQDuXeoQl+zF5MAFISioCbbFvuJuP2jK5I0xcccrxRYwVV1cnp+vMVG4So
etg01dpNONuFZBUIHCWTZk8vNLBLRmMoRQiJXa8PKoyKFCoY3NoRdwHhXNfXboO3
DSPtGf+BV31z3hMbYsj1lOA1iQHi1Cf40dI1DuuOO9Qe+LzvSyz+Kd5E5fgnpstO
3j5kzb1zahEaL6EBNLFMm6s4FzG5qUG6/LkHTlAkIhXWwn1QgBZfOpfXoss3bTsH
1aSTAunB5h7zgxncqYwkDwpAHZIY6RBfdoNp1U5zzTIjAgXVNbZa9M666YSj5Mo4
5DnAJdP79SCvVVo+xGjo457vm1PNxKV2l/TudcGyn78+ojYMQMY57CfVz8MgXpNU
I0ir1R1jLMZCRRCEThRy7vY5Rn68nWDMrkiyuJwybG1G5CS3xhfob5VcHIcB1ghT
mfIsLPKPoiodvuccA27MDFARsdfTPIRagjWAuFwqMAmaACAJuzhd0WvnKjUS62SR
FYjJ55uEvxYFSZSpkw2NpvZ6vcqeNXReJkNo249/O17CoC+70gjo7Gv07PZ1jWrS
WAGR0NiGe2NziOPo6Ikode5eaOdf+nPbY02+u6CGpyLRv5iE30KVrOWj/pw4iVfc
jRuwYhtbtoNc5lRpCN+vvjE7WFgdFA9U2WKqXouDMsmMmwgFNqbC3S0=
=BaUn
-----END PGP MESSAGE-----
fp: 4ec141b4dd5a00e108b36211b0c4aaeff4e05aa6
- created_at: "2024-07-18T13:59:27Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQIMA187ia82lSDGAQ/7BgY+MJ13bpIFB5ErF5b3PBpwb36mukIHKxDsug/EAjFQ
aHrCtmASV4bFYIbzMN/iOHNGnHoeUrfo7REcVWJJ0ts6gEPnTLLEmc7Sb8G9r7lg
C+RvanDDs8RV6dJakuFFzufZmDPrRUAijgD4Ps2MeVLo8v4NxYBCd24PRS5A8Ywc
Qzj6tt0m+0rNEVcPhtR27PVqpSL71LHfFJrR06mK5nT2mqyIQU9ABAa8YYeaKZdL
PyAERVXKXAHX2862Rgd9Pfj3YH7RNKyroafCF+pAm08kd+8IC9OyRUrnfkPruJDC
alSo0aq0BWsDXl3l62BVbqRmyS8o/ngAIDFqYp463aG8axBJNnRU63gipXQicnhO
mPUdTrbi0GhwWDHDuKfwwjdjW/3gjoJJ0Np4dws5EhE/m6dzMV4flCYKmGHoAu0B
SdHcrcdMKpACRxqkWLRfLZft/467udgP0e2e1ic0JzaNi2VwmD/JXf9RlsVcw1Ut
iVfpWaTSs3Plta1tEYyybnVJBsUFpJsyAcWwEq2ieAeD9mXE80Zbf5TPvQoTPOL0
Q7VlXfKulVtld0v7V0w0RbXiozM8sAoR/nmBbMYJsse9AYC97ey74M3oYPgBs1qr
5i/NCHixI4+4mRXBaUszOiPGcCzXDbvrt/QvGuz28lpiaOaIvs+D8pSmcOK8fL7S
WAFNZrdtRf2r7ajer276rSEH70ACyXmU2Pt7dMUNTxEVfaStvXokSkzWdirQ7+2C
cuxjn+WFdkqTyV4bmpP8cd8gf5hXAMJgBYx/YflqL6rAjHHlU+S9N3g=
=84Oc
-----END PGP MESSAGE-----
fp: a32018133c7afbfd05d5b2795f3b89af369520c6
- created_at: "2024-07-18T13:59:27Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQIMA4NImSg+4iqHAQ/+PaguSKhG6iXqvpXGurT8o9qFgS1+IqbpN236PUfFemCw
lZMm1vQkEr1QhK92yhuAbs/lb1OWYdYHrAFpAaI2J3ldN+Y0RGfkDbepGGDTWuZr
RDGvbdsrbYmBHKh42fAz68wDYmBoQ6qVQTMQn2bAwjPyzUafI6Gp/rOteOL+PtGW
7n2sEgqhYypw1jUm0pEu1I4pyFG8zCtC8iew/zYFIIK+MxXci3K4+QfQLRfAkclW
62j17hlra2lb2z/I/b8+lVPqrUjjgD8lpqhzecN+XmljWsgJFvTY9jC3abqQaGQr
V7YcdU3IQyNpdewYuNNbRr8juLqvzh+isDeUGzMiTIKLH0uJydRJWQDJ03pDcn5c
8TBqGWo2DdvRGDq5q6Eg8iaU1BgYxnbwkDLuRg4tZHBR1AXW7aH3QyzwdS5s01PI
yNbSZW9Q0IEll+dgJdILiAj72fQXRTOyr8TxYbbBsBhLt97NWIGda1Dm3mZXm5/H
RHIqktawJMdmjG+bQ+pU0P4a2L4FiGcU5Q6QpTR4CBfAHwxyXfnHKTC5qBskaDSY
mc4zcT9CqHJK+l17toWEgmc6yAz5TgEnrbSChV9HhUGNYz5+CjKg249vydCIIaB9
92E+/O1I6kLb8K0NpEhLgpTz2jzRD8XljZOxPCJU1VJ1z7i51BsXNlJ2yBlPs93S
WAFrVP+XiEiorUmR//2mjfJZz0XABfTT7lIVfYyvMGaIfLfqJpc5rrqQBvo1w3OH
xjebxpnUc5pIhydyO4QvYh0PUclHT1be/WOH+tEb2hjCCddMZpdgEsg=
=i5bl
-----END PGP MESSAGE-----
fp: 78fa8fb95e85b2b89f1dd4f0834899283ee22a87
- created_at: "2024-07-18T13:59:27Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQIMA9T+KNkhS2haARAAgQtfI+5L+UUlWS1BgO6LYTEQx5hxarwNL0wvU/dqYKJs
CUZQOKWfsiKTCsGHg8AUjlsjHKs2aZVxQzy40dfUJ75hPyFBG4pOl74lTnZ8JX9r
NG2W6JcYhvTkVPulkYnT6JUFa5gMWQM13+93Yvp93+2s3CDLbqgky83SrNdrkMFG
FZ4EBgDrs0Q76DA4EuSPaaMhqihVijWOXZy3gKO7N4cEpd1Q677Uab2ROr4sbKub
JuSyHzugl3wMvQhVbS5KQP2wLFMmqbCWmUIJng6MqXeVnl0c/CRXWQmjNSTX35YR
uLCUwkMFIiVlV99VtX0pARXQzlezRTWlzMTYQ8PciYOUON8xA1VSpZ7b2obHfGfZ
J2edKa3cFEGC3S3ZPs4A50VGjEu3s8C9XkFUzasG3t70imFQw+OgG7fitIeQPNT+
mcEOKAJ6nm8cS1+p+aRWHhUMuH+8Gs3ndNZZyniuQ8BOlG3D78gSL0MQvIktZ9ya
5/Aw8CB+2p4PQrOsbEoEvTGcgAG+TJQafDVja38qEj+Nxg3nxLGx2qmJ1IL1pae/
JWpFsDvYuH/R29bNoCLesX4nRLtYbK1XiIc4xLJgAkwmmbLbYWHlKKm9Y1DQYWEv
pKMod4TbStUFKcPxCcf2vFgLK2m2hrSpSy7LImiF0wbxTIIPBlBdYFaHqHyvDR3S
WAEvTxCk+DnbrZhXqMoM+KMrmuhskFZslaqtGUR9UjcmSG84MnWioTMGj0dBNpt+
RsXT61ARhJ8zm7K8NgUEq2HM900T0e2Efaestw/L/MCHDcbVH+gUTH0=
=6Tz3
-----END PGP MESSAGE-----
fp: 05588f4245256f75a8da42e5d4fe28d9214b685a
unencrypted_suffix: _unencrypted
version: 3.8.1

View File

@ -8,40 +8,60 @@ sops:
lastmodified: "2024-01-27T14:51:05Z"
mac: ENC[AES256_GCM,data:1OnZT0kcK1t8wCW80YGQ+sMnfOR6EKqRYlrvFG81vZEPLwOeZVi5ByzydBYBCcrVQ6I5fxDULf1AVpQeWB0GmXaG9ZxehAzSkD4LA09l3/4RtKXKgSFNdiCkudeVwUguxyzWaLJd4Saq82ltxpW5Am4VWtzp+z0wJe81ImSz0cI=,iv:jqES/410Z02Z39z5mg6mn2nNeQqPzvxHQlstZJw7iJY=,tag:y7EurbA3YQmLtawgYWeJjg==,type:str]
pgp:
- created_at: "2024-01-21T19:48:32Z"
- created_at: "2024-07-17T08:44:37Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQEMAwcagTG/Fm6AAQf/R2IZjBGHQY/t/6p/HcRWJD5Gb5V+dszuy+dL43ckY4N8
7GDdTkkbbrXPMAMYU8pKCbch2ioD6E5grxWvqBxy8NbW1nBOhwgrE7pnUu4UBV/i
lZnV6yqXpEee1G5pZIH47FoE8QYXfLOrdOrbICtzvSgCuDzGTRsh1lKAk9vv7UhQ
iHKNZkDIEChQ26gkCrY7Dl9oRpP38QB7wCrtFv9m0WAZGMn8M7XsMuKh24biA1Rx
XWD2x4roJCu+ECS5qUFxFba4JkZgRBLu3TxJJVTJhJD58gcYot3YBYfojJT8GxEm
gMR1BvWgP9E5Bq9E6h+ywWPs0p4iwdumj/QKVuAK59JYAY0GQohdSG/NLdU/Ella
xH5sr58dG/M6Devy8Zffcwys8TdfvO7Uo1D0i6o6PMwgFnjz8Bcy5KUaQ//BSb2g
lDIhDLBytljJcaaxPtOp5Sq63o59ViczhA==
=hK/r
hQEMAwcagTG/Fm6AAQf/UhAMni5tgAMFP/iErszMWtw/V7Vmr3OI5CSy/ptlhj0V
d606Jr3gBwGpv9ZxHxb90eMqPwxR8+QklNeHcSCosF7sFoA+xZNau+t1S4asmFTv
0SFp0Uffzv7GvloQs3vA4moy8/XeudqHAjnuDSxLlrC7ldqG0y/tEDz+cPxBWNtJ
iGaam9lFw84wjutrHVmniWhdoBEnldlXgVhZlSrj+uxN5bvv6Uh3EDwCKfWkoB/f
pujk1IJQTpdXmFBKjihFg43cDT7JeEGfzdLBLyQ3bsFbkW6ZClsvicseM1yNsQ1m
ss8AxoFyKTLtI3wddvn9Embjhjwthnd+Wa20H5H1aNJYAdTWzxS+2sMh9Xq83sNx
Vni1Pu5sbAIa8st7nPn8zrNHkFsamUxhP9yTG6oXFxkpRTgh7K1oiSH5azpNHBiK
8knTSTHzgaTcM+vQhP8tKJ+/XAbpvItjKg==
=HGvx
-----END PGP MESSAGE-----
fp: ad382d058c964607b7bbf01b071a8131bf166e80
- created_at: "2024-01-21T19:48:32Z"
- created_at: "2024-07-17T08:44:37Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQIMA187ia82lSDGAQ//TOUhrPXts/oBMt2NTLuJcyTm847AT1J/mEEjPOwDLBXa
Doqo+AEdFG8nq39NVcdnhhvl49hhrwXPVsU2Pci3f+eQWgXnvXIlekuBg/ZkxOD1
x2CRd3NE3Ofh1DV7T/5QuoXW34vUpWUx4AZIvoIrHA/HxzFnQ6IdOrhU0J/INp7F
+dUUESZ0PzxV+IO0hyAlD50vvX0U9K1Hpi/j9LGRdxLRJcxK2S3QLUwHpdiix+U/
bEyrmsOWV47wbIdnotmxQkYJjQY0GjIPHFHNHECWru8CM0iqxzxhzZyMf2PHLslR
qPpEolXTltcVuerNTPTRIGg+E44vn2RCqK0nCbrW7M+1h+6w5jYLyZ55LgSEnLhV
eukbJckyJSYn5pXyMCJKutDT/3yTowV43dFLBsBejDXT65g1vGup+h7DXGP8WOKP
d+5vSnC2M73wnTddnE8kuJ5weYpSKvN2ER3hsxkYA2aYPXLkEfitLISEt1PxpQFG
94Cp5sDQ3xCHho2e7nlrquyN1jUbGkHG/xbBuVuAn0XbFD4IvklYuAqR5Z4VMt3S
+JzcahiudaQ6fhoMLxvLACbgZRQC/GyTsxhsNUsRqlmf2flyFBKtecInMMqmbFiT
iqTv11G5cl8A8w4YPBCs83gZwzMPmKqkamjnc9BmO6Dos5KuyDJNRe8NwXSedRTS
WAHofCpzoVbRSFwhn8ktw3HZKR+Eg6ndFWp68IqDUN+YYitc8BOnplbH3KfjBh/E
3boi9DaCzdbu8aJGfYhBqmUbnDTm22WCMphGvrQaRdjUl+hOc8ZpC5o=
=VzTH
hQIMA187ia82lSDGAQ/9GEF4wdi8mpCL1fD4ArDpDKTHuL0SyAGiWsdyYAchDUiN
ao0CCaY70ftl1h8z0jOKcVcYi27434jIARNGi6AKF6j8acSiRMPCCVXrER2NHBEk
+6pTMnANADaAxLqQslfvcBLz/doVa/hJjBpVfV9OGJJb+bnSd4ENSKxGvt8Qn/qT
sc7xa08f/zT/60dm/BMZOa4wr0f7gFrF5uxxxm6/LnRXVGK3cPiqcUOQTewxXdAZ
OiKox4668bgnT5Vw+Qw1jfC75JwUwgBT3Y/wsZa2D8DxgN4SbL68zsRSGMb/6Tqy
JjDdfQ6pzsPnR2OpKkYeKDJST4s89Dy5jbkPOjT74ufVlrBl+BQh4dvoLpzu5leu
QN5DiEQLFidn8adsgjYb/Vtb38tGK0Z5LbbLoLfiLin3TIAlytk1mIwgjcFlGHsf
yWJLgCaHWPHrhELquN897rOoY+rxuGH/zHv16nKkb8xBM0QGeyZDt20Y9XeETFZB
8gNRx0g4biEK/gLsOQPCJHmEa4zBkSEWRns1DcyPSp7vJCf1ezKGtgW0n7hwRJtj
zIQsgYm+3JRNTkw7XyBQXnb5xWPW27VRuH0i8sHsll7F5KuhdnbDb4g7c3X1kFcX
iXP+zWkBZ41q6irNd+dOWA7QuktDHWH7I6z9i6ANmegY5j4kjQfrrXwsagEvIsbS
WAEHFmPkNhQTVAXBZJuReaUsVeWrs9BMIy/MyMfSfxc07vBYysON7e1HQf9zpBbT
6/TXM9SHUe4MuvFIYKBnKrE26xs9tDbUlZjHqZcSxFCzcGLNKR2XR80=
=HUPt
-----END PGP MESSAGE-----
fp: a32018133c7afbfd05d5b2795f3b89af369520c6
- created_at: "2024-07-17T08:44:37Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQIMA7DEqu/04FqmAQ//YxzKNibI/K1znyszzH61IbKvr1oRfvYbAYD+YF4cYu3o
y+Z7jpJ79MvvuQ05nQSCuyi38nBS+HNpqBHvkQlJ26eYxjtAwzpe8aE1yBBm/DA+
Dk1Q/hhwcUXC0a6KZUyMlFzuu/qOVyYBjjcCELV2yasH1h1uUxp4NaDLdoJH56X6
9hwtecgbip2aiwRWD0CDU1TSiMd2mNR1m4zh2AklfQtE4FpMfYvG14FUkTjzBZKX
3N6d+VyzjLgSaGneNSpeZLQVbBu8YruynzoZ29ELgGTTJGnDH6cXBGYfC1L1UjZe
dGAKNeyUpQm6TnT892nuxNoLIUZbQKUbVcAW8Z3nWIQaY/1oHD3IuPLxp/DKzlAq
w3Yi4et6ymOpiFoPajXZXbLWwdX1EbOLO1QQs+Jd5Griw7hNR2va+3GBf5hHtHU5
KurQmR6rHzaaE02vzT4goUaufUwUc6U4j32KVpBmv/Xcy6Gi6Gc3AIUd+wFrCJiG
v6vnCK5ZMtzZFlL1Kqigy28qnnmAt2a0eYbn5BH0/dPRHoGf4f0G276VMCyqu/5L
gBf+tK6L7gvt9bOljmdVTN+qePQsTlYbk4qZ9rHt3j0ppUGP8PRN4n/ds1GtZOX9
VSqUQcJHEwdm7gxswtbBFzzJifb/A1H0c6NcQpMXoZC/MT/m0gaJx76TiShlxA3S
WAEOAB3QzAjylw67a21bu7wd2jJ2utWr1x9UKQGE2SpNSh/+THoRqWcAcRgxJQ1x
8+6UZAj0k3impDLMkWziPHK9M/3yhU0m+y/Cb+KwwpsuG3vg+a+kujM=
=gRQN
-----END PGP MESSAGE-----
fp: 4ec141b4dd5a00e108b36211b0c4aaeff4e05aa6
unencrypted_suffix: _unencrypted
version: 3.8.1

View File

@ -8,40 +8,60 @@ sops:
lastmodified: "2024-01-21T19:03:17Z"
mac: ENC[AES256_GCM,data:v6XE7S3E3qv/NmWW3o4/xV9T6v59qFLl4XzC/oMMNSHxuHMBF4bxnK7rga31i2YDr79SGwaa+PHyU6Er8X70aIgNZykIkS/YhkUxljRMrXNrxCUw/y8Y0eqUoJC4B2GOYogAtQoXfKRwp7XpvlNxDPfxzPHtJAWd7dxDZlV8yhk=,iv:DCxLACXxDhdRTJ5QN4MTTKttRpxLSRdIGC0URrGTaUs=,tag:O9kwZ2z1zBZdl/ABKQZbig==,type:str]
pgp:
- created_at: "2024-01-21T19:02:47Z"
- created_at: "2024-07-17T08:44:37Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQEMAwcagTG/Fm6AAQf/TlUpH7tCtn5sWFeNNu9umsfkE8UfSqcSsn7gXIlfUnZF
RtcidtUGRMkhInjmsLDZINTxbr0Dd4lWKyR8qsgW7qFwAiVzJZ7Ocdsaxnlb3nzc
4FwVnOlnmwijEeuWnKK/tXlROQuO0xIOu9G1u5ZnLN+jwI0prEAMx0+YcGXtJ8/o
xQ2DL8X4VOtoS+mHrog+2XTV6L4thA+HCha0s6bd7R8ryX365BdihT8dRcQj3nSh
1G+dbBx4OesUCFWkUc3r4UOthu2KXGSd4DlezfcusaVQ/66scRTrqto2lTRUja1I
BZtD0LyNnw8k5pXUbV4dMsYhHogvEdGgnhTR3KLswNJWASafvdi8RwBIY1Rehres
HJGSgm1O2IaNYiJr25KjFdHxIvOb2CbSE4qls9/WyPGIaahLW+cWCnhrPx0/ZE9X
x8cgOwMcpllwRIPK3XFVgAa9jIe9Ucw=
=iW/n
hQEMAwcagTG/Fm6AAQf9FtyDAG7xTEm5Q5aJkYV/ZsDY77yCk3UECwcjfoOEJ/Ta
FMhXf0BprUgEP5lOcxuyyKkZEbt5B99wIlnkAQOcHc76SKTscJAR5YHhIUZx15fs
7Ko4WbwY4Dzzz0HYgPx9H8Twoc1mhvSlvxCpirC2U+WEYFa3XXwnIw4KNrcQoqJx
LHn7v9lE8C5R29/4Iyb/u7qtx/TY26++x4peTc3I8QV+w1hqx6fiOHKofgHehaZp
iS08kXewlKgVM0ruIF27HI/XqW8iMMYSfZeL3+z4xEA2ukX/i2yCwTzThIJn3tbu
VNXGit3MbnY1HAQJMQQpeu68kBENggjdpQpOh7YVi9JWAYqHXxggIOBGjXPFQ8Z7
CoK+bVIl4SZF4qwJV8o1tlI5f67IBcCL2W1HdfJAPGUKlZZe8/0OjD6+jSCAqvLl
f1ddeHwmAG73Yn2SVB/ORC8lu9r3MAw=
=U2jB
-----END PGP MESSAGE-----
fp: ad382d058c964607b7bbf01b071a8131bf166e80
- created_at: "2024-01-21T19:02:47Z"
- created_at: "2024-07-17T08:44:37Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQIMA187ia82lSDGARAAqmgHFf5eHpgJZP8nA/a33NjaMsFeaQUP6mvCWzrowcyd
EjGPJiU0TB74Oy5cGZp4K701a4BLKm9Sf0vvzeDuIKMEBN9dppiCNE0g8WdD3OYY
CZHyQJ2S2wjJcYyvNe1cQU88LzLZaOgKGTkow2dPFy1YYmUjt/6WEkYjio6xNr3C
etsscLJvXIEozZFrGUdGqWxoI0u/MSBzsD1FddNkhXBFxTZysCtULaR/yA30jxde
BgOWDcZ6xNvCEh71KEbaLiXgrGO4ew9V8P8/YtzeyL0hkRNUOVY941flMUfPabl2
isssXUEkmT3gtM96XpCA0M3kG142Ibl4+xnxIpqztXEJT0K5/fz1XYGmLcSQ18Li
NFRcghFm/6D+5U1NtkPcZ9o+tCZ98JGYcutfzumFGDUnIoGjB97fIrlh3+8ZwnnZ
e+7oKT4mlB5gR7zHRhCqlgs9sRUhrsGGmJU9nkXJlkqjdUZOYw1gANKh2vNeRRWI
Vg21WJpRf0Y8xgzu4VD2MRf4ozgcLvPuviFNRSyYJzNh/2SvjGMR4XqGXgMmUSlS
ZfYijezEMD3Cn7RNXR2YfQ7vX7hhFllCvzjRn775L1SrIvoZV1qPaYLYXGSiVHTX
SqJjyBhMW3Ekb0mdcHNu52QPMukblJQ0Ckxi1ALOX6Sm9hVFUY+2FJla641fRQXS
VgFQX9PrRqQGB+/vp/xZIe+SqOolSk8YSIEeLKCd9BfnFGJb7+XU4RHX/N0xL26U
xnhk0c2WirnnN4kx6YB/0B0UCWdOyRqZaEyDdnU5FW2sMv+9gEri
=woRi
hQIMA187ia82lSDGAQ/+IH+/w5TL/Ctz1b+1wDqs7f1jPArA0R+pqum+t9/0FK49
2gLqH43IdmMG3HEJisBv40lb3ie5yxmEdWZNElzpn6xTjUfXKcdXJKURTVyRaej+
jOIXLlahStDoe2fm6yAvwD2kkm7XTaggsEg5S9lDeKQVbSxev8hlIyIOq9rg+E6v
KnjJbGxU7pMu922DZ4FM95fhv7cLnLrdf8uldonTu3CKnEfu6Y8wyyR59ub/Yz7h
QgKDpIbqg4mt0grknmZ3k+rvYtMrv5Vb2flnnOOBQMgBCpW/c+biGvhr1uIbPuWc
6iSdHKoUVQKyV3w6Dr5WmxzzVqs4BIaMcagpqhtDVT3hLN0rtjF3ll9ak/6zjr8z
RPpnauV1et+eFj4+FW8JuZW6CmzGnQKBXuUDAArEFOBHsB7W6qBdaLrSo3iwKuse
lTBmuHGGXUtGz3NbZyxgRHk1ocrlbp74t6nKO3Lj89w1yKtDV25vylKtlolXYuX7
knlqf0C1paHNKb5BAO0ncNuLBFq7TxnlGkknYRR5x32Uh6y1W1kfEAToRIA4IkyK
HgpApJEAxFlc0uSd6XP2nuwo1lZPw8SK8ydbo/LHf5wcRP9GLPWXlOIf0TX/3DbQ
Yff++c/MzPdBzRn89nIe/oEBXRS7xkfm30c0OkQc7LKyx9Qy28zI9hJw/z/vqADS
VgFG8AqC20SgGMCLlfegDJB+xVgrI/fcrbcHI3zK7U8dzkrEIdtYwT8W3EmDMIcg
T0nkPF2x1jddiT8KU6hZoacfV8z/W7lxFy6kKRxIDncDDUrOpipT
=E7QZ
-----END PGP MESSAGE-----
fp: a32018133c7afbfd05d5b2795f3b89af369520c6
- created_at: "2024-07-17T08:44:37Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQIMA7DEqu/04FqmARAAmsOOOE4i7LTJ/GOEr3xvcULiBjbNIJujcGHFs9oWYvW/
y6DUxTuGCmno/U0i3K+hXh7w6/ybI1oSrhCbvopFrtD1UgUP2cUK56hYdEk5gCRV
VFSEXBPYcyFre36phOm6fZebop2B50AaibS6ToBPB0QYENM4jIFuOaFzyBTvgi8H
TFROHTLq8ofTz1LkXI0mCwhK2WQR6cg9W3QIlBp/lK+bt6/5Onds814NbSq0Hrme
XrYuuH2vbiZqjaWOQxoYo7MlDhQmJFkBjvzWocG7W/ph9igpSbT/nnurSU9nItUe
+5NGN1/tZ703wf92DlfOEJUtlMADaeMnQSSdVBjiiDAMksNKuwpwEALTJ1fszMyc
80bIXefjOXKrS5VznDmq5m9EBHnxab4vTJAPkMhpNwuIRkoXUkMKAFzHvvV0271V
xRtatbdyRWlMK00KXc0Ahkb7avAy8Js22/59prNT/CI6DRKEPRlwKQbl+BwPfDZq
J2OrECChiykhTFo57bcfCkpf0wlD1BgZVBD9lY2PcAITiFMolon1u/7pFJEmWjGJ
fT6FIxYhCoG8zV78ynAlontYpywdnR5WSczAuEC9imB38duYYmrVwDHeQv2IPjRz
nuUu63s3G4zfgBC/YitF5SyWh/57Nx1oJo7/h5w1Xt/dya8NHw73lZtgu75OAXHS
VgHm4sZB1K3lNyRjR4zlw1Tythe1hnPDR1yUh7bcRPusEOdaudtL0fVizlt4ryvm
PjWffC564P5zRNw1k78rQTC0W7DmM+BcDXjabnbnAraCjy+OXs9g
=xs/v
-----END PGP MESSAGE-----
fp: 4ec141b4dd5a00e108b36211b0c4aaeff4e05aa6
unencrypted_suffix: _unencrypted
version: 3.8.1

View File

@ -11,40 +11,60 @@ sops:
lastmodified: "2024-01-24T16:13:04Z"
mac: ENC[AES256_GCM,data:OKANPvWhQCG/iFwc2zWVnaQ2799ai8l40styj60kpWB1Id7ccLomPCvzMMtZS/tCrp9HxrbYkN/9GgRnMrMoNvp2QtL19c4pmN2V9VKrEklm77UMeN5KEOemk5Iiqnjk6LF3mPuRa5nFTSwoLSsYPZ1v+vX7oob7WlhR57WAb+g=,iv:2waLQWzcqXT/9NN1rkaoc1Ym2qziGVOgRhc2nvDtMCI=,tag:ayzPdyGxts/02kIyayDPpQ==,type:str]
pgp:
- created_at: "2024-01-21T19:04:47Z"
- created_at: "2024-07-17T08:44:37Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQEMAwcagTG/Fm6AAQf+IgnARcPDGfkPt/jQQYREeRz23B4ZE4TfFzdIbmYJbR6o
ModOLV0M7sNwSOPKpV+6XlRHfUdfFAZ4hiu/2j1kC2Q3+Q9hnK5WzvDs9Zd6bAPC
YPoM9QyRBxidlEUQRM+xSYaADxp8ffGUuS1sAqrqnjiRnmt2zBvDQRcr83Q+/pE3
FS+Br+83CmRQ5v4hPQDH/xum2oCmsfvCxQRBNQ4hjE6vv3Ku5pYhzHsPiroh5/v7
DVnP1OE3sRaKJ22AtPLwkrJLr7nnvyBgJV8ro1MaLSP1aditcAVXpZUhidY6K5lE
Zn5UM6GpOCPJdsu81qKOE0WQdsXJ8he2SISMoYSKctJYAeVSAdjL3A4ZJ2E9Se2O
ign9lJO6qV/dsZEWIlRGm+uFCwJI2hVxTjmVqrgX7dpqnvivpqYCjW4IpuWSFtGX
95vdck/U4cdg4UMGQJ6uIJWiKKNnARYnnA==
=Tl+B
hQEMAwcagTG/Fm6AAQf/e4CsAfNKjuQYxpiGTBS/ik5I4yLv2JFqezidePOZue8s
El5yi7rdBFi2m4Mb9Kqec0IeOZAp1i8LGS4x5LXBX80zI3eBCVXgoc7ih5b9Pm8y
BWlurvnt+819EKtVEcWxyBF1/K1anaW3IWjxZ3McWPQvBdn7cVY07K8wiRnhM1wV
B4NhKCk/EK3xsNkOkB6aroq4rbdEogn2mzdhs+QMjzvuYRgjTFt+tqKEgykA+3l0
k0j4wp6jekW0Mo1JB390s79mYPGhw1sxaLCnVnqQN0Eg4W7LIRIdGtAxLyL7+5PJ
B2lOO7ioWa+TSO/AiLLlWBBuIYAz6K0zghiTLgq7wtJYAYURGTwa6YhWkBi8930g
RkDv5SnfJKbkoshxupaRa2PQh6uL7iT5bZDKOFIIceiXW+zw77+EG32Xq2ealqcz
VHOBimkmbv9cq8633KsSnenn7mZ6Z12AJA==
=ufic
-----END PGP MESSAGE-----
fp: ad382d058c964607b7bbf01b071a8131bf166e80
- created_at: "2024-01-21T19:04:47Z"
- created_at: "2024-07-17T08:44:37Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQIMA187ia82lSDGARAAh3FkICLKzvnsLV2zIPseqWFXhwJo5hdYvaVHvWt7RWnc
fU8wIWp/4DTpTJCQX8JsgXg2QKxLAs+QYx8m1LCVkx91iccM55o5/bDi39hf7OZf
YrWGNqsYE48fsknl1+Rg2UAnE+YsMoHI5cIFcQc5MLmDgzfEKURQntFTk2qYi6j3
sL7VGklPq8gJ1SnovgQ5md3Ha2kYi3rwkggYBDGUBnNBHkYt2wJfl2XvVNjiQ8sO
f2xymq47EWLAFYXbvM9G/U3+0ZTsJMx2hewoaQKG8bYGssI+ElxfbIf9npNP9BLj
WVP8SN9zV2ZnyL1HQRwJljSOLKx1R4gi0Z7LOLLQy2ltLtFBNW6ywGLt1dpRw0mi
swudmCu4f+Db62JkoQHNaL/BNQSkQAg9O9F5MZvQ8vUBH+0MI2da9x/WkjzBP59y
tD53HfCbSZ76PljzlA0cew2QrrpX3i+xXT1QiT8dYPPslefgaktJ5NQHXS45cdk9
iHzyJW10ahAMzyKDhi+QJ5od119zwvaRwiwFDN8AEwTIVmAuf3hLhwE/RqSZmIdj
K8hr0/K5zgEodAyruGoAeSVmsa2gukIbxP2iN7bzUXUJ8snXnLTfTkzWFnk1n/Bw
aFNsdy3LURA2a7rx3lS0ycUxxW55lVE4sABChihCas000bxiyIUhJ98VBW80dCDS
WAHymn7RTmsGWwxWVkz0hGyRLAh8G11kQnzg92bt7cGIp0UXQ6fxYz608NiQi5I7
E/X3fYKTaJTHYoNXviaWKNMDwdm1zhZtAsLRc0KFa8nfgmGkE5xzdQE=
=7BfF
hQIMA187ia82lSDGAQ/+I9dLAr3M6ysd0MAnGx2RPsm3CsLYDec7fIF0MY5WDR2p
/3XPB6OSY3OoP451IGqeDcab7Q4ucAMpknwXHraHymHvbQgLksegGwTX00vDVBKo
83Or5qD8g1wnbsqalOtGAuMwUOy3Cdlfbi2ht+16bLNjv+B3Z5zcTqmB5J/s8aB1
aWBDvzDoaLPYnsDx9wC8RxgacFsn324ijkVYWLghdLx5YV0SgmOLabX4yoKIG/Vu
fJqNEtjW5Ikh7AdgMSv6A5vH2+KiKc2n7GyRf2lVKmc1ZXXZMZ3v0Ov1tqkb5g/S
yfQcoJKuLDYzx/g/dKy5yug1uT0KfG0Z0hiztw+x32Ci0U5aUGw+YkiSCfG6ek5H
6MjGDZhCFYmFN0UT9EnXfPOzBYuVz0GwpSHXeU3LmRvOM4at4wFy4eJxxQNhvZnQ
Tslv1WvDGZXAu+AKSV7LST40f2w91/HyoeD8evrdaDCv7EdvAHGAWsABjuhp7xPb
KzwOh5nt9nZYZCCUwNWAANkaToGPRRVGiXySJIYHBajczC/2HzzbNH+mpP27TKzU
o/E2+t7cEzw/ijoUjmN0XftdM/fW9ZcdiAoo5/7iAZaFdd6WbOhBygTZXCxeoTr7
F5gDtLK/BQXku+sgulm51kfCKjJKSUSFi31SSiVZxzleLYLVY9ya1VFA+EpaspTS
WAEZcpNIYwI/YGsW6BjSS6diX768HdKYqfZWP6PujOVaKhAFEH/r7dhdMTCNbBn8
mYhx5ks4o8zfi8xbetKAQunZ0i84aXiCTfdGuWbgDAnvDzmgckJUhxE=
=zNfL
-----END PGP MESSAGE-----
fp: a32018133c7afbfd05d5b2795f3b89af369520c6
- created_at: "2024-07-17T08:44:37Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQIMA7DEqu/04FqmARAAjYF/752hmPWZu4xeEuPD7xMzU4dXIw04duZusqT3Nn+x
IxPz5xOS9c4c4qwZLqDLhFpObbhwRXxtofEAnQaxmFFL3RvfcdqsbbA+gvzI4XPD
MOZBcz4kLbk8Qh29T6gnG3ZJ/lLgml02H/G0H2OUdYOtt4ZngQJF3MumOa5hQduQ
VOPhBLiLePtfNfRxOAuN9p1Iq7XpJU6UByxgQFo18naiWzzX7+1uczKn6gtmmqPm
b4PP/twQTBGp+easwYUjqRUlhaxt9p+bzHtLc5vA818zAhWxMXRYgF0exrCl+nhP
XnYzKOKFbW89IeSz4Mys3w2DchIV9vv4uVzzzeCXwlaC9LrPTNjLB2utml3u3iJB
F5XFVgvYU9Vc5ShDXJpPqgVae+NkeSPEcNXa51UVgk1+7wwQox7NI7XDre+8VYfJ
DOsYuT+Jh+BZtmxebTHjAaWMsBTXmwmeIJiqn416jxfkJJyjgLoSG0XqEh7SKcua
cebVlUEz6jREvHPLX6DoCAjEeF8N3hiN3rn/7D7LYY1CtziLnROKrp/vF/S98cLi
05JNAxpG+g8YMiQpbDqw7K3N2U5RpcramSwAzUvN5NX6eqwquHnJOVNVOKQpcgYP
kagdTrgSvGTOQq6jiPzzaP7ouuUu4i0LdXxbdsKbu0l+z3qfF5o6gwjzXaBTyV7S
WAGiyEPwYLgg6fFmkO2EVIzbpaSv5iUP/pgsvVabLzDFSD18vbRBuLuB+DtUkG6j
c9tf8Qol8Z0tFu9058kIMujAPrEc3quJP72LJ2dad8I5ZyoYFFwcEEw=
=obFZ
-----END PGP MESSAGE-----
fp: 4ec141b4dd5a00e108b36211b0c4aaeff4e05aa6
unencrypted_suffix: _unencrypted
version: 3.8.1

View File

@ -8,40 +8,60 @@ sops:
lastmodified: "2024-01-18T14:37:39Z"
mac: ENC[AES256_GCM,data:xy7VzZ7xL4p+uTeOp1biDOpiiLEraZIdsgpAQSsMv2GyuUaomUMe3GNADFWq7ht1NaMwYzKCIMd1/mVfq8VEULDKep+6mTxeA6vrx2jlQoK01U2EdjCONrGYdU4Px/R04WZ+SM9hHtKxe8W/4KhwZFyYqrcg4/4vKTbQjbkowtI=,iv:J8VaBYZksU8kOEqSXQKSWKqe8IdNKBkkhHxLukNMjHw=,tag:gjBdlATLfGrYDz1Iycs7tw==,type:str]
pgp:
- created_at: "2024-02-27T19:42:42Z"
- created_at: "2024-07-17T08:44:37Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQEMAwcagTG/Fm6AAQf+MYmQEWco08Ik2CuD4zCMJIQnaviddfsbM9TQTqwSdxwg
y9rwVMiw7Y3vSIGD1G63NwrKZC2BRW14m/oWXf6CDbVd9te0GFflB+dr7hSYilxX
nAXqlatIkGROju4lWhJS8Qv0R4qbj7JpMk6qBV5XI6ENAFBDBVUQT3Dawt9SJrkU
G3KTw4Dl787OJkLbrt7YPmgNBHQrTucdn/Z6Ewrbsq8LWbJnTvLul8PMtDxrNPe5
jD6WIYClNaA8I8SGhUki1SOEFLbBbrgXPlWyXUv5TdXQrqcsOqLSurbq1L8M9ZRK
Vhu5dldtzfbexdx4GG7gqs5xTsAbu8aH1HB4Z76MTtJYAVgI4KTisITZKzkXMnMm
Do1l8nYNbQ3THwVAcLubyg59tfAtnXd5mL5vsvD48ilRnWidKGMP1AF/9mLnSUUN
Wb7gQI2KlZqIgDcj6XAP2yOpZZRVr6NIFg==
=q9N5
hQEMAwcagTG/Fm6AAQf+NSdCqPVQoY4kh9Phvrf1DfdQQ2QzN91HrNrcQCBFxT+w
pWUKUF06NSTYuMAAV+AO/MH5des78JauNLE6jmsSEp0zDttynX62RDRfcTb3x5XV
v1qJsL7v6im6hKcVDnicKRnnAtfkLPEtbjjg6CuHfrPEALgBL0RqzrO1mnS40xKk
i3WfcRQX13OelMrIazKoUJZX+qWRo8L3zgspyNVYU5ddEMATq/Nfq7IJf4yCRTrG
cCZsYh3V6hjZLdtikiNn+l1uSlNs4ubUSg9Ijnpoq3ik0i2Ea+5iREpfOM9DzDrh
wNmNbIZfuuUFmAERJrVEd549jn7Q72bLqqD/Y0M5TtJYATdpBFnwo98JI7+mnBWR
t6/Niw/zKfsRF/SA1USaQ0kiQLE072LZhzAsIYyzkgohwGWMNMr3e7E31H1E0IqJ
idj6vCFXcSDblcM/aCKBuxktI1cKe7dE0Q==
=3SYi
-----END PGP MESSAGE-----
fp: ad382d058c964607b7bbf01b071a8131bf166e80
- created_at: "2024-02-27T19:42:42Z"
- created_at: "2024-07-17T08:44:37Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQIMA187ia82lSDGAQ//YA4o3ePDLH8SX39cuT40oFqH2B1Q37cnMSCzVfVeuC1p
vfoSJwhFcicHY9VPbBwDt5k+sU9FYE4DC7EiClRDClgH2yzEuZON/nEw7lf//BwR
tk/kwkOpt+GfIOP9ms73EvBSj96DZN/QBIXFl0GH8BM4DjnUBdHCGHqPoQdHDn8U
+DMYuDB/AE1M9H71CAnemfF0dBDPg2bvdSYydyolIRQXGlLjGV9SS/pTWaiTTlfT
MGj+FDOIT8TLbapXPcygB2eRe9/tgCe0Ft2LELBtduaqBuE1AI9VjHuMys5iGadE
UpXZ5vQurMFO5Q/QgRKMk+CjX/3daqDJ7+f/0ibiaiW4wgtRxLy11yWLr8wKWTG6
P2ETAcpLUrlC+svKQOwUNArsWRkmcVnAUUGgKwbcunJPglgW3rvQzvlbr3YbKFOP
fiTi4jKozNUyR9MGdvTlz3XL9BbxpZ1FqVoAkyQCyK5TlevhHRN8x6ZR8LjokxBY
xEN3tThD8ePmgYG/xGndm+kHWqZWWU8XKG1bu4HJarc2W+CUPdVLbO5PSFKg8dhE
ixhRJV2XWgqrTpZKV9dOUxGEJD8q5sQAOPNieXrqVi70wbYQGwLmR+J/K6GrOAlG
YYwCgVdEDhOLCm0tt2BemXRkL5iIWkuEkWx9/C9A0+sromZgjYyqPiRXxtwc8a3S
WAGMo1jXFrnBQLU7oZdYIq4esQmJj3LE4ptij962SH4mOMvXAMunOuWdnaL2bok6
MV55d2PSIk2VlJACPp4vMnNP67V1UiR8Az5G900I54S9zOX8hhPm2wc=
=f2BV
hQIMA187ia82lSDGAQ//VE5RafCobRmJPt0VZQfmjtqNISdnbcEG5yRc6igsL1d9
MtPNCTeeXvNbg57vU90xK8XuV01DrvH1W3304v4YqGPRUmDiLH7BlvunqgVTuJCz
y+HcJRvfwR5agSraMWdz23FtBfhBoc/q875S5S/jFENZ/4hv7Rq1RGZD88PhiMkg
K7xZWsodkthu79HiXf8BNLablieLOAgAC4MxUj0VYP3dtKhzD+vf16El0CMgh2DN
omcN/S6WzBUJEX4XImyIdUy9X/6iLPmet6UBOWCVllOres+n802KsxcKSPEhtYvK
SVmCX2KV5WMMRadEgkNiQVJ2gN0kKhxZqsE9PjZ3JGVhZzqwXhrusRKyNT2sWFFq
HGuKVXBZhdPBp4YYMvQxksczKP/H3Np+dmcL2VXvxICci71+CqbL70Pbgh2qGgjB
hnchfAng0CTK6GgRYrcb1jz59wX122FytJ0YYxforF8ZXkzjcmNECle+Ca/0tnQo
H1Y/aAdc1eE5MiGENyA0a5+T1pxewSYPpH045Y1Kgtfeees9Q2be8XC0rd3zCOlR
AtFJFlLPLzLr4YsTvLb5WxAywXw3RHf8pW6mk4zlBDYMxpokFIu5zAJUhGXSE7P1
Mvm35uYwCG5MId2ClvLSYXYKqtYAvJbgjakGF7hRpazAbtD8UMhaRDh3dCNf+PnS
WAHlUyNFfXwnxCNEf3vkikQv1vb46xS3MeCN2vho5u6QYgetPNirn4qLXMXNMKjk
6h6Jf4a312Ul4Of+/QWjwVWQIdSOL6+fwUXYN25YGBZhYwICUv47/3s=
=ut+D
-----END PGP MESSAGE-----
fp: a32018133c7afbfd05d5b2795f3b89af369520c6
- created_at: "2024-07-17T08:44:37Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQIMA7DEqu/04FqmAQ/+NJX4gtDXoYh/Du01jhihCmOAj+F9VUkujC7kyzMqEIXu
5gGZ9gUQNBZiEkDrQnwm+2X+2BtzoYYZ6ItYsVfZUNMncGICBG5AYvGrLv5+jzrp
yU44PVGfm7hzrdgBP0NbIYS2fL6qOST+rWRGfqnWpB3gMPgwiOv0IXR5jDHRKsmi
7mrMYuVMjSP0hayF11WfK9ozo6uY7i5z52ywJREmcUED/7FdLqUfd7as1BvfmUeC
dLYmirRDG3M3UrmM+uOloq32WTecnF5BpVM286GUZK3w1eakqS8LdGocV91ifSsg
i0BXiFVd3nzLFQkM69gLeT3AjfZqKmXB3Drr+KeLL75DdSAJX+iu5SjlxhuW5gaI
a9KK6GU73Uu5XVgorUDrg7d3EjbIDQQ15nnDCWp4IAv326mpHXO3kJ8TSeEAWKaC
J5eUh14PFFiWTmNUGbqJr3wIBCne28ca85rtXw7cn3eQufYiSLAoB/uaaU2L0FVQ
Cd1LsXXlb8WPHakzeNiQcJloeIi5NBB2r7IFQ9Yn8/aoJP7q2rxw1gvdBksYgHbG
KJ01fZ1sb2DuC6yNWHoTZiddoFjGu0/rFt1BJ16RYFEvu2EQY8h/h2UNe+DsZ1JK
pNPZbght0XxYX4HfpJrwcYiHJ1NqsFls3G3x2R6rN/6RQGt7O0pGqqyiL8TXjeLS
WAH220pQQR4zDfGkoUX9SRxlYkRUaHQ+qKnNmHlW0NIN3kUT4NzZ3nAjq5g8bRxB
cG6Od9LBvkHJbkijOL3iIX/lw2sMJqC60hpdIqCwQjLPGXxGc/yOgRs=
=mGWT
-----END PGP MESSAGE-----
fp: 4ec141b4dd5a00e108b36211b0c4aaeff4e05aa6
unencrypted_suffix: _unencrypted
version: 3.8.1

View File

@ -1,51 +0,0 @@
gitea: ENC[AES256_GCM,data:J+ZBpsUSXOaPycPCjh6RgZQlRv8=,iv:DtE+qtWTIHS2OkFZBhUcjg07wVrwiMm7XsW63ZD4f5o=,tag:5vOIdgsBB8eMkIbRe6pNdA==,type:str]
gitea-mailer: ENC[AES256_GCM,data:o7JNqMqJM3OoDxSohmeYsPn1n3wb6J6L,iv:agiJl0halqfmKMvWA8b0boXF3rXrbC2bIj9zb5274hg=,tag:DjnNySDnYwVYtP9RNuEYGQ==,type:str]
gitea-secretkey: ENC[AES256_GCM,data:eyhy6wRwoWxUVGh3GghePwYZxX2BmHxly0Tn6eHq+6qDryDgL6c/fA==,iv:/xMqcni+lTh3syWSSp50pS6VHDTEDsUL2idFWEoCc9M=,tag:qgmGHzc5R6k6OLOEyrBlMw==,type:str]
gitea-internaltoken: ENC[AES256_GCM,data:BYA9CHQ/IVnwA/apr0V3EYE66vJfz5wdpOGxgMzVdcYKrqVVhfK7YQ==,iv:Fj4gn00rRc2E1A74SWeRZWktm4EvvTeCG04p8K2NSxk=,tag:BanFYGL7GF5Q8zdjugAICw==,type:str]
gitea-runner-hypervisor: ENC[AES256_GCM,data:vS++cR4ewTzT8W7h870tXJkFYy6F9hV8SA/A94kqIxsawAmeeu5xf5YVQZZcNw==,iv:h9LVb3J909tkoiI01mh7ZgW34MPrB49mC5Sn+b5iIQE=,tag:CJ9kk6Ly/X89VAU2pBOZaA==,type:str]
sops:
kms: []
gcp_kms: []
azure_kv: []
hc_vault: []
age: []
lastmodified: "2024-01-21T19:08:51Z"
mac: ENC[AES256_GCM,data:ranW9+W0x11eRFRzGosVfapoW1xpgTUpUvzzItYcZT0Pr1cRpBMQNTmHXpItNKuw1Ut4PBzUlmtDl/Y1VlefVecy6j9xvEczgYvCXCRH+x5Dp2FAuIwqw+EuQWsxxZ/k32zzdWT2brWsO+z5EmLRePJu0mBoxRx1vqVAZef8vwo=,iv:yEofPQ22CpHLktUjRke1Tlg445TpX0ocpQBeoeWba+Q=,tag:Ai+tbYJJ5BHyNHfnK1elgw==,type:str]
pgp:
- created_at: "2024-01-21T19:07:40Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQEMAwcagTG/Fm6AAQf/dft5HLvgzmFu9NiZ37iCVqLx/rVM9Arr8bV0e3OVZT4E
nGvyLQtQfJXyQ3hL1EFAg40si+Kr5+dyThUk532Ks8SOAWuerK+s+YNJ3ihWeIuk
gVFuE4CJrJ86/csdABiXigWU2zVd8229bkrvEbd50QHMfeJ1KcM+2B/WMStS1e3V
aemd6XdGF7W3aM8YCshk6mX2Ncr+Zw8DgXx4q7Et5CuiAs+0KaCUPvhY2zarzF9X
shH+x/nF73XSWL3VH2CzVfjw8/JIuEeZa2qnEORUymAf9uP2whQtNTiPQo5KDao4
5lOR2S1i8c/2lKKQIq8F9yL1N+yKp6uxvHMNv7YCsNJYATNLJK71d7B55aOP4byD
EGpiXpnbfFjCSZ5JGXM9SLsQAUYDokBQtgN9eHEAeyDDnvyJK2o/ZF44bxgbKzfx
PxizF4r06pwuadUd+1rpJKdNBj0cPmb+BQ==
=D33V
-----END PGP MESSAGE-----
fp: ad382d058c964607b7bbf01b071a8131bf166e80
- created_at: "2024-01-21T19:07:40Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQIMA187ia82lSDGAQ//enXPe//oJZcZFfaA4uoifgy1Sm+0JvnTSRkif9yHdn8O
h1parWcrM3Ck0XN/b7hIMAce+oU8l+AFpO/yLU7sKYel/PvqByZ18umsONadL2OD
2fhOpTaagLY8EaXjEnLCUFP4ZScPCUaz5RrMTnM5PcuX2sl+toqPPfy9csZdy3UF
P3THKFtf95wiZHxfAaM7vQjnYwQyR9M2YS853NGQAnf50p5nQwrOnVi3Qo2H76qT
nH+AZ5aTNRiKOrmVgzhnWsk2upf4EXqe9+gpDg2JlaUL0ySEkEQz2QvPIfW37NMz
oUbYNRB0M4EsL+3WGKRqGxbXWvMjjrlxSdaU6dcTHIZP18+ALvh06iTIl3siPJOm
pzIIny0wBuT3aK1kYT0Ytdc5Czhlj+FRttQrutEe+2Nvs47b/1EZv0nEsBac6hAt
j8wZvV0nmxCRII/SfxHX5wIwjwks3xeooj3Vahe79j2eA7vumFBoSRlxvkwEXzR2
vqwub02MOjDBwXL7WqTidKnyJvFIXwGqEoOgrKpg3Wx9fbUkRuWUBW4VDIwM53WP
sdntp56xkp0a6zad1d2g0wGZQ1pBVtcduM2CdsCPLOvYyXT8sQ9WKNPVV4zqz7DF
QQhnx0hFSrs4QPFzZ1kGG+RFqTaoPyf88OSGkxtTHbFssN+TdTmPVVR3sKVHuMzS
WAFLrE6Yx7MQnPCDcgqWOFBiZnr6s82DWkVynStcxqUS+pwkwHv8QRO9kuQYinuu
xvgbzvM0QmLxMVpqvDVPJ+4I3kuoyNV8FiaN7VC3AygQwJSn6Y+FKh0=
=0K/E
-----END PGP MESSAGE-----
fp: a32018133c7afbfd05d5b2795f3b89af369520c6
unencrypted_suffix: _unencrypted
version: 3.8.1

View File

@ -9,40 +9,60 @@ sops:
lastmodified: "2024-01-24T20:09:29Z"
mac: ENC[AES256_GCM,data:akcHfxJrGSPINI28sQdxcz4s6P9Va+GAvF0TC7adgf2mgVtqkZdaZPJZ/BaVlxccWf3tFgBMKwLVHcfmxMi93KnxFxOuA3DWYnjmBfHzxHFq+jWke7BHzRhPvVsKOKKHdfkXPCZnqyHLwRPp0jUyrANw9m9Ub2JTomfHy3j2+FA=,iv:784bnpb7v0z3KewsnH+RXYkdml+o2sj/qvR7qqn/om0=,tag:L1c/p8GcUlT+4sLyr0T5fA==,type:str]
pgp:
- created_at: "2024-01-21T19:12:17Z"
- created_at: "2024-07-17T08:44:38Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQEMAwcagTG/Fm6AAQf/XvXe+tObiPSHxBHkZ2SbTbxHV34EMuvNuTxAFcFUa74a
r4mWUkk29UMgjCObv0JQFTEMfUS3FkhMCGsmfYWjWLkT9gq8sUdL75+mp5wB9UKp
gTKW0taH9LUNd0SfcLyJP4gaK8yWEhrQqqIqIOaG3vTHfXlbN8fEcQaXJX14mMu7
NWs+X2LEdmOpt1fIfH2Yzc20uwm/fihcV1uswj4h0pa6Q7bbsGg/dOrVWSS6IEsE
UJLsKVyCg+gc8Kd2pLwN+bN/vpI0snKCTEsUpzziI/FovJvVp0yPly64jvHDLjmI
IhXYKJZyI+6+fdnEFLuBXltQ/dfw1AL+x7rsoDB0xdJYAYgpVxcukebiUXzF61Lt
6KUVYy6R5Qggv0D8H4IjUqJSyBhpvV3OfCyxmZBRW4ag1m4bVHQ9g7UnndrBbQgS
hFS+QU9/NTO1AEGM2I8OCSiHEVWvj9IXeg==
=KziP
hQEMAwcagTG/Fm6AAQf/ax8tZojess/EGWQ+H7ETodQpeR0Hgp16jPyrafByNBDS
BPdnFtbTO4SF4uxjfJffPUzy5bCfMU1GnewU4Yd/CBrrtaK0IaB+xzRyInGixAnK
rgjJOT4gEPnG/bHnoDKIO26pSFcNjt+Lyy/EoZxWEzXScul4O85fUxN8/ZCx95a0
U/Cz1zjur7B86gnDDPmGhaOYvosRlwbRDF+dVtFQNSQ2xbLYmUPnMCjeke+CDk31
HAjGvb9j7uY2TJ/lx1RpOzX4/qYVtR7CtACozALOuyOJIiMq0TEhBdvTHg1mwf4n
4jhAkpnAX1aQeu7AnKaav6k6Z/roU4XkhRJl9TCjeNJWAU10TMFQZqINHzvhFWZs
dyomVx4ujs9CaoMy9RupQDp6WqH0Y0hr/JhsJ2cSRRzQBbDNeUUrNgjczqnMDvus
G8PtKe+aWqk3bxyYKQY84W9RDpf+Eyw=
=YV6d
-----END PGP MESSAGE-----
fp: ad382d058c964607b7bbf01b071a8131bf166e80
- created_at: "2024-01-21T19:12:17Z"
- created_at: "2024-07-17T08:44:38Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQIMA187ia82lSDGAQ/9EsIbfQ6dNVZW72WlvZzxhuxn8zAS7Pmekkt4at+XlCnY
aA7Y2WjUsMOn9M90VrW2Q8jPCZ3WJ8pH0cJvrQ5JPVuI0cdT3G3ql2//dg67cZks
6CoqfKWYnbe3om8InmYqljVXQpcWRQH0iJXv67BeIZ5jTXT4zDV+VlmxwgSu6KCG
BiiGRWScVLumJPDKZ+sikg85DMQ3aotht6t8I8cDcT4BPYSjgBdGUmBgnTizdlhH
uDD3lMKJ6Tf0BsNEAcp/1MW/zjustHAMtpE9EIOvdPTU9E34zi5rgFENVCnMpAWS
8CWUfK3fieaL8aeJtx/Tfgj/irl45mBhhZG6e2h2836WWyC6I4JDj8bAyhlKZmbl
Y7tj7JzFK/uQgmkYVC3kJw5KlXsMpwV9eJWoBjjgrhMtZoNb3hLhFonv2g5kdtAF
QtIlvaTQ4lDuI61TB4QQFdEq17BfX/RMVrN3XsacEbtzUvVv3lrfaP4v5hJ67mWW
PtRtJwGdEHboyXQ1cWNETPSjVNrvfwc6Br6GGksL0I1F4fVZHDEN/tPt6K71s1T0
Q6ZwU36ph2x1yCW7ADwWuHyToaN/ff0gLhexoi6DsnlIixu4ovYpLYVb+ykgtwgJ
YdQ8GWX72t/yOoLUi/eJt12b308OkqNZu5EzUTiB3lWU5Y8rJATu40G5jNWLgi7S
WAFDGD86ALKnYxVpL0yPOKZbAM6YvTwo4TDERMrCb2BmaJgzxvtoAVS90OTWyW+L
SxFxu1R3Gv/+J0+X+n0j9r5MN81quXO0mYhHsv7Hd+Ds1VnqFh1+ecc=
=+w5/
hQIMA187ia82lSDGAQ/+LeVTgYk+gLzUScqJEo5crNSmvjyL0XaAUZ4hiZBldExT
9xen6hfdMsmNT/roZkqMlpAwTfOXFnfAF2dr5yImJlYi51JUnqp1Zlq7WCTnwQ2c
RvYKC0HHV4tROa7skpPeIK3BHeQ6KWkv52aIitc/OwoFL9XeqqYUOVGjMe03iQhR
H7sgXHog3KEx+56LkOHiUgZsjr+j18DKKkImyBf5xFtbmewwp5ejqQUvp4nWPUZ2
U70vaoRpR0PbhMMvaZxeC0HQnuDEMVlXchRK39pBmOb6q4OuHs9uENNkxoZ26EQp
6Z3OSf+ff2lLYc0t48Ph2m/WFCr16D7KXbr0Zdc8Vt15ZExH6k5fktzu5iLtSROr
ZkpU2lYs4HUhpW9KUPpvtlQiM5JVXjMAKtBHhu0yYTs/FG+7A1K/g01W9PPl2dOS
cE5C5ykyC0AJ3BFF/R9y3Fn5ZxOUIMvZmxkwFobXfbD1ZLz2cwVY9FhyZR0t0B7C
csfbj6hp8Rs8HMJdLxu7aJoRYEeiuQK+0/n1ddnEETrVukqYZOzJpLqSU8M39bPT
aiZusT4oXoPJhplrVNdoD2lDkXBTqtYEwEvXrb/4BhrUNplCKpVnoTvm0qPGO6wr
SNMHAsSjIKf6ygZK+fVcA4XBPP/IYQjzcZpCz9cqrQBZEKHTLsZjR3CEosmHlN7S
VgF1uqPhjJUcpeRFpcAbUuac852vWk9nhoyn47KZUdjQmYqcx4oUOOoD/By60q1L
u2ZhPVNlc8kXQ7FzEHGMoyL9Nrt7S0qAvkARKTj69h5/Akbop2UX
=ndUE
-----END PGP MESSAGE-----
fp: a32018133c7afbfd05d5b2795f3b89af369520c6
- created_at: "2024-07-17T08:44:38Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQIMA7DEqu/04FqmARAApUHygyxC49dMDQYcUWlZocxeQP3kYgpwOZ2+vnoFPu79
U9/lZUXy7UBmNkR20da98PtJLj+aIjltYE8tFL0Cj19Bcnaeq9viGxmrF4G7gNzH
FUDxWVzgfpNW56vlThQP4TU5CVc9vNjdbZ/kLPHJFd641fbnlUykC2sGG8TeV9xT
Ka01YSGbkwFI7L8UYhsHhQ51ELv1Ho3N5GFeVHJMWgd3usjmrYGzHUnIIIDkStav
pYZu6eaFEahiPinitwk00yWXQ9fGiTabpzVDZcVROsQAhCDnWUkqi4t+ahv1JLgj
Yp9APH71h7pe1ffyCiZ1IS9v0JKca8pxXln5l0iV1bF1haseN/TSG7e3b2aefnoM
4uBIGtjZi26Sv3WFEQsU1oxlO8424F+X8hNE5TO/tr/aE3ZLvtlLyWygXr8P/xoi
c6T2DyIAUZIGDCNNhpTEO8ixdBVMTaVjDLpzoiUcEY1THANEJoerf98/tPOtV7wH
XoIm8Rp3v0XI3XgoShyQz/dGppxZsfrwSeQJZpCSooihlHSCUt9Y0MzkNRAL57Ki
VMuqSps/OV89kzyv2iADXXkf8BC/zGaKMxqkD/OZuR2fzp0s6EpwlBYKR0YLQ430
OQknAOtF9TZjoFiCvHf6lEkKEaX/gHAyZovazLDPn5EgRxT4vaaRKqg2SsFzWqjS
VgG71gQWDuMgKYryAA1QZDwoaRaSA+tD/korPpWtXdr+P1gJCKGNjuYcKMPqiE2i
kfdkkdKfwAQgE46R1Mq2cgHFyHvMWXMcODBt2gwp9tomi1o7nAPS
=p6xj
-----END PGP MESSAGE-----
fp: 4ec141b4dd5a00e108b36211b0c4aaeff4e05aa6
unencrypted_suffix: _unencrypted
version: 3.8.1

View File

@ -1,47 +1,67 @@
hoyolab-config: ENC[AES256_GCM,data:a+VkRtVAiVfFSazp64Fy5eA6TAbAcC7bm2k6p8AE1FJgA8Z/LlOCcDbTaueFXecOCGpcSuv+SJTsu+2IRD2V7ZWIUot0b1fxKUFZ5hIU8LmpXxxh8tQz3N7Rw6FAWHrN/BM3m981pTqd4FOmqXtgxOMF8ItsGJEwpRkq31lT+A7dcuEuQCykll2dXeHQJXBVUs3TbeDsCo4/lNan++sYm0QvS33n+ybs29oePPeteWdXHEZtfmWHLKU5KPy86uPOkooKXkv5+XibTgaQzo90/AZA3FjED9Mko+mFzPhGtsYhr2wjId8Go3zm5HKqcpWWiut7mkBJzZ4YoOYCdHaqWM0ySbbdMCGiKmvpQCsq5weXI6WL2wfIxOp5SKVl9K3AR97jgl6CG/uoko9ozCSWsK6DUob5yglTK0iMvcuo0k2ohxAM/aFnxrLmUuQ7Jbu0DjKpT0xlELavSlScA8aS6aMzJT3u/i05pTPkoNDoYB0bviGyjJ+greP+YVINeqJPmrVvK7KKAu2ULLYHfsUNHlAMMZi/22PkNHotIXsbj6kEGaegiDTnuuVFwKW2j4vX4LEp0AwSr/M9OLjLN16k0Sslu+oifP68pxz24DqtpyPCS/cy1uVLtUHjtk8puR+l7+fmaRh1bCGC2zFb/D4q2TFSS8hlv7bYK0YNpEYGkJd6IXyYgcDNijPEAm2VbBYY24eyW8+GMy6wPCD++DPF4/tvhoVpqqPYgE56h2+Qv4Ca0BugmfSzntEOCRKteeCqVmvGTsBGT9YUwravdQc=,iv:sKhAPKaELVo17Rt/tPi5L/kFSSim5A/H6vM+7df5qUE=,tag:nvghxY7EAtDNf8OlolXLlw==,type:str]
hoyolab-config: ENC[AES256_GCM,data:BT3GOvXHuFbzo5s6j6lA5RGHHbg/WgV3eL3WqBBy0XS4KlwiO6/bnEu5aqMtvo0sS2stztTZJg9ZN3AnImUmrQC8mVtN5B7zL5OqHumMa/6qWa0L4TOxrfOVB0O8KnQ+En7qbSw5rCKaFjIs4tPPqpwoHg010JKc2Eejotppo5RNOqTJO7jFCccdZgvaKn5cTgB+yVIIFykV6Hko3Xd8l69WXRTahixzCmM0tjjQBzlM8YP1bMJwMedZwcDYl/VRw4qX8wnSNm4/uEI5L9//zCIogSxnHdMsVewxVQFs4RadnlJsqlgO3AjEDIavoGxwiQvmZhcIPhqcnA0ISl0jgFHzPkn2xYQdAEi4mhz292wBZRdlsz7+G7LgVrphFpnPe2R5iCqrRWDbLCYa40KoiLjgd6+Z6rrG1BAmPtJbzTO9+GykcCSjEjSbVQ/NYUun5fQsvASqhU6fArZuTNLpFb5jXJiGlQoIdVKH0R7rLvrwiq3rHZEbpO6Meerk7SeTZtQvTzCUwGBkpifOemYw/cUjqIe2KPKniCPnFbdXpNAXq7YwChEmC+I8dQGsgNjurLE2BohLARUr7i6YPkbg6sxR7MW8z0zSHJ7g4qS/l93iDwW21mdkDnnC+Dmf1AKBMrV7iNS8Qx+BXQr8jXNP6SLxjWHlAaMTBL3efqosIelbXHfwdcxsmybOfc3ADU2mJqQQaPrvXXDg/Jwx8s7Pe6LwWLmJIGe4sMzmQZZUipB30vqu8XzrllusSUzbUcguM7uny4q8RSIj6SIkk26Mbsue8XgS4p2phlVIq8htQUA3uniTrsPNheYBF8cWH18JYVRvMXr4KPylgcjzc5HN46bh6A7yBxD26lSkKyrfONC1O8SRU5xOipU+bXgKVieuUUrDAoJ+oeN/8d7vPMU+OmiqMdz87lipDMkNFBfU9xkqfgsalIL/eEeUCq93syp+Nrrxo2MNR8BCnksk1SZwkD6ftJI5W4QX5jzUd7DbUrQGe6Jtxe5Ghp93X6HCFOqbMk+5NfS9mILXXRkYZtyN3lbb,iv:9pg+JxNCEL9FXhXsOciMkTnZoOVzmGLwlvsSG/KMGFg=,tag:GzwwILgLmLqvS1LmjkrAvg==,type:str]
sops:
kms: []
gcp_kms: []
azure_kv: []
hc_vault: []
age: []
lastmodified: "2024-02-02T18:46:43Z"
mac: ENC[AES256_GCM,data:W+btPIsNOr8e47vnjwmEa3xQT/kv1nJapzX6PC/CEcCUWng+wfwsIrxj8gg4fXCPiBsjzbYrMlUEylibwNm7sr6xJqI6nVf73cH3kXJMfpufRjfCjLSbzmg6tEWtWf+S7zaRD6ibwe5ZhFooYriGtatZVQg7oyGoMUK5Cf0mJWk=,iv:LhqEJTh5+nlEcExRh2GHwgmazAezKU9nU+ktZjXhJNM=,tag:/r8YVU7dp5DZESu9xCsezA==,type:str]
lastmodified: "2024-07-06T06:41:43Z"
mac: ENC[AES256_GCM,data:ZUrVqXykfNiYoJ29BaiU1V4eR8c92mLhuIqlo3aTjwfHz3eltYQYCcOBVDpgrUGmKGUUuOtImr0tjko08zn6anke1VjkdVOiBM859ix9CY85/869SCOccf8KMD8251MxXHAil9vpt3VA02IdRzMH1SffTyWNa4RuoBITjJeszps=,iv:iyZ5j46RQ2gAjMNvIMB8uKhCKELZy2iCIJ2/KnzxPWw=,tag:kqlJR2nH7Z2yygguQTpU6Q==,type:str]
pgp:
- created_at: "2024-01-21T19:15:05Z"
- created_at: "2024-07-17T08:44:38Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQEMAwcagTG/Fm6AAQf/TSAlMepbrLuWXFYEG5wOeCB2sVonDGKRgfeYHbMDOIOB
CLhYWVlI/jIyPiPZw3jbWCTeCC5+F7+ITKqdW9OPpjChouMoZyEL2HpRBfmSK2BG
utnLnSbBj51kkEwUF6cf9YC94QuG5RAcvmNjMQaxZ0qgH6bWOOLkNgS+0bGGjVp8
lZxFMmX7HVoFW47Xn9XHkj7S5/FICyFY2BIRF1BvqJsp0Uk7+XrnNSzJ33mJldOq
FIlMnVKGlsF6N1hdjI7L5GHuNiYO28zExXvvlDZ2UAFi6hlOHw5THD09Po3AEuGf
+WE/x4W6SpU19NH4OJn+8HsTQqu4qFOmH5RuOu9DWtJYAcnLE7pGLzvXjNliCBNs
a1VsFYHZgXoKAymhd8mzc7pIlFXTLXA9WBD+pH45X05S7K2mROF0NIFI+qlOSndo
C26LwxKhRhY2BwIKN7JA6UCPmxiFPmW0PA==
=+co8
hQEMAwcagTG/Fm6AAQf9Eopp0rLPnTTNSFEEW2bYffWDPwl+XgxTYVENzMBRdjVO
e1LMKR+NDN3RgkE11wtAc/ye0pVqmb2sgJLMJBoils7AszD8C1oEtakewyK4x3S8
E8nP38oslantF8hFLddZiYwKAJpvV/4SlcgcYce5kK75xZQQNs/YJqvVdWXULesO
K7ZvL7ApX4PfPJ3CMivMYYL8bumTuDyg1zZuY3TiGCJXb1WooSQr2qHNNAcp3QE3
rjSIWxLMzkqPL4TdNbCB5vuMn/9qRjEWvK8+fI4JEJBXcMkgGi25BfJmVZYFumFG
tCykBk4iU9HlaPjbV+DsyRNi6GtXydPAudVFkTbKcdJYAbTptoh/klZauj3vSTw4
NjN9S9XlSjZwIZLFeAllCLVj83LQTZ4xPwU/H0FP36U4p6qpzPt7dbOYCOZrPPaQ
H0wKcg1pttlE1hN06BycYA7PcBfL/FeEFA==
=ma3y
-----END PGP MESSAGE-----
fp: ad382d058c964607b7bbf01b071a8131bf166e80
- created_at: "2024-01-21T19:15:05Z"
- created_at: "2024-07-17T08:44:38Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQIMA187ia82lSDGARAAi+IRdY5guAc1vg3tMdq8aiTN27diNx+imvESIV1hlvd3
3Onoqs6IYFKPXPkQMENZXBBFOiG2PixWj6dhm9XH2HYsCnsS5qAkuLcEI+7mupWc
fxfcsinTnQIZX5BOMdDhQj9/OdPSWVoR5G8/OuP+tRkaLyw1Khw5nR1l4BWWRlvm
y1ZcVRQ0/1TAAEgf+ibsZiutykkIx+sIhHhQGSLiN0D17sRwlXYFt1EkzNOTFUJd
chAxuRRe4IcgGJM7RnAgG9cnxxWy4/W+8nmrz0w7skjlNfcLwLeunWn9T2QWBofn
iTIjP0nYebtDJd+aIY9H08AegFJ0mBweMfJplvla9jxkcnqJXciQ9pDbQzn/72dr
cnj34amA0ixg1dR8KVDpPTsldF1d2Q2ndV5T+iyHCQbwtk+Gcoq6jSHUqU+ycP8D
qGVQB5aXpEyzjc9GNIX7R6Gyk1knOGspbZz+ZkhVjw4KMx8TwkD79zSoX+kuf1UU
SfJD3VtUokhwOA641KGx8mFnyoyWblkPUyAyOOtZZWKVWndWUqno3X8nXV39ki6z
8oB43lPvIQU9HHNnlyWbBlfonJBKLpjC/Jb0bd9FD3muBoOgQ/wHbemB/RIpGUMC
S6SPB/X2b/TW8+3GyLXsBbzSkXsEGCnq1j7bxBA2wCaE/BQIiKArtQxHtpEljdvS
WAHfaSAcLzuY/ptQNqnx8l68F5Vmj5nVvStg7gbLY88SbXBkzZkFZ8tXnsTXye68
ZqZV3ubsTi5GPxtM01VQ0CSI78rcx74Ya91HUWYeB15tH+DxJjx6FHA=
=2t3G
hQIMA187ia82lSDGAQ/+OAbbaOFI13A0VMY/geZ2caIzx/IZKV3etPfsb4Riz3Az
ptkbr8yAo99Gg0McK991M0umk2gvMC9ZeVaPVCBT72lThgjRHaZT7KBUNLoPG/yG
gDyNVXAQxwp5b1aBpQraodmQ120D9llUh7uQLqLRCkhscz9L2agj1DPI9EmafyGa
XtsLT5rZKrEGugS47agNu+rsUD0hG9aHmo2NjS114bsjwUlZz6JG49Qn8p5q6LIe
xc4jL/IPDXpIhhzo1h+Z6NFRwFwC4KzoJghztlgPGFgIYqcm6anDKyOqHg6k2LyU
h4T3JOcliAmTRN1yyMDvjhEKQrby973VhR04vcQ3sUV9TI6Wg2u3LzN5Hb0PiQ3m
gFa+uJ/0PZ6iEN/5s6ppuW5kFVcQB1h/jsie5lTlZ7IKQdj+2beNDL1fAMvSpP3e
k3q/IvTTsO0rU2Rm/6Hec1XCIXGRe2MgIwTxp+kY6Q7jx77bbFJveGk5/MKr4l6Q
CcQiXYPHONyUpIjWcD6EBJmhyaeJR2j/av58NNGJ6UkWmb4iTHf0/2QcCYTXIO34
3RafZRmXDjRyFq00/35BWeqMUUIT9PVNfeDVKQNM3y/6F+g3ty2352m0ZnAlDqPX
ZAKW96RCRwOoiPGasi9lK0kkwmhezhEHGZLbm67dh4nbx9LBYnEtia+bHH3c+lvS
WAFuSFPzbV/j1k61cKgytDx6M7DLhwcCEpoeYQFYuEb6pS5FqJzSpc0euBz6oAvC
42q3dRcC9PrbhdK8CEDZ7mNbl2mBvPf32f8at3WGqAx/fDD5aN5AWec=
=bRbx
-----END PGP MESSAGE-----
fp: a32018133c7afbfd05d5b2795f3b89af369520c6
- created_at: "2024-07-17T08:44:38Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQIMA7DEqu/04FqmAQ//RgBvWnzXwOMb0YDus3HPLgW1C363BZObfdPeVzi1u/lV
uGCaPSbbvW1VTuJHOY0wAUKsYMvrETW9yoV5a94zIZCq0w1LVPpHu9oMBKj4gdk0
LaeOuJDRHGuvapZv/5hAEQYXY+pmEgCfx8cPrxA5CTnNDL4C06guuTgHcK+cu5Cs
XVIl8O1VxZ1HJgUwPIQ8oYNK8Rrs6KIijcVKemj7WmIIMpEt0mKedX4xu4oN5vW1
Pj4JaxGUnzMTLx0WgEgFkJdi/Is+Xfp78yh/CErGnqB9rIGdN00DiC0GMVso+7vM
QLyicj+bYmuIapP0bF0CIMjobxNpmRsnRPEWrZDf9n7zyGsDQ3ViCKfLbvcNl1kC
Qs6q5dT+ExMf8VkhSxJqH/xpHH5kYwPkxDI9VAWsgy8PnLufxZSadeA5koLE72qx
OYX6fJ9y/t9WIy5OPN1gvHxUzlyrgz8aqSeM/Bo8K8e98OzDjmOt1TUjIJCxxNwK
fpzYvqf3UQQCgDyYo845cp12OakPmFV3Trzj/gLObr5dT1xTtSFVjiqmXcIJ2+59
tF7wBe/q+ZUdBaxolC4AsEUlHJzOzrJAhmh9N2ZmAcHeOZgo/8zx3n9ehQ2XA9ht
xCh6HWpjcuoSu0P0Dn7DZbTN45HCt1kqbVbdAqWYemYllYPq7nnTRwC7xBPIKfvS
WAFPah2rYh0E3PxxCDslhJAWLpn6V9aS9zFZQx7udPfKr6z0PaVasbOVmOyO2cqP
CQ+ZgbUSODnpIEFRCQApEARyLO1FZH8XX2pUDy0BTSLc1T5QDWrPESY=
=d536
-----END PGP MESSAGE-----
fp: 4ec141b4dd5a00e108b36211b0c4aaeff4e05aa6
unencrypted_suffix: _unencrypted
version: 3.8.1

View File

@ -9,40 +9,60 @@ sops:
lastmodified: "2024-01-21T19:18:07Z"
mac: ENC[AES256_GCM,data:2I9myB3W8vmooFQznfsBXPtvjQhZf3v5I8TY64BLBivPiUC/Ah2i7xk65T7AnnmgRMVGUYW0Y6RYmeJAk5lsCKhLGg9LEwUPHcKHNqMswYS7UEGvFKTc5dc54P0pt8oTF7GByjkxcVmcf83F0NvgLyz1s81xg3LOLwpDTQa5GyM=,iv:FiEYFTyzhGgN1/nke4G2msNm0gTwUICwMCVjruewDgs=,tag:5ruuyB4WwXXVOZ8wTu4osw==,type:str]
pgp:
- created_at: "2024-01-21T19:17:25Z"
- created_at: "2024-07-17T08:44:37Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQEMAwcagTG/Fm6AAQf/WPobCF5eVuCbUygAjooZ9JZ4Zvgi5EzV+Faky4bdGUns
OL4F8iWEJd2L8Idh3bI/MY20F1AYXUawWhvowSXlP4Oo62anSQn0V21jVVoad1/P
QqgAj83VTJTaZafV4yBUzj9BLIQzEiUm3F/JY190s5x2Oj2+YVkhnPPZoL1pVkIK
s50YfuuGwJmX8PPsAuHLgG82FNaTwgIoLI/0YmH8Ldr3kIN77LqIQtU2tDD7/7LT
Yfib2c9y2WVhT2zD8q3kIZY7mOKhQzzkIe1lIBQhq4QUBgjQov4tPczoQRMEMxuW
aAl6F/RpCHc5Crlz9+mxBMSIxGnNH99hjcCsq068q9JYAZX13Xq1C1+lgOLDJc8C
FGmm/CTrFn5NyqW9CP6nWOaiZurcTMpMOc7bVHHxQa2QzreUy7QpbZG7EYbKBfEr
R9878lvRc/Q7n0Axz3adDJTZuwGciDbyUg==
=kZDk
hQEMAwcagTG/Fm6AAQf9H2rPThQpGJP8FOHGZ/iUZn16x75c+O+LKfoNr8lzLVVb
m6/bZNdp3rd75V/69vIyJuCtRldniZHKYY7TeQ8rKjnXSnqVuyb94ZN+dcRjMCA+
VOcGzKI8bMMa1Q78ESD3JW3JJshBM49QVQEKVRRLivwMowRMMYzHdlQ3NPlbeMs7
kFydQAWH80fGCYhIjtG5Zd5QVxhGuFUeHuHhH571mBjJWQqAeCNiF7mhld4A7T75
L9HpKga1PKbYgVwKT5jCcm5OyTGifCAUDeLuY8sj6r20vSe+Vn0BhmVy48Br0gRS
lINpcXiHWJZLlkukR30Ms65DcbSQwACjC/KFzfEF8tJYARxOUn4wnv1Oi+VMO76B
trbr2lGps7yVOI/NSOqzvOXzp5qWWbU0pCwhTchxqV0IebWOsW0G7dm6i1c7LcNu
kPjf8JgldCoR1V+9SdRXnCzgCd581Mgrug==
=UNtp
-----END PGP MESSAGE-----
fp: ad382d058c964607b7bbf01b071a8131bf166e80
- created_at: "2024-01-21T19:17:25Z"
- created_at: "2024-07-17T08:44:37Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQIMA187ia82lSDGAQ/+Jj/6dljDuaF6EulZuQeGwfJvVFt6mnePIBLwkgYVfUAA
jyIMGfwhU40d7k/6zQP9qpcLpr8UyfVk6LsF0MDd51mXFlitzRK0y0ET8no0vHmB
CbQEoNPI2EXzh3eCzHspjBJzI3Wun09cpXuxxea8roDdipoBk2Ha5IRKFSxnb97q
xtMa4S/8FzD/BB7OUbPaTgKfwRFrgjpzNDbGQeyQznJ4+8TnBtaOWSQj1oItBPT+
yTntpTOwTlypK7BpNgvdn9M60M8jl+HMS9UZpiGl3D7+5NE2gSLoOlf3F6j5+w2K
Zo8ASs+Gv5cgoX6RFxT+lz+UowUFtS4pPRCD09BzGY8Lp9fp1cNRcRq6WkQ2+9Nl
7PzZM/3/+3MWP1FzllA6jtKKYzhUN0z1INlD5teYFGl3BsySsIQ4wVytjJId7Lpf
QSoNOA+2rxRdBGGgkdW9ua/RTdWrU70cBYN56r/XG/hLqNbOnwmLtf4sI6VpdR31
IE8XgR0MHm3TuCiII21y5wafDQG4S98ED+J9I/GNZ+K0FJtlDmxbYPaqkIk6qXFS
haDwDFAwinv+I5fMNUejdMwbYOO58ZY3CWilLUptj0icJcgRPGeWU8yQZnym52QI
Dg3cIxkpv0Z91ipiVclLFU+uZplHounKrnOawSWvUMnFwWBMD/vGY5bF0ycaoZzS
WAFHEUcQAGiCtFRX0bsGc7jZ+0w8OwO+yz+xf1+YlwSYv9zYLZQxQ+GVOllIxGOO
lS+s6l0lK5L1lUD+xYe9GfZdK/HKo8R6m64mocFSWiWOHJCo7iRXFuc=
=ATdv
hQIMA187ia82lSDGAQ/6AirLFGTybUd8IjdzEmCJYzLx1Q3Be2EyA7SSccndyvc/
Ktz+EB3JaLvAjpkV5jGradqv4t1qAWwSpIIp5mfYtu68Y1Kd281sh2vuw/Cq4M0z
W17XK0CreJJdXS4HAne33G2HZflNHMBa35TYLCO+HqY7k6Mszc28wnDNSYtJciFg
zLr/3PSsBK9BtHhJqQ6PW7aqsXp1giazDXh9MmEgdzGcKE9buh+fw7U6Dxu02uYP
QcVDd11G4vtzvNAOADF7EXw9qwfykdqaEHm0JzrZ5gl64s9YEySAc7qUT0Tz27ja
z39eq/yWjWyI+2Ye9W40q5CEy9qab4ipuEYZeoIXGleQb7juFeZfAg8myDf3We7F
kK8Af8AKGiZ8a9CWQn6alvevEBQSLK3e0L89KFHsMhDFh8GEdwkVLc4u4edX1xN1
wwgnh7z0xQFQtDEHjxCMXsHL1hfaBMtBZ9ZiGDacoOC9/xzLmT54/IZW47OngHVn
0ywaoz1iw8fjUuPxZsWuWQkpvx/W1cSLikHQEkxcSUSpvf8ewr75N7lkdyF4vL/4
bc8dLD8ozUg1rPUU7ZLZjoJLdoMYm/C+QQexobsrezOfsfQx7lXnPv/kikO1NV91
EzAXUR7vc3bU2wSQmVpT/8jaM793tqtMPvO+vwMtcyjp/Inh5D3e7N3yfkS87BPS
WAEXaG8vyvFTAOlxOqI2bULLDWb5RIersv9qxZiKYThqjK6u8UZPDaEt1PSd3kIY
PJ31hUA3e6M1APy30cmthrecWsxFRlCbIi3KwdFyh6gTqT5r/v0TX9Q=
=OUjP
-----END PGP MESSAGE-----
fp: a32018133c7afbfd05d5b2795f3b89af369520c6
- created_at: "2024-07-17T08:44:37Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQIMA7DEqu/04FqmAQ//Zxsjta72R0jQi7nGvyOK1Io4auIv+juOmyWqbS2TqC+c
XmyGP4KFZEAiZx7sNrNU5+mb/z6V5qMyKJKZU6c3NfQqPPXw8u2ISW8YJ6U34zlQ
fLj8uoj8pzg/PIx4KfBezfQVR5m4jHQCnadNOKAMGDLBnlPHRYPCTg3+RI3vZup8
BaLW0DQEciDKUc6+JW3UxU/cory7y1izBTsx5whFjhzqB3/rUoL5Nq9XYbujOmcJ
x+ZVVSXa2nSNdZzmFzmM/kEQoyN9kTQTEdEqW9/rAd3kgSTG9RQ1lDX7xlyarPOS
6RIRXJ9IF5a8f/8qK8xJ49bIpkWkPH66NSVNfSvTCBl/bhuDpDSuUgGtf8FtOcbr
V9jvR++dYwqjRvSFwlIIgrirysM1zgUyVAWNsymd0KIpCi205xftEX1CEk4V4xSH
t4Ac29ZlM0qThknsMK39DyCicjPEPwZRr1oqydhxDpR7DKgMCQvJ484+DP3j0j+j
4jaOlSqIe3lyRKN49Oko77WrTwVQ9b88m4T7tx7G1/d7iB37xmt8FRkT6Qu4VkEf
10W33r6JrZkafgdLNQDay0X+LFv0YDtNFyxYYcn5Wj7/v3aERtQn3zejfHZKC4bb
Bfhv8SENkLubAluv/OEtYmZ+XmO4NeE5/wVMzJIykEfywnC+8s5WlAA48sL0R7jS
WAEe5aka4Lrl1nu9BZveyFPjF/14gBigBPUrnO5sVkK4EEK3E9kllqwAilNkpYPe
ft421xLeyCgFrveUNkc1zWxhKt3uHyXpl9gyc9VN0QSNYZOP5lQzqp8=
=Kc6Y
-----END PGP MESSAGE-----
fp: 4ec141b4dd5a00e108b36211b0c4aaeff4e05aa6
unencrypted_suffix: _unencrypted
version: 3.8.1

View File

@ -8,40 +8,60 @@ sops:
lastmodified: "2024-01-21T19:34:00Z"
mac: ENC[AES256_GCM,data:zw02HtH+44VofS6hETzFmsu0zdo4x1D/34ApWjuaJFWMjxbL5hzXp8DT+klJNkA2ZU23R4Y3yO6Ru4qvRRwwVxW8ITotJUK37UPXrHEXxFFcLVvc5pvJXwlBYp/1L8Icy3c7UnT0bBQu9d9nuT5p3Zxo1Z1AnuBy2Sz+yriax/8=,iv:QhHAM+5jSxqlm/wsezzH4IQSgjea2CEVfl/9svkf9nQ=,tag:MKKU0iQM6xa/TI42bcU/LA==,type:str]
pgp:
- created_at: "2024-01-21T19:33:17Z"
- created_at: "2024-07-17T08:44:37Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQEMAwcagTG/Fm6AAQf+NM27d6O25SfSnXn9DJGLJWZm6VrNniqp3nT5mHdCXINa
vEKfbLtGjtAT4dM55QJ+vGDVAHp9eYT/9OGm5Gj+bG4d/XYUEaTPj99Zeb1sL23y
YYdQkEYx+IQwK6Wdvm2I3Gri4+WkWBjFY9j/IDPvxF+ZGQq/xjylwteJfdkUJVfC
0+tK4hESvG7siWz72rZdjvez5IvZDjW6iIV4YjNO9BbOIcydLA1EtjmaWSTHHSft
ETqolFvc4nzZ0aQOY4pGZecMhR9zyvTmyvW4XJK3L+uC0k6Q2cY3g6EOsr0uRQE9
S0Rqrb4vh7Q1Y/FEr7qNMHh6oLDhLHUUBcSbBu7bAtJYAe0edEp9zoF0Pahg+oGh
mxk7DtJFVoG/B4pY0CfasEdUpSS4yMsY+IWbA14c+0InAvZ/zhI/RPhz+61r8zQx
WvQqpkc/VTX2VSg/BJYtid2XwHVxrdKzEQ==
=pZ+q
hQEMAwcagTG/Fm6AAQf/UUsYMa9JcKwJg20sdiUebVN1T+re8SWVynD0t7joTuvB
Brq2Kcng2GrqvOBxPSGTwphKccGqehHWNCoBcAuvHJBESREk33pXwgUZOLGw/gfu
wpZQAU0tD8PYHYnO2xXmR5Cpp+C35IcmTmWmr98aifdS7GkK+VytXih6t1XZXksA
XblNzahzozF7PryLlTcARZqYYxVRP/gM5Mou7sWHRlVRwZrakDQ6z6740AaOk6qj
pfI8QytQWELW1XJGbDyEzu8I/0zciz4nZh6bg7Vkgwjsg4s5q/e54JMBYdwRLKIO
RwM6A7lXpl7KXfhyJIv4cX+P4Dor/pZ/+wNk2pKEqtJYAY9LJ71UjGZWHlxShzhJ
z3OV834TNlfa1wqoeTSQ+xqo/LZ1aRlWllTGYRHAEu6xVhGkpgLtj0BtI4t7OlBk
ClwkG9y5EPYFfzQYvERV2TuvGNnNYIn8QA==
=0sqI
-----END PGP MESSAGE-----
fp: ad382d058c964607b7bbf01b071a8131bf166e80
- created_at: "2024-01-21T19:33:17Z"
- created_at: "2024-07-17T08:44:37Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQIMA187ia82lSDGAQ//UqTAICPiUxGrKfmwzPwtNNH7rlpsfpoVyD2k5lhIiK7r
e9JExsS30ToAmvr2lw36xsrG8pTCj74vCZYm1002Ko2g78g0S/slVMJdZ2w8v23g
+2SvIAzqCiLWhmVBo8nAuNyaAzzbIDgrnxYg4IeCgwSrPAeymU2pP/cKpE74+49X
CIrb7UoizTuiEzSOUxb05gR6OeJsE2ZnCOMTIfnuGln43vgUQYZ4ZuEYM7h+SMnF
yZo5BKOfha8V8S3v5A6n5iTYEGTIhpFUE9R4KIPXN1AI/L9T8fKQtboKg5nCJ648
JwqmpemHvvgtipbEvoeURENLQKt4gPZRoeQ88g2YzQN99vYTNIyEkUB75V4CdoAm
HYJiTizWQy+YEKrQDGrQBhyHIYvQNXUrupM4sabQdCO1bEfwf7grMxA17SVc62xh
iRH457LhEUucHh41018fF8cQkZqn92GJkxEc2eSUqvt6dArZR5GZt7hiNhN/nf2e
iEhsiFxW0d5RkcXfVAAhe2lKKWX+rFN6gm40Y1PHp5McMaHMsggzjjEDQyrFqCUX
5fiyeD0jU9u7ai6WkFLp9GZDlzHEsReWnIGM1drnQMjvsjfsdoj46l8HdmL1Tob8
S/3KcFi0Es1Z9NgKu6MpFkn0X+bZYNiwQ3RmVojm1sk7oZ0uwo8UQWb7XrfJWfzS
WAHGcsPU/Y6SvmpJE777bVpisrb3ev8y6NCvjkx2hfSEC8hiaxBTzUXXeDc/CCCp
3kXpkze9roU5DxbEdQqUT7AAkAdDltwG7ysOeliGNFK8z4/iOraolL8=
=SvHt
hQIMA187ia82lSDGAQ//ZBkFjoCEj0Ec5ndaArtThHHXYwQhAsRnd4JNYWGPupk4
Zkxz2v/YR7q1iwj+U4j1VG27Yo3xS50PFbS1tgYzLYHhz5W0dVrR+B96oKVKbRV3
I1ypdJYF33cCG/D8yiF/X4ovmByLhzVoPpkHSC7fr38bOuce22PufYKGvGt9uHl1
ViVFGJ5MVfhWn9USqTAhloZbvc/4brDDMMRojGOqTPAloq3B7rYTwBrNy06Ej3K+
oCLnOPI8xElWkcWvL9y+uOtCNksrSvABNhWM9CvlHACG20XHno0GuaHn9vS2F8Ef
OuA+Xx11wE4K8AzSeXszfXH5WaGPzaJG8MR4n08L9hqoSz3dNc7j+pALYFwwCIDs
WdsAeXjLRhKBeawgEbrVoN0MOYjEmm1VFKCFln1z08nyNry9LKMzih/Eyg9e0NjF
qqNi97W+bIMwv3Pfg3lXfAVqLo45c5jHy3gKZOyyjfNXdgFUrCDfayXGd8AkVnkL
bpnLeaUhEjY2ARE3Huc1CmGiFsvMZKhfhtaTjI4xkxLzNjTK/ull4CNSGFgSDB7x
eSbMmdNZ7AO9vqHbQMHgtbr0VrZGpDfW+jCQu6XylJrLsiaqjw+tCXjC3Wm4FKUX
zTxDoQvr45v2y0lnwMc9gSH9xnpk0LhLnR8w31cyJuopwirjixki6yXy58ODeJDS
WAGe9j/CZeTk71VhJUSGMKWXXIZGli8Zx82yRErnMH9eIozH40Ftag0NWCXfzIfd
QLBF/Zfu7u/teLYQRDw5zFUukmpzGTs9ETZRKL2L6x9C9tb+gDnJPu0=
=4KYz
-----END PGP MESSAGE-----
fp: a32018133c7afbfd05d5b2795f3b89af369520c6
- created_at: "2024-07-17T08:44:37Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQIMA7DEqu/04FqmAQ//YvwBgSk7xCcU3IceWRIvWTbmUWvu7KS6P+/qdOnDmpfT
ul37Mb/0tMO6tIU+flh1zJkZmlsUSRnkg8dJlvLst/Fd9Xg6XFb8lMFcNLXDOO0S
WIhzlcHtRTbKZ3JpsvvfSQBoP+f9UMJmf2wvAHW9Wvou7iLQytSTb+/uEWl7RfLQ
UWTSZe/hr8rkqWI6/sJG34x7zTRqFXoRDtEKnKqyCo6Fv5BSBxGhm2AJwkq89kkV
IO4Loo8QXS8y0qGjlRH+WPve7Jtxj985KWdCXfB4Yvj8JopBZ+0rId7wk5Kpygm5
YQzKxRYfOtLIVf2d/PTp+DiY2geh1CLS0OVdFASUSWxdea7i902qjRpH7lvwe2Pl
EbSIifZCADaoQnjadU7UV/0a4LKR1oeZ0tgJllY/6FItQOJ4BRFlf9lKiaL+k7or
wwgRo7c4XLT2JJ9kJbGYgSGcXe+vnMqUexAMnssM1fLWmDXTk2s3Qpc10XkuraIw
gyOmk3fMhtQ47c/Y5dfk6EXHmfRnQ9E2LRy0+lYejTYheXkDwAvO3BsIFxz4BTnY
bBOQEL0vJfToQnaDSLTGq+fBWDEQf2HuD1ly+t1PMxLpMOwfMFC01YMeozIR6Hjt
HMJa+JzygV2OlXsBiQNXuiQu5l+iEuygsxA3FCLSwSK2CVcU384rYufSeLKgrsHS
WAFV/5eXDOVapkZom7wMccDgaecYk+RLDsxstIYONtR97NG4uKb7Gx7c+084yp/G
im+57en6KWz1k4DYHafvLOiY+UMkNEoaWTTUnsgk7QiTVHANDeQ6wQU=
=O9hc
-----END PGP MESSAGE-----
fp: 4ec141b4dd5a00e108b36211b0c4aaeff4e05aa6
unencrypted_suffix: _unencrypted
version: 3.8.1

View File

@ -9,40 +9,60 @@ sops:
lastmodified: "2024-02-15T18:51:33Z"
mac: ENC[AES256_GCM,data:+fEdaehzrXcnBfdb1A54E50iAy3gJqzwFqiYEUqXqgjSRLB+UnIjX7l6Ej2fyyNhts47GkB2Y0QRYTHxiQtLqEFebnnW1pzbpFj78jEouuzuBcgsZwBXZaeym40ObqrCvM42hPEkAPShBhFXmt0PABsXkP+BfVrFAN8wgQztfCY=,iv:8SKPI7EM52f+015MAFhVtezf7X3fZsK3jDBRrTtyjaA=,tag:jItSjgA+U01Ch1AtePFSHQ==,type:str]
pgp:
- created_at: "2024-02-15T18:51:00Z"
- created_at: "2024-07-17T08:44:38Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQEMAwcagTG/Fm6AAQf6A1t92UHbKKWnVKok+iBIi/UEKkMn8HY4sOnRqSxuY4Ey
uxj6B89+Uu8WuMs+ZjvY1CB3LZjSy/cCPcX7PBWAajkpTCY6lZWsScegCMufJpD5
urYLiNTLmmrY3Chvz2cpzjdIkD2u9O2LPbGmVE0f/X73Umb70G1dC4YEmo3VqovD
6wyZyKo/zVSJVlZHCurK0HXaI9Y+1QIKXumFyZc45Vf5xt745KGYN1zGGKTOPOka
QLi5hUp+YD8hNpg+SGC27GHHhVKRb6cvBSHMPK1CuSFxHzI4ZWwe0Ng9LLrsY5Rc
UD9zbZv5S3fHoPZJYk2ZMjfFF5wwsRo/6H9tQ8BAANJWAaqBLGXDETz0ob/yQy5C
S1M6wnz1Aagcn8AACXUEo5BfAcw9Bmcm8Rux42x6dxeOuKN6FDTGJWH8WDRL4TEy
JJhw4cy3n6UlC+cqhsp8bKPrMgQtLOE=
=vWWH
hQEMAwcagTG/Fm6AAQf/efMwiv9lGvzQJcWW5bNNa/10A+IEoPQYH6vkA1Q9cFeq
x1ueg/BoIn70ii6grtkQ4tMRtlsKVY0WT5Vf17LaLilV8zmfEQ9y1dt170/o4Iv9
0lZ/bB7m+wkfGAaxqJyIV00anIF90ZpsEgQERtU/NygYy4u0loRo24o04CQYlPXF
sWtDxTdhy+wC05DBU95TAK0TKaJPNYKTajg1GpntE5IOvvL+OZ8ErHaVggLkpMj1
SqFjxTp3ehNVtEpGFenFXnIE+gwGcvhogt2WdtwF3B6Eq1HOjo1dbw317sAuRsU9
HBTnZq+++1ZgPNkswueMhLC3Gh1vAOHtu6xvOBpHHdJWAWhEnsHOALv5Oo1xvNf4
OW0waPFVoYY4Wd3d+0CU3G1N4G6AWKO3T3zaoyaM/1ce+doophSmcpTxVh+rXxMq
x04DtLsmq8+MoH7Rtxo1+/fQ1W7rTQY=
=KC92
-----END PGP MESSAGE-----
fp: ad382d058c964607b7bbf01b071a8131bf166e80
- created_at: "2024-02-15T18:51:00Z"
- created_at: "2024-07-17T08:44:38Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQIMA187ia82lSDGAQ//U8WpV7UnqQEJWVGZWs+r7sW5KKNpZtpkQ6yfgLCEm8+G
zb6ytSGapUkS7TrTnH5PZQS+5ZvFl+e4LdeBkwJZsXlk2kZ2CCu2ppOzBhimNc7H
1kwUhAtJzX2J/YPEFSSigLPcCq12JLRC3DEMp+NTjQz7DcVNgbXHyr++rY2j0X7g
LUmnscGhWkiWcxosqhvdvWrokQxc0Hh6pSq48lBXxs0AC8PwEwBmNxu7Nq+QCN69
iI5dcoxeL3jHGrWekZZOXbPuv/b6hs2FCpt7gW4QqmNLmGDT+/mK4YG6hK9Obj0V
Oc3aaogchwXUCHDWJeV9MWx6BWGDB+74g6Z3lyEj7GD87eTf4B7FBL0B694eMiQu
kfKgACRNp+LjOuR422+IKO9N21xhWY85eROYvEIHvQZQSlYX6GHpNMiDYGwu4tz7
A3qmUpYc7/HjsSNtLzn8W33uuXZtvS2p+Q5t7SKTSssN5E2Ns4XcEfT4X+VEuwmh
756efNV1XJfVtSFP7Tw2LRz0vDXxqjFcjUcHsnHuilAcndrfYPwFowjCVfvMLIRE
/ZMZhSMKMvFlejAZ8nFX3z2Pe995mOXlyzwjWUeXeRrR2J4qoSID3c7PP825iiX5
K1kwrI64pg6SGnsf4YAzXJVVpI/8RX+/okFc7kyqPk3iHu0jhrRsIwWzXQy9R03S
VgGUxCN1JM+2CZXE3VHx1Ba7nj4Pa2Sk2lSm8BNgzOsKzqifokpvsTHpHnj/MLdb
+Litx6XW5Ao2DwJYPVPzEZdB8INcflRquT5C2K/6Dh+x7GNbi5+D
=tczC
hQIMA187ia82lSDGARAAtocJU0+T10JE7eqgk1lPjVjcoItD3eQvQeYR1xQXtKdi
2G77tM3q6XYGBYW0OqXsyf0uRa53kv4O4U++/h1qG6FGdWSZnVNd3mmXcjkyLavg
hUOtLOuhAZwo4NUdeT7HvuYarD+sVF52+XVrThHqpf2AVPAoF80/fq2lnvAA/Dmt
o0DZkAwxBMN3tY31zZRHyxnDHFZD0KwbG1c1hPz2pat4O+7EomK/xDTCQsA2rtrz
+iWmGypuZr1u/oyUUxhA2VML+6ZwqSE8X23iZErUF5fNjTcbfAkgMPxq8x2OV8qh
LVoOkO2iYO2T3+DdEAIOTohD2M1kotSwDGLxkK7vGuJ/yZ9FhdAU4z2KWGnUMf+0
se2g8yxrHDAO5OavAN0vF2rDPUABDuKSgRUfiMcAqd9BAWNp09wliQV46PH0BHK6
KOAEIeHxYh0YN9mrQqZEP9rEfEr5LS/zC5t+cy8LYVu75LaF/mOXT2Px+Ebo4OwS
r91v1uVDXlosEuQTsuyKgOeuUEGW44iBIX7RvYbfUTiyvWHUxNjYk0iHyNcmkP1O
WHDEx/dvn4LGB0L7EEJpjp0e3pev5pHmy/40q2OY6jtnVP5NNO17iwXld+i/PNA7
tyfCDYhD5H0HjiOcAWR6UOwUR8FWcC2THpDbRmajzDFmqxbDkX6hKnWIL3f+UkXS
VgHQWqu/YBYVUgqVVkUzyaqkfS7mn8XFWcGmfA3XnY3JDMBD71ygc2CE5LHoTqJt
H7CNcifbI+7eo00+A7t7vo7vdTo/BzgW6GGHAo0Xf9G8ut6tFe/H
=Yc7C
-----END PGP MESSAGE-----
fp: a32018133c7afbfd05d5b2795f3b89af369520c6
- created_at: "2024-07-17T08:44:38Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQIMA7DEqu/04FqmARAAhcXX88SKzW/vQw+j6VCbXCtMRPrz3cbQrkBdo0xLYpQS
4v5tkUyRnw1xwViwTXfgcnWu4LMcNpZFWKyHymWoQrmrPTnfeUTW2EskHnYnUIZG
FMdRz49RY4cKyOqmCiETr4q1S7jtoHXugY20w04hD9Ds4GchV4owa2f+ukK6Thfu
afDJ5a6d7REaBvjV992MT7lk+LN1xFlrWgdkDVBM8wJMxUaK7lM/UkRv/rxP45ux
2XyAbJDMhZn1BZ6B2ebbMwbQyTz65L+Z4je1avABN6QwaYjYBQzK7OOi7l1SeiZf
pZRTCmiw5mSkXkYAPH97pJWKY81f6oBqRcqs83CnBrZG3FFF0AInMzWZRw3R3etj
2Ex92iueygn8acezvSSumVaOAeYlO+IdgqFUfvLoVqNxhmU+jC7MA7gxiZHp/3n4
JgK0y/cHNTdao7aAsM3F3yM5nlyETIsik6R+cHLOOREqlXttmrmy5tY21ALsJUve
MY9QmtkTuVcpy4mp5ZyZ9b2ZZ73SJkKTq2PBeUW+TtRifqKlcamRECzPFMKnPyUt
ZB5vuiRmt5NSjpSVk4TCk0XDz8NX24MJ/Kq511HNrGBYAezmrlPmd+uT+qOVp4qD
V0MRTc9YeGM5Z6HCXCbXP1rK2rljeYRKkn1qRUOgJEfamGLQlWNhUwtm0B56D13S
VgFNPGf0fK1XBXzokMWzXCsioF3JngIx9l/0YrGSYI8vnIuCzUDnHAyE4tRty/Ca
DDjZAeYXaqdkY58q8UVTJgOLxY74Yv50P1CLYkEX6vkn/ffZTMGy
=q2bS
-----END PGP MESSAGE-----
fp: 4ec141b4dd5a00e108b36211b0c4aaeff4e05aa6
unencrypted_suffix: _unencrypted
version: 3.8.1

View File

@ -17,40 +17,60 @@ sops:
lastmodified: "2024-01-27T13:31:03Z"
mac: ENC[AES256_GCM,data:jOoYhT0lGWkfv8KaV1sTVLDa//v7fhGX6U8TZbl1fBwsqjAds2wgac0XlrsHTtXvI4IbdzQCt3+czfUP4n6xHssRZCAP/Hjqp6NjXcHKY1P3/k/CPnRElb8DizjGJyhuDDRW7gokrxK6XEEvE/y4muI+tBy4/DP2dz6wflgC16g=,iv:StiAgxMmAHb5V6gb24Lz6f+DIhxSozWxmP8RD9wgoNg=,tag:On+Tu3KFxuTLBcdGQCyFDg==,type:str]
pgp:
- created_at: "2024-01-20T17:06:10Z"
- created_at: "2024-07-17T08:44:38Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQEMAwcagTG/Fm6AAQf9HMlE0UBYlccSvDcVG/yVq2DLZJYXnBruGbVZqpk8JIBu
syj9b9rpJk48yi97ZVlvJkzaU/tADLyo8CgI3qDHh/lOmB3o/205Rrlu2fW8M9z3
s74Dgwt9BsmnRzy4ht9SaqmI2PEL2xJrD3LpyC3vq+n8TlGvmmtUjeoaEu6/qich
570cArO02cOtIjZF9AJtyzQr/6oht84yx9lrhMACNPcxAJaaRSdlLkzVFo2GI6gf
ESjaew3/FJxPtdJV3OFy/A4bFNM/4bUdL50wERfnemLq7GhGp97ZP+pKTQcYV0KQ
c5MSdoQs8Vy5x0vofRVF7yEddSdB6rTbm3QkBNd0a9JWAc6jdLKiP1k7miYfL8OS
vGBBz7NeHQvx0Iu2jruMFxDvE4gYaRrWYRmAmy/Hml5f58g1JwQzac7sDoTeR6YV
k9Jg5PXX3tU1qjG2IGhmmJoucHL7Hmg=
=weHd
hQEMAwcagTG/Fm6AAQgAkuNEZiIxQDLukDepPkxooXPoaU+E6RFsUx/dqNHgZG0K
CWzmYcSYlz1poZyRAz8pb1Ck1MgG9xhrZIHGYYUzCXF9CbtpCOVDPUmpvWuGB/0u
BHRJmtEXHDUyCrcBAWUQslkuS952SyqyGA3OAD7B8KzYthYxdkV5GKbgj+oQ8TPJ
X6zwyueeRDCWVn0SJoGhgebbeS6jJcWe2zDQIrrYr2rqBiBy9kFylUY5KL5IxVfb
U923cKtlK+FQ5dndWA9w52MWVwm7dVtIq/Hal2BNgpT5nsrMWamv2ViEtuO9T6yC
wlnqAYFdkrWAO5ey8cZEyhH2byUStGIAvPkYl/BMZ9JWAe9h91oR4oeYdjhYIT9H
NULrj2sGzf29Q3214igFOJHowzoWn0EvXfm29AAjk/JF1MeDGuUL1V/2jGfQiyWC
cZFOmm8SJ8axdgTAiqeVN2jplG6mxPw=
=TB42
-----END PGP MESSAGE-----
fp: ad382d058c964607b7bbf01b071a8131bf166e80
- created_at: "2024-01-20T17:06:10Z"
- created_at: "2024-07-17T08:44:38Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQIMA187ia82lSDGAQ/+LWe2cLp9fLKVmc2p97lJgXe/LNgKHEXx3kmP9EbylVSW
oCbmq1cKmZwXijSx9yhJYSj9S8nVhqAESWzzlKNRVFC7kwTeNoVwIPscNXIjuHwM
ApEzsBkpKWTTXHsuVuvKfl7smf0fC90/NRIrEQwWsdSjFmm2/WAlHn0M5hFcbW0f
CDQr0AfoICD+C6sMDHNhVzcSdsnxHTo0YbQgm2EeuU22EYXCdFAPNfZMnG3F2fcH
ncCygKWBvQOw4SUNxHUt3CZz1E8JYT4Dv9BGL0ODi4mFHnJYKpFJ/jj7NVIDa5Nl
EHVXjWaU2cwu4FGThBEJ+7LjIFQBf7pG2jXAW4CeVdGSAELcobl+OykF5liqTe9S
Q0JKz7ABxurhnTki3Ht8r1QZqADwkc8gN2Kv/q+1PN3YbeRG1SBy2M22K/4loW2j
LMOaC7V2sWk32qzcYGSB4muGbjW67vXjHPHhXagl+oirz5cPYHTO3xvgXWS7Ut1o
Bz/HxP//wj/zzddvtrX8q4v9wqh7hppI2kl5SJOl2mGuCmP6K3iGQbEIjpc2+LbQ
3S/RKUMX8EWNmNyMQWyvKfJqvGLkDdYlrcCgv+G82nTi53XEkYQzdBZ1DDuU+iOb
gRtXAh2m+FZJgp6kPmHD9Wb3gSspxnr5K2V9J+coFn+qrT8Q2roE0PfQYOms0QTS
VgEq5F8giC9A8rc14kjNfha102ipESwXDh+Lr1Z29CQLqR6CFDInO31QiLgNjitv
/mySGYecMZkMyKoIaxuJMkCyd603Ak/4uWzMDdF8zIX37yyHt1MA
=T7/J
hQIMA187ia82lSDGARAAoQR8A6U5U+pbJAmEDLcSO3CeB5gMJj9A0wSEJPoknSlx
7FISHZgrZlv/vYMZ5ySTm9pYBG4m9a3d7ORvuUcX+KiKQ0461TT7uAx3LgQX8vku
I9oazcQTgT+sUDLtvWArHbI08W7OIr2lE7duSbl3YnqSiWYON90sPYgU8ZEIyYyC
dQvmw0Y0JFaSY5DaVa030fKH16kPkkYboSImWpWR9E1RTBxImrwQduHIpnpylZ3F
7Ydzvtzq/UJMiLzbT+Vmc5GwBuQqKwrEiIPrn3mlWqN9+eAK84a4M7KUUMbuCmbZ
zCcg4CPSE1wFcg+gWEEH34CPVY/O03XjWtQZcAwo7nIQydxS5pZc+p70YH5Cm3+C
llATuf1uTFDjDqJR3JPwx++vDhibyZBypmjerXaR0VMs4NqlkrNnpZzsr1KELQrn
AlmIPARw+Q+c+RM4hXxu30m+Z4oXogDF+DkWnMLYZ1TLX83cW4LlSBAPVRmVFAoa
RSNdeAnlr25dN/X1bYkZPLGX69Jq+Tkm9NSK8cNROJdP/locaP/D2FPxYy2kdpVs
rm/Muauu8XcEYRGM4kxU6wbaYojmUMCaXOjwmh9NRpvyPrOrm7DeupbC/JfziR/V
haf2V3z5cnf3Zap/dGooAdndcZlFDAv6O6xMWuBP8+PHBksczJmf8gG7FivKsrXS
VgFlJwS6B15SE/By44x+EaTxVSZEvGyG75um0PwOME2zEeMDKSwT9Dbas79gfXoP
jS3fp5HfP/qhV7yXuh0Gce+Y/7y9eeDXQRevqAgk470IYXvPkFPa
=UnkU
-----END PGP MESSAGE-----
fp: a32018133c7afbfd05d5b2795f3b89af369520c6
- created_at: "2024-07-17T08:44:38Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQIMA7DEqu/04FqmAQ/+OHDPlQao3Pdmuwj90y80Sz7Oo3LSHED9frAxmTnamJNH
dLJb+PvszDaz5y0nMVZqKoNfoc/YctD76VMpWxVp6jCUfpFDZuwl1N/x3+lPR/Wx
qa24NmMmRzO4DNzJJG2a453CWfr0lCpkb3d5OgcozX6HdQp0N4GkS7AlHUx4BKJa
P/grx079PYcFiF/T2i592pjYE3BF6uW6Tqu9Y9soVawCK7kPAAHrWiBczhWrAtDO
OrImpQpIZ5o5a/f8n5TEXPQtitkldc1+fzSRQ+Ph0nOShjQmT8WevLvtHuFVpZuj
dV1j6YPyYgZ+FfkyGFDHcbd0w6CfPrfiHUydaj/pxwK7zm1NIJkP1pFKXUVMJ37V
gNEX+6c0KnCzAEiG6DcEOMUgqh9qdeJWdUwnZyRtP50/W3ix/VeSF3BSBwB1Lg4V
EoxwfTS7XanIpmxUkn4LNSag0fIA/2SSwXofQilNJnich/4uyj7/dYaFUsIh7Ue5
JQu/tTY56zPOhdEJT3/1lsx5/DQjHxAl96RxcbcvcybaOh//fKAQNFGdlrLeGJz6
fgPCHlGlWhXOwzF/aZByMNPCyZfeTGJbqLiqNRces/81oSRmm8mLSBBBb3BcgMNa
80Yc4wyI5HTAkwywTgI3LCkScppsyD0ftb7nhXPU3IK2Gs1olWYJVm0Ic+RYab7S
VgE/qwnWrubR5LGS3//OtLTjcLhfBNUEsWBvIKllAv3Yuttx/AR0YR98It2BvXf6
m9CPVzE1BpCbLU0raj6XpKCirog3XBAqv4z6QzMOlARah5togC6m
=81MA
-----END PGP MESSAGE-----
fp: 4ec141b4dd5a00e108b36211b0c4aaeff4e05aa6
unencrypted_suffix: _unencrypted
version: 3.8.1

View File

@ -10,40 +10,60 @@ sops:
lastmodified: "2024-06-29T16:49:33Z"
mac: ENC[AES256_GCM,data:lLhXyjhsUSg2OGuwPgyNI6u9KKJrtE2G7/uBynu/Iw/cmqBBPGTArzFZRMBjLY7Pit9ZN0YWPLTL2fH8AdNXc6Hq1LgArR29WRgaN0A8sw+HfyVgH2wX79Rvh1ddInOkXRLm8LQYr/Iy9M9N3eWhIZc7jmgj0Vx0Jfhne0atO34=,iv:padr7hsmHMSf+YXhSxN4NyNxNN2fX98oGgVvhfPCsLY=,tag:YydiCnuPvpvI7oou5TQfyw==,type:str]
pgp:
- created_at: "2024-06-29T14:21:49Z"
- created_at: "2024-07-17T08:44:37Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQEMAwcagTG/Fm6AAQf8DQg7f6Qw6JSjyEgi63R0TaCi5MpM/OOWPym7zBoVyyO7
MM7KQVcaG3nAFyaQZutg1wk+VtiJXA5fjsbQiVJ+VPO2csb8HU6uq7Xtbripu0mP
C+KL6HaKlzsRBSKexjGYXn5Pu5/ZVcnigQiq5Ih56tHIE0FUx+LdHJ2m1IQ0lNXJ
56PdHNUQNd/qRRyJDw8x+vro0uZljR7cmZPV6TaglxdtBO668JzU7NfEBwbfQMmf
0Z6XTE6+1c+N4KWSU1zvko5qcA1UhSLB21CkQcMvs71pkWobDbInEDaYkyhyy0UP
Bn8cSpHMOOv3XaanHCNwPACNKDE6J9UkXYA/By2ky9JYAcVH0H4slVsTePOIMjtm
LvHvpj9PSwvhJrgiEb2aNQ7QdLmghmkkuZSGmCDdHStV2a4I+t7PzVOzJ/RGnTiu
6aJRFW1XRQr26CeW5OozmMat1z3iZm0O3w==
=OdzC
hQEMAwcagTG/Fm6AAQf+JWIywpW3qA0Ziai59gjqqEF4z4mUVHz66LFGPB4yCcAM
IJiyXJVfLmmkT9S2MSM4ZKxOe+667DNSR5rfvSuIJKPx+cJj80T+L6iUCyhNgVgC
0T8ZsU0UiXc7Ui7rwKwClfXzWBXmyWx/B5K+zUatSrPknAh8g1xHCqUYSDJdL9AB
V+mcWOGO5pd09nN6LgarfR6PrG3aN0PTo9rcu1KEMPQSLqjKj26Sse21CVQ0Kr/R
t9V7G8ZPczIu5sfy4eakn9Z44q/Eejf2s29uNqbFkWN7aMqcD2k3QtGL8LG2dGAt
CJmEiyqeKqqzgJ08gSKStRl1GdDJA1qaJyy3ZQTECNJYAaFcO4cMcdXzZjLRmYsj
x3K20pGwG5pmss3ATJTrnk2XfIT7LkPg9yNDicAfozLkhSlTnfPJ+zZNqUcO0kdk
UpTpMiOeJCe+hDOeEDe5GJB1o4KuepYHhw==
=HmW3
-----END PGP MESSAGE-----
fp: ad382d058c964607b7bbf01b071a8131bf166e80
- created_at: "2024-06-29T14:21:49Z"
- created_at: "2024-07-17T08:44:37Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQIMA187ia82lSDGAQ/7BdvWFd8kzGcCSHU3C1wHVmTr73X7vfYnnk5jAdD1iuEd
lizTw+pT4pv76Qp+y/VWhPutY3ZsfchsMQ1cZDYfcaVk3ozq3gx4+DnZMEtXc7FK
Y933+ru70L3XPQJ1daAwJogNJosq5icovGirPUc6f4a23ix0h7whkv+TwB5jrF/Z
cHTVCxth0B9Ol3Q+pvIlf3dH7LntYJOmtDR4rICRE6LILxTAV23fVCJPEqXy9Fbm
J+/i9vKOOtc6qP5wwMpIUeQu7rTeELjV32WaaCAOf/rfNDtnatNScmWjcqlQ3/0a
XNipo+ptcrj+3UxmVGHLvHuPg7mrRaAYFHA5oEeQHPWklfsjSwQgknqpRSQ+7vmY
4rQaI5Yrx0D/a3S8zWY5t51X6YLFu7jSeSu8uZ3ToBmAUWmSZmcWgHV60oONlkE8
Orsw3c4yNfGl/GY27yUrRGCFMeVsDiCTKkXUQgii+m4cPoxzDS/IS3QvPULV42u9
rj9u1853WsbDUDsf9lyFYfgmU6E1Az5KhtQXhdifL9SZtdEmJmfApbrlOcmx1QCS
jwP/3tgF8KR7vmfU+XN1BXZt71fY27Qysc+JNXVT2bAIpfBS/XJGHyFAeRuYne/S
syPX6O+SA6+oHjA/tGrrekVUsD98NG+3bL0NJUckIlkjPYnUZ1FnpVqnIcGFdZXS
WAEMP2QAkpnNDEYnYufQmzGU3XWscN8iQcBSLkfwTvRYh9gt0yEKdGnR9yDoxa40
/0nIV7JgPvv/CRHFO7lcQtKP97SJC5UDjWYSPS2XL5bPA4gSvVWEN1c=
=OlmE
hQIMA187ia82lSDGAQ//SMX9qDm7GqSyenLYS/PaGnkh8r+V2EPYctU7t4JBDvDy
SXKnXT5yLhGK5Elm4feslWgVqVB+rokdU5S7a7N+U8NeXC6Emt0YlqfnOaZ4bmOs
C3S7EGEC+TPSxA8f024ccKHerh1L9Z0qfZcS6s3mhrJfWw6K9S99gWT0kg6okXHJ
54djyC0zEa94X+nZ1L4vW49UhcZ/yBOt7PrAsaSLTShSiMSpdPqhA0z1AH1CAMeh
/vERFG53fgsPMxICcSTlxNXBT4e8goVV0/6jhXF+Z4c0+Lp54FRIT2Txsxl/1viO
n3X/yJdZN010HyG+3J3XH5697vaKAaPvFBFFKkeFMTEhx8TX92FlAy7AlTeHJOtQ
Rt1tMsx+O6lnfiUwwZkb9kaZ46bscPqocNxJUNIrlTxfn7hsc6Lc2j8Ae3PVxEvB
1Ut4bQW8qM3UfsxNvLC+Zf4oDKq4HRwwBclnpkzqb6Cq4LkpLeO1ciok37LZQQIV
TI8TQs48G2RQt6KbwQRjoaG9lJOLWrgSdQ4HigxUxpMZimK2rLfQHV9fvc5xfbFl
UJ00tx4sYf1+qPa4R2qQJnnUlxJlC+KLxH/ADJUU7xdcrFzk1mwVirAVj9I/1gvZ
ixRGA81zHDtw5ZnCi+x2WPwWTGeaFX+TV73P+biRNx2LVd0iqhH2kAPQl0CgIYPS
WAEUs6MSr8rLYVKRqTPMGjlarAHykt6CnTQjt6QzRm/KjctvFhmYS/Wd1fDGpsp3
6qQHDddn9CDFQrW7ePiG1Te7S3CIGXOqCW78UapEH8NdJRHFPYnfl3o=
=yhcZ
-----END PGP MESSAGE-----
fp: a32018133c7afbfd05d5b2795f3b89af369520c6
- created_at: "2024-07-17T08:44:37Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQIMA7DEqu/04FqmAQ/8CpAlsD5mlYX9LqIa0VI+e1kTgp5AyPenRGcSvFQ5tvK5
Le+v8fNI9ePuPNt8T3kXqyNnZHFp88VzIfymtlbP0k3Lzh7ssgc9OCqqbWJfUMVX
HcsBswZhR5RaSpwp7GIFn6rfQpv10rDpKL6rPtwm0w/bUr2f6OYra1X2CY5cVeoY
B2rA+dY7Dn3J/3E5wiPa1uCSkkXKwqvkzpoiCh05U9yWL989chHpy9M3pYT0Oinu
Lghdl62YR6O0DCI2nAKqI4DinT71nUfCN5UFnHwR8N/pHHJQZEs6uu1/kfTDcSxx
Vcaq8rGEOvOcC7EFqT1P6jIAa+inJxy6wlA+NUwJTw0FPt8obC9ELcY4JN+SckfV
lx9kYkqYj5f3asI4i5Gb/iVD3tHXHMXB794TeeUTla7CDkIsqE4d+Gq2FmQO0fZw
i94Fw3FTvDTFxhGgFlM7oEd5x0kq1ci0pkSYX3M+aCecWqvxWw6nu47USLQgVRjO
RDV6BrHss0D13TUx1aufyY8vsxJx5fLEQ7Xdej9K0QccNGtv6qy0OnM4i2tFrgVH
+Lb/TmaCPg8r7a5JGmZtZn4fLSxuH3u1NcGMt9aOTYasmhmBT96ZXA90g3Hc9nHT
yynj347YDTUsMsrgnlV6LJmb8ECfHelk9pbE07gHnrq8NErVBoU1Sj306LGPKuXS
WAF+5ZhJUp9gmGVJ2W0q8/hPAEGp1OnIdsMI51HpzZfk/CDgwMcPDo6UxS2OACP7
oWDWZUfrwBGTraEV3A+E1gmkknNE/T3KF8Z9FptiigOBy+eUee9KAgs=
=deax
-----END PGP MESSAGE-----
fp: 4ec141b4dd5a00e108b36211b0c4aaeff4e05aa6
unencrypted_suffix: _unencrypted
version: 3.8.1

View File

@ -10,40 +10,60 @@ sops:
lastmodified: "2024-02-05T12:53:28Z"
mac: ENC[AES256_GCM,data:Nb0UIbPvHANxtSYfOp3MZWQDOYxFSv51aLoIG+m+4Ql23sXUXqzY/1Ojjhh097qLK8Nk0Fkoy6vpKopiQpYJD1yu+uxJjHLuGhsNDVDds7tW2MtEs6MB4IEuPfSYyRhBjEZjU9XvchHiELJxztwywfApM4pjSevqxpLz273Hf1E=,iv:muz0pZp9Z+HFTPcXi8gXGJcGevpUE1GmhKQZMDFTpiA=,tag:6tXmiLkX7ByuoqeqqBntuw==,type:str]
pgp:
- created_at: "2024-01-20T17:09:10Z"
- created_at: "2024-07-17T08:44:37Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQEMAwcagTG/Fm6AAQf/REYKQJmtKWMBqmnDJKvcLlvdv7AFLeNG9dHdGFbBMFiv
viLQwAeN1DzMJMFvI9EDDYSQ7hF5MQ//AenFv2W3WSJpKAU8l5A1n8+mVHQ4CxKm
xBPGZhx74dghPDFuEjWfwI63Ysxy7KzEtapwJ9aWaRjNVMV6viQoav3Y9FNSiPFX
/ocNPqWteEzeoK+DzJLMJXCKYQVHgUgtxXAtCQa8eX+cieL8lzNIKR/jbY5lO9Wz
fAMS9wr1LUek/PBB5OiYkG9cBoE5z82z+70zMQNmNXb9dUBGLpSpDL7BQVNHxLhe
cO3GHHtn+NE/yl3LaLtpxYGaUZM8Js22yQRq00k6mNJYAR4PMeAm/lZbbGzc6zzP
y4UzEAWnH9S0GDnl/k050ixj1SBrdbpkAAJ6yMuu8/kKif8DXc5rXFU7+XNy3JQG
sfxl7NwNlZ5ElSjBqvsTlYoAHPwJdSM4og==
=XHRN
hQEMAwcagTG/Fm6AAQf7BuPOYTXrBSKhnwIZjJDGP96RmeeEo8U4o3rJD0CmSSf2
l0Il63xtcvvpepS5uAde7J6iuUE3i8mLvEzB8vj88MNCE7L0IJVtXQncFaW6zzIF
Z3X1jo4D7d0LI7xLAWsal933J7rOGxEdVny4odqoPLO1PTf0UMZuQp1ETMargONL
Xht3J4/jF8duxWy3znq7LP/CP7Zqh5E5yHNApAV02dI/i45f3gditOY1R2CNCzmj
LGJfXNpXAtBCn3fltOucKoTyG6bXSKc3ELMYx1tRcQ9VhuN7W5ohd3zapsQI65/A
NuwPb2xYB9a00ojR4XmOR/0QgBX4RZuBZ77rgHfaotJYAXJJNnNH65cvhiHsX13W
Q7vmFFlxz4de3g/9UNFe5T5DE443VT8gfSvdLK9I5hkYaUIpixKhyk4yVqhbe3C3
bboY2l2tvsHI7wC+08xR7CwPps9AaQ9qdQ==
=QRGp
-----END PGP MESSAGE-----
fp: ad382d058c964607b7bbf01b071a8131bf166e80
- created_at: "2024-01-20T17:09:10Z"
- created_at: "2024-07-17T08:44:37Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQILA187ia82lSDGAQ/1G7woSu9b6Ol99Cr94gec/Uxc7EwqfITpFJs3KsVyUOZm
uY6J9ni6yf5wekW05+E4RIqj6S9tARmb0YIX7/aQqQMFoF7lTq68Y7M+oBn2xuUB
eOCOZ/ir3IRNI1lPwfQpmNqZebfkwAF9T6PjEV38mHhRP8v+gXXBS+BFBElUWp/p
EBPt8twveOxk/ok/LEtQtpYPNPdwv2Duxxa4oYBrjDXXzfhtLrU8ck/I+Wuvh7DH
WCmLmJ95bU1DiO7QbG2PJ5ElO5UZD7D1HfDv1+ql60/WBMzywuSzigsY8C2HDXA5
rIYdRzXMLVBRzxSOMytxQwUJHp8T3/Off0Hidx+w7qQ6J+lUvZvNQ7UoinsA0VWp
X49V6kRTVoy2SceWJDUq46kXsGhKCmDZlRh/LWESJwXSFxoIdHwU2s1LBJNbLuv5
QrYdFQuo0Z/Exhm8YWgpnOUQx+/2eRmC2V059Hu1ZInH5mUpEXjKsfQjD7GAcbq9
HfPriB/qh14pW9Yahm5H7snXFiQsfEEs7Kyf9e+67AzxUJL2g3pxhd+geGJAy2vS
wdJZaFr7Ii2GNyNfBFHcXo35aP17rcKrrI5FsrDk26d2R9KLxtY+Jkn/sIix4gR3
lji7YbXcSvBEmxuYz9qsKmlEFIIdbbsC/aSD1gJ7s673q27XyszO71xTpeaxPtJY
ATwQ2MXglpSytz/99+abS6yWIHn+F08577fczfY0RpiJRacblDnv3gUqluZvitTd
f6fIzvPK3AzM9WYebHr2Pk2vyLFcveM21KeLmaFUcHGl85QrA5jZVg==
=7up9
hQIMA187ia82lSDGARAAvaShIzKtYmWwtxvj7vigZ5M0AGCsBxaM7TjOZB/tNsU5
Hrd5626L9bCIo37bC+3WcqV8h44CHVzXf0Skllc6eIuWEX55yc+oVy1Wfmh9JarU
5M2hEcEihExzcCYz51Z0qpAcnHzIYZJe8/Owy4rbEbdwZJPt6ijgtkDctMTAZvL5
LVxpvD2s9AHsQIMYW/0C4NVlcDLnz2t6RkPJO77NHeu3fArCaJiQL76+dQ3X0AUV
Yysbx5ceSDpnCwuW1MMBaQ9DnESvETJzpVDUhqJ2UeIeFpwvWt5z8z5XaQrLV+vn
nFeRHZQHKODWLxhBb6ZW8JZq8gt3FcuE7ZeKWxkI+BbH7i5eg+1IvSER3eY5sJze
tbrfCb3lMuNmZbn9FVj737Gts3/hD+WuiIwgMsC6/a8Ir2brMcfQhke+uYokZwvY
6/t2Z2SLZykEUuDgcBrLwk2RS4ntEMnt9Qa5o7YUnXZdyXJzu372ZXjaQ3sxWF0k
wcLNglFid2FLW4XM+lifLjTa2u/AMress5Bxz4DByUUTRpEvMRKgUJOVw/fl/eiD
TIYOMstrVVNi+Fajc0R3pM2Z9TvJAOiQIrL1D1oBL1D9KHNKwsQzw4++eT/qF/z5
oSDcBq1lJEJOgiMMiha7WkdEKuXCgy8tcwa+x+YqlRHQwa7MlqPbOwN9O35LtiHS
WAGczxmCHcXjoLcUwRpohKYY7mTvPX2DFTBP7wQz9Ghgh0LADO741GXTeekhxI/7
lKNiuniP8cakaX28cOjkETtZcHMmakfqdHCeq/X2ydm0H2Jnn1nJQOg=
=jbOn
-----END PGP MESSAGE-----
fp: a32018133c7afbfd05d5b2795f3b89af369520c6
- created_at: "2024-07-17T08:44:37Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQIMA7DEqu/04FqmARAAq8qkJ08vDdp+vOWYsBmIcl1OXsMpGP1DhRhNCB5f5/9u
JnjfyOc7UkTeJbgcv0syqJL+Bt/3aOEc3r511X/LZe+8SQ8kWcE/CVnkV15o+kD2
rDNO1z/NxOHivtIfnNkQeQlg8BcSwbwHn5sw4rorZ3wF+sxhd5DWJP9AIU7RxHI/
d1dmwhIyGkORh6oBGVkkwpDoz0J0LvIW0iBbWJYkvmqCAIAlpn0gCBVihJuD7v05
xb3ZJfFb2e+F7PGhdWdp27zFLMmt3A36+Vgyjq7Ir48pBO9N+yFRFrQUPrEDsnSj
d4QoUC3a4iEsriqGS3bJhdiyaTA3Lw8pTpWrcCqNGguMFCmcoQFhq7WVN2lGn6MI
/EBEKRSGXptwzmn2MUeUClDFvPcLUFd4sFchODXDO3kWRa4l7wBeM4Cc6/HiDz19
PifgGH1k3OgJs95K80TqLt5oiJNp34hmk7ulNOsLupKzNk20Cvpq1VekiKijTcIb
XrOx+E+dWNOxg8dD+Z4FNiFTinTJgGdM4ZS6ucBqGXXd5wi0rEWuzb0uxmbvHavi
nuWVWop1+UtPGGt43n5mjm2fbzIG3g7tJiuIVFrwpZZxzxIYYr2o5115PxzuCcif
znIsTWxA6ANvlrADwrykZqJEfoNwSJkBOv6pHCQbxl8305OJLadiOxWWniJz/TvS
WAFKm8jrFJeWHagL6v9Z3DhLQAj3UnAEFFiFgLJgKnIGEqp167SCMaSsUnfTGFxJ
rPhMBIHXLBHrvkgDbt1qdHKLdQu68lr0F6DN6Nh2h7NNzszRDtkOkg0=
=CEBt
-----END PGP MESSAGE-----
fp: 4ec141b4dd5a00e108b36211b0c4aaeff4e05aa6
unencrypted_suffix: _unencrypted
version: 3.8.1

View File

@ -8,40 +8,60 @@ sops:
lastmodified: "2024-02-03T18:53:42Z"
mac: ENC[AES256_GCM,data:NgVHm1yxlV+GU6TgLhWiMutizLsdmZJwEPKuErXUAK83pCXhECWaqQSn9HNs7hG8GuLnl02lJmS7R078j+hTvLAxYKEewkU9uRzSNJ5Ri0BMCQOtBgoKNS+naCxom9mUL/HvrDc65S8ENiIlQBWCpv9/mY10kUrI/QnI+DVaD18=,iv:FcS3gfIvvzsyAv+eW5XuOXmcQLoE71KvzL3IWiy2hTc=,tag:ZRhiIsEEVix+lZuyVNIh2A==,type:str]
pgp:
- created_at: "2024-02-03T18:52:29Z"
- created_at: "2024-07-17T08:44:37Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQEMAwcagTG/Fm6AAQf/bzkgXT2mAN+YPVUrFV9sAU8onCyHN0ej8OyW3JKxjU5n
2RmjFBSq05polDk1bzcbue4e61T8sn7av1iXzsGPpt7egy4nD5Vmo4/GcNA9vnGz
OotP4dLxVLfOJvC9H7idhXIWMSbDTFSzduUA9H1F1yOBr5oCpw16foVSrD6QlgAC
4wiDQZg/lpxBGGphnCN10xp52DbBQ48CKapvwx8QhjCDv1UpD9XlOPIeGmcA1txP
TxEGJVa9pJhlvCU9wEyE+SvxZhgT0e9cYI5sc6N+MFA+gcCmJ41mX39FElkZ/LV7
b2xKogdjq90aA2o66qURZbv/DUHS+cAz2pBxwJzjOdJYAQZ7oZucpuF9O3lJCK/K
dwCFUyo6sXn0HSeTFCRDbsC+0eVK0jJfyJr+MCKXgibeUbfToJllS6Q5PUWarYCl
Ei8xlald6lpZgYCnca7C9O7bv/wp9WztUA==
=RgsL
hQEMAwcagTG/Fm6AAQf/YTWlfXSh6da7W0Z2yhxVJRDawjaK8YDcy4mXOOpo4e+5
TGHxi7ggaz6S4+lm0az1vgUE7HsEzS++Lcv8k8R92ZK7N3kh1yDwiOvmuKaGrI4V
PW9UzdAXVm96skWZqxiNuGcfiGasre/wePDXKnU3CAkz5/EN2h751yj738N59JCU
9IMKTepLQFIuAH2hsT57ONggNmWHR7i1dsW53cNsJm3JB1xktrMDerwEyWF/UE4Y
6gMQ9AHzDItYXtzTynQcUTaIAdiow1cORDhIdPUoMnx+x0g8IRNFTDTDnwrtq4OA
vb9iQOXTPk5JgyvmFnTpe1aWBokPzREUsp1Y0NEJZNJYAdhRQ8iiyy0gWbyGPHsB
2u3eClA/h2jUHoH45uXvXGuNa82PodOmhfNO05BBdu292J4CjTtHjOuGq46Lcha7
4GbKvdAqBRX3liXvrvHdThCYR26J2mMshA==
=jpMx
-----END PGP MESSAGE-----
fp: ad382d058c964607b7bbf01b071a8131bf166e80
- created_at: "2024-02-03T18:52:29Z"
- created_at: "2024-07-17T08:44:37Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQIMA187ia82lSDGAQ/+IpyQWSsl7quF5yk39smz9Zn8LVAwc/9tNePehZkyCdpk
LNeCnbZGyeLDhPsQ762wdFX/f8W/8ZX5AqQI9d8Zp+kG2G3YtwI46FiFsz1zdiVT
lnxKjVER4FBWwlD2LAGl4MFIBk8gqKyzzvCAxR6CpybGMABx+LjFa+HKN7sH3i3a
CcpH+0+W2S0IArTexSGetrmba/s+t3g9hEzVPVPWGutG+XkSiItne1maqEbpkWRM
zyFaW+JWCDmvrXfP3qMUGeQI6x0otEpcYuLoFno93I/8N+UxIAijFTOK9kD+ZoSy
t6mW5d/BtjZH6/32JRKkEv2tFbt6NP9dqStNbbnhb5SI7jKLGcXVLMpSQvajYz68
91X9SOWYJCNZ1ssEnYBDUiVqQL0Jfe7UR5EplzJEo0zeWbV8bMTHAWxeioOHFdXn
aYzk6wgt+kaHshAjGbkKyMTWB/a3pTAkcc1v0Uc9SM1wPU9Cn+26GdH/sHLaOfve
7am6Ige+68/vgVTLPJ9C37wf2b4XT3/7Cx6CXpj54uFaDjZYpzGg1vWhtyZXl3m1
4gDL4NZdqacbsHlmWMTqYXYki+aSJed7OwjIgwt4G1KoKfYlI2fGOmGegplH/iYd
kxmdtnENg9011LcoXv3p/8TTOYkk3hArRkY0E37X+IEYnXB1EflTUc2KPRPDRNvS
WAGxqiAuTkbYQRfetrxpdOWEFe8iJydZA06vAbsiV7gZHSYW/LUtOS5aWp0WCwbZ
daODyvPT2chs44wa8xsSjHtRn/qX2S0sw/Bdzs39YSuq2yq7MVktNws=
=S7Zs
hQIMA187ia82lSDGARAAiujmxvgU7Q+AyxYPnpwvv7JG7MmKXCTukWqGSjOdhgrd
tkqKpD3ETyIclsv5aRV7pIb/vVyO9ozKI1kMdJ4qYIg8CSbIJKwIvIBa7eCUx5w0
SFv4yjRDrTNJ5tDxmKjd5rzo3uTlbeJJub0u0+M+acMh3xf2OngAK54quigmPC7Q
tflSlMNOa3byjRWx8voBSmP+njsjvXh0CqhMG+JXoTHduRf/KFxSkbivl0qeQoi/
+N8bf4TlNF3BW9iyBd37jovs7QUInSjznLpLBvZJv31b7Z89hS8IoGqrMdBIqssD
1SI/apgV1AhqsgY8SMYeyUwp1r8r3i9AgZVBG0LwKICn85O05NVqxPObvSNp+a8M
lA6xmmTP8HySGsTIqQvb7rAZh8D0lYi8Spris17w1q98OPFZnW6JhAfzvzz/dfce
laJ7IvQvZc5750U+/CwIFu2X3mnopqk2bObsti35sfdCzlUUUK4aYrPyJl/SbhT2
cTSqwbspR1bosMhrbSe1jco+bJP//5v+MYRjHDw23uKOmfUltka4/ranffIk3eYq
Adq8z1DjM+XB/O9kmsmU4i5OT7PWbNKB7bLtCYe7BsirWXK7wdc86oJkFIGo9ZAR
I53lZ+dFuSwL3mZ5wEPtafdLmwZ+s+p9lUat9+kIOCHMqcgz2M0urMjxc5LpJb3S
WAHnXWTGKRXdBJsZViNBKrBTOJbyfRJ+Sq+54FeVrVnpaehmk7pEtzWxnoHlX/cS
Ztd2PpUILJepnnFwM9y2LdqkC8ZWH3adEb7wZ/EDle+qsr8u9yf7fYU=
=5edM
-----END PGP MESSAGE-----
fp: a32018133c7afbfd05d5b2795f3b89af369520c6
- created_at: "2024-07-17T08:44:37Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQIMA7DEqu/04FqmAQ//erz91mhrLfbgFMBPqYnWFUncg6yAV/It7LadgnBEqgIN
SOq3ud/mjut7uqsBo89w+7tFbZaX37OpTGxpdyILdCQkB+UNOagWulTAh2Ubi4Qa
HaIUGxSGNcVTv576nBNzOdDhSOF00lw2R7VnAsEl9phgd/M5/Ktp+Q2qplJckPtf
4nGvgz/LZ9ui+SwPdtu3CGztUeY040s9ea0gxRhmfm+pCNS+/z1F7wN4Or5Jc65v
LUyzkzJk3umB94PvplIDStT/h1cmVpWvtYbhoea+W/ZyvBOMJ/MIJ2aoQfk3EZfm
MLIroFWGVaj7563lhUhjOHgwqV8HYXzgprtdKh/A0ocFhe3ba8QyP7xlD+MwW1QO
t5h82JCqSBqV/uf8jC4tcA5qbXB6aoF8pKlONeYsVLuQiPbXY6hzMBgN4V9LKSX6
5Ox6pCVN83iE0c1tv5ykfsgwNuDBu2Zj3Fd1jwA5s0E9qnqabUXEN7FcaGuM6cKt
u5G8AOCygTlShQE1xI6tvlRdhW6tzSPnhNEHOe6ov9a5TPn9FBnYjO5YmTlKUPvy
Pqy7iNr/1WkZXVlybgEG+W3wdjXLbyKc5RKXrIs1Em4KXffGL+diWBN+WXMZnhDc
4pQwu4DzeEy1ATg3nwU5LdFw0Q29QMXkqkI2KeIISsv7EtGu8PIAUKpoAHBzGjvS
WAEWai+NnYWLUMlV3FSakD8CWcwZF3HIxBzSJplEhtE+9h22/qPtn2W986hHFJD6
JJdOmFoxcHJWIlpnrJcU6SGahzFz3GtJJ2HH0YLcd1d147RddNuDPqE=
=9mRv
-----END PGP MESSAGE-----
fp: 4ec141b4dd5a00e108b36211b0c4aaeff4e05aa6
unencrypted_suffix: _unencrypted
version: 3.8.1

View File

@ -12,40 +12,60 @@ sops:
lastmodified: "2024-01-21T19:56:04Z"
mac: ENC[AES256_GCM,data:xN1KZRMsonfC6/rcQkuBsh1TtRAOaeCWM1hlWsIBuZ9K9L2FlsM5u3lfZMp2yJ+yRvVvZCnu/pTP1AIwxuyW5Js76d++5/vSYlvsEvq9OHhXm8fsmGBCC98uyAYt13fwov9L2t4K7MJWiIlQrxs83JzW+c1/vrtRnsye0cicALw=,iv:TaMBxcRE/MbuCM5mbSuHvp1BKJogjIgHsPkQyo/yTvY=,tag:mJ6a5usXRRLMYKMT+x9New==,type:str]
pgp:
- created_at: "2024-01-21T19:54:32Z"
- created_at: "2024-07-17T08:44:37Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQEMAwcagTG/Fm6AAQgAjUn6RMsBeIcxqgxVsf6anibjuVcz2ca4xClZOBEV6xgi
6zmys8FtlFyj0u65hJYK1eX314oZ5A2ZNuMCTHpyZrdYXY5NBW6oSrDe9a9CnGDK
HHh08+Hy7Z+PeX6w77G7am5cqpzVdH/851Tx13NpX5dqzwmD3eMqoSpZnM6Rjcqk
GK/KLinUF8kiamW7bjFz4AZnd4Rz0bBKAh3DiXKIE/9JB2Zr8vFImRQhPhMRA/Jm
sBGLQgKktEjbeNuhkWiIGNtCA+yBYPMo7/wyRlum/M6EcGii6n6ZbAfExYrhJssr
hqO4b+fWnsxoxFFWzXwjvdsVK9OjFHoRwXkuiuNIXtJYAfacpz1Kl1hH7QkfBOBy
Naatz4it663TxXiMb0kXcUssouc1wACIUTQdTWiH6y9co/Xi17XUpeS314gO1q4F
SFjKXqc7K+o7xU5+4zvIJXnJ27qDoM+6mw==
=/srF
hQEMAwcagTG/Fm6AAQf7B1UdwSZwByEgQcxtFW1SX4gB7GoldGYEiWwjn4QsIq9n
K1fPcQYtYOo0Yv7heMguG2PN2VqqkV96dTHEonn5ObUr81NQXL1rQIUQZNNihhte
zmHleImqly2YuiGJOCbpDpFY6P3r0HijiseYgQZ4NFM1lYz2+2MzTRs6K+KCzCKg
ZCXIyysXfx69dzZy/c6Sur/w4TiD4+LdxmoqC01vvgRnyfkvuYshhbmZN4rQoCcF
tkQEORN1LoKlrwvGE7yANxMjOwMgeV6Sp5iDGrAANZAB5TiSgHZzYNT7TTQXvso0
41P5Y9jetGSg9KrZdZ3GuFlEkEeMfb+WDiQ7XjIJsNJYAUR2jBcX9ZHTV9BOkvAU
yVRahaDNLbozapr2jzaTy5IrYEUdSdcLsfNBYbI6NE0b/XzULlFL9XVisdnR7pJE
+yMhnPeUuYYHA0F0oDsRbByJBmFFchvqUw==
=6ONJ
-----END PGP MESSAGE-----
fp: ad382d058c964607b7bbf01b071a8131bf166e80
- created_at: "2024-01-21T19:54:32Z"
- created_at: "2024-07-17T08:44:37Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQIMA187ia82lSDGARAAqoK2KPPBJIr7BeBBaOHMzLKw5CNBpal9hjlKUS1vUnVh
/GMGXiprnOQzhlJwR7EiLuxHAvAUVcCbFCe/gcLad6WDpzYiBzWJFamSWTIRslqR
HkO1YBU+NJySUy5AoSlatv27qFHL7whLb8i6MHfJDd9fO8+l7k1y2Hf46DDcf4Bh
BWxnBZdk6n35vb0hZ9RxvmJg25uWdNDrBjaLMeJUy/NxOsmWz7Pa0b9BIZgfXKj8
sNM0ehBPkREmSn+cRI3rL9UATjY5Sot3fMc0IRFWZZBWTfECotLsF6zZ9JNMhiK9
CfcoiEl5godRGEE7shDE3EVQjsYuWdOYtzvbCR+uRRLeg1LAd/+sf9xztASg29LE
6O9KTRwh9halnvZ1X/39ZNptPA0ZgyiDopsmjqW35myBRYD+M66Ae02I/gCGB102
YmVOZ4yVWU7SWhiwU2JY+Eq2NE92Wt8Vr1r5K4FACx0DdBXiTDd3E0OWzZDT8K+V
AAZQCtpBHssESYqoFGVpUQxhwApyFc/x7bdlkxpzRsUc7RUINq6rC9eCOJdceT0F
JPcMJMx1cJIDvRSpSFR+ueez8xJ6g8gF85Zk6tVTA0TD82Z3OEIt3O5iLDyx9qc8
tbiA75FTtLEFmthWMg1kXZz5CAvsbQGRugb+wZLfnKpDUxJigCd6K/sGJWtYwQDS
WAGIPH6oSJkI0Ojev3SeMcV6D10j8uDqRKUaxzmQ93v14v54nvwsUEnpEfIZGIyQ
Q2ykimRQVSXcme67jebbiye3jh9z8wtfQbVFDFTg/h7gqyCQQhr4joQ=
=NHea
hQIMA187ia82lSDGAQ/9GLFJmBngE9GYrIqwBvU7lSonIgR5oTI1Ktz5TL/Suzg+
+6BrEqBECilolR3boMQQwMXKsqxacilQkw3Nzp+o+0ujCaXtxxO9koTmiZUaEIJ9
GlbKYntWCklw44M4e1zPX7xHc7OoDRnEDWp8ZsKblJFHOiUFbLSLM4nohqp2Hsd2
EfmiJmmFExvjDvPeo+vJZTI6hSiBFacz8K6IWRkUI3kpm4TvLncdhpu14SuTBYXT
x0nIwvo6vvDOJ7RXz3CZxvchfiyN7pjpruG0URUNbA+RhsPDXUTV7peozLy0VPrg
wv7BdfpdoxT0yN2eKsSC81RLGEu7Th1BxflEpVpHP1+gUYcS7BVYBmV7Rtbz2aJ7
HBqcu5cmzTu/yip9/rRQfj9qMjICe9WhjOSFcvbA7iBy/NVaRA8gRIwThokYNKyI
odri7rD8bwiXcNs23ogIttEh1Y2ZDXrHTtxhb23Mhbv/vi4gxxsr0Z/Da90OL/Ew
V/SnzQDetnu6lT2VO/8WcFTFHTQ5GR4EvlCprcCy3tZzK9ZXLWYN+CrvK4AtkFKu
L2SuUm6pat5gCyE0Nmt60yDVQ72Wwnj+1EBkgzGRC0P8ErVoVi+SmOI6EAYgExjG
qLeMgI3bSkmVqq5Apvu3Q5wF+i/ixhg/1bdtbcsh/juZql8QEWt6kWOTSSNDvmLS
WAEzt6o36tVwWEq54Zz5nm4YSuQkmz+gaMTp/FKxQBO596JLXTSR/C/MAHgv/v39
hu7lOIbHiusS3zAfvBUpOC4EMreMx/aVSOHN1+tIJErnQSd9KB9F/8I=
=3ins
-----END PGP MESSAGE-----
fp: a32018133c7afbfd05d5b2795f3b89af369520c6
- created_at: "2024-07-17T08:44:37Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQIMA7DEqu/04FqmAQ/+J50vkaQ7ttyXs14xPaJ0ZV2eOFsrZOA/PC+IHXymxvzI
h9XwZBZsf8gcjN5ll9qvWZEjmI+7cSB8vjWY52PXpZBXsMXOj+GYeJy2E65zyF3K
VjC+vGxHHRCxuj4+7sKb5xN5TKGqgnJRJW0c4otJ7kR7x4cyOaDrg1udUwaammDa
SDrw2rWNXx6WpJv3rixPKaYGdAxZ+LYKpuvxPfXcyZIH4WpSlkSlYTN6Xp2vKBaL
PTd0ObjYU5C4MkaFYKRHqlwJiK8LPDkzi7r0QsiiSqiiyIOlOyeIkwgai0DP3WBN
E1WLmDXWq5nDVMPIallvkqRHiTD3pJBNpkm77zIewCbA0TlvWZiaH+ha6aTeM00p
4seaNCpIi7ibLcuCOz5FcqQQHTXxDQTt+vwhuFkv4etjq/2lXoRoAYpMug4acJbd
09enfg5YKx0S06NW6f4kZ1j9Zp33fsuu8t+ZSG+2ivO17yhCTNFW4P7WsXLsWa8w
efuDi5wnh7U4S/jpuxUf9dccmE97Ft/V4WWQzgSe892hh6zlnk7d21ri/RvPaipk
YG+Vayena7bNMNlHQFST/0ZGF5oklqlr/lJDXg2M2FLOuucINmvINeZ1Ye0dwotj
ERYn9Fr3FtuGSlOf4GpaGR+oyM9TsnDDk9+R8R96AmKBEzsOlrg+ruWl4UAK39XS
WAEe6AOKdV7D5iKmiNiCSR5tpNsXx5+4NNxCrJYunkXf48MVQsmdY62wVXXlaPJt
7P/O8DFt1C6hKe2j+rOl0bLx3SD7IQnWaD6Jl79A8XSH5n+oIhIfPQA=
=fqox
-----END PGP MESSAGE-----
fp: 4ec141b4dd5a00e108b36211b0c4aaeff4e05aa6
unencrypted_suffix: _unencrypted
version: 3.8.1

View File

@ -8,40 +8,60 @@ sops:
lastmodified: "2024-01-21T19:21:33Z"
mac: ENC[AES256_GCM,data:tU6ahE5bZm30YQBn8uHwxJQP79w9R0jvfwjgYx+VF3xek+2RaI2qRygCiJercSBP2doUag6YbUoV+hvQJW2RdLJijgZOr/+XM9fhYP12rg6uDscf4aDGsZ91GjpeLzNJ0wnLV5xbfD1D/PSR+GFFPN4cxOBGfaFdFcIeXq+BqQk=,iv:p0ucdbdNtbmmnv9be0H31dR1rIGqwHZigXDZxLQjAQA=,tag:vJopxBMM1sHlNMiupRgqpw==,type:str]
pgp:
- created_at: "2024-01-21T19:21:08Z"
- created_at: "2024-07-17T08:44:38Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQEMAwcagTG/Fm6AAQf+OPgnKY9qa4eg2ZiLNPDoVeGkV+r7olXBjMlo5JCCasup
RVVMhOFM/LQ7XKrKl8IL8rO5tPZ6r/vn35P1l7mqoKl2J3m+q33J+z0UoW7240nH
v+FvUy9+15PBkZJc4ERQTS/tmpxUZSKf4bUKBCXUY+4PlkS9ZdGWvLgXD21/MXVb
hG42mXOOS/rvu6rxcij+wGreBcyxH+DZA7OCVe4fd0x2VoapNvBJdbyBTwhk1X7N
fI9gExvVYD2226qWavOXxsxb8fVt067Icjjr55f2cBgSq4/aZ3zftD4LkIdUKrKy
19fcYYvvbNCsJpu+odB2371fnTb2xyt9nzaVvSADHtJYAeaLl/iKMzVMfNWwOJjh
LxXNMYXqzIhgxQvh/y2OiSnVoaTJJeburS0wmu8tlXRIOCRH3Ty6P4yvkIqwIPjp
zJXP6VwpZPzd8/99cH8578tetIrB6SqefQ==
=Q2tE
hQEMAwcagTG/Fm6AAQf+O/USmN+W5tYw0GSOEs/lKdnaimkscGCxexCA03qttMfG
FUD99DndIHNdvuqEKSjuL/ZziOlkuGrjlDtQvTiFDrHIXo2rJwRaHdQ+r3ZOo4mB
UWyKs4TmfFhRbnFH4vIcdBTH2qrQux77UUmRYMoj8EzG5+nJSXdR4kTzkeQ/crmP
z1+rjq/yX+28GVK26RF7SzdxBhRGFnvkWyuihwDDnRWtxUrmKxAql7M+/wpcqrVz
lhx7rpxZ0zpwQg7XKZ0mND3GjTSnAr2zBvVWYjcPaXQXkyRAgY/AEgr/MxcMaCWu
MiNAcmFQ1o+wY8PsrFlNpR5cvBLIbrWNl8QY9PmVxtJWAfd8K8QDXaJCQrghrXuz
FCFKs2fuc2ZFF6pro1pLr78YAIR0AujcH55ulyfPZ4t4FEHUiiOdGneAz63VNFLW
KMAtgGqAmVr1mtezD36zqsFF+YMP9Jc=
=QgN7
-----END PGP MESSAGE-----
fp: ad382d058c964607b7bbf01b071a8131bf166e80
- created_at: "2024-01-21T19:21:08Z"
- created_at: "2024-07-17T08:44:38Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQIMA187ia82lSDGAQ//Yt+NbWgqHwbatH0rdNd8AmBAsV33rCorP6wud2Ar6StG
4SWJ4f2bXr3KK9oLFGa0uqpL0i7WjlJ37700K8uBBImt5Y5krD2wbKAmRecsSjJy
olMskNWll/4xOe3P6kpyVs9uY0Spk7hEqsikPNsDw1tpeZPAgNnKleU8T/wtxBJt
iMWppg76CZF/t8Im+HQfciawVv1MVOQ9hZZMfBImlZEvW2nPfksI/Obnn3mCKr1C
Vr+4gRQh1qorc35xlqQJpcZ2j8YC+rXjdRaeO1NZFwAb982R5kw0GTil8twPWecy
dQ2doG1eu/8iSbZhroGU/ZrEyu5VsknG7i/RzucGULvm+HKknyJ6oYkSkw8uzNFc
v5emrWBrsVFg+IILf2XKlS9ZEo6Rv5slv2YelN50/39JV6B058E88QmNJIbhqszX
AKpwC2zJYTOqDZQ5uzBokbzp/2NC3YZE+18zePAUsWEXs3SvvEgaSvi4DuQ2Hl6u
Ds+ATXDyJpZYwFJKao1hBIprpPoSewJC36qQB9k4l/VvzsFp9DD/Ir5yj1JXv+N1
OPerwZepRNJF2dR5EMLX3WmpJtdLGKWuj5VsWBaQoFkGR2AsM0VPX+0IYvLbC1Gm
kvFvK/K/0xCM9irOT3oqhq5ujaoz/2bYKFOOxCBdzGerb7gTuwgJm+khfNAC3B7S
WAF0M3H2jVoxwbLzGBbi/t5DcMHDllMgLu+LcckfnmEaAKAKBZDmomoIpjUKvzbm
0kzkmf8Fj4bf8N8hmz9im+UA5O90lEOzf2wcUCdhAPaM1P5K3RA2Hl4=
=u8Zo
hQIMA187ia82lSDGAQ//aaQB2ujCizriuvrD9R2B0J19dIfFuS3Hs5E650hDHmLX
aD167Mpmdfkyxr8acUumjJoGePddUYNfiSbmJt8lehKMh3R7Ifaz5NJqbGSWVGa2
JoN0oD6a6QPWULPjpKIGLqJzou98RvC1OaL0siWDREw/3tKx/q2dR3J3Yf5GPYGo
BWXTJeH6JgPLTBMzs4YEMCrj0BOB7yxUrXc0VyI36cg0RJ6bW04TaMdTNtU8f8PK
j59O2Fmxsz1zOzXqWZZ9/jDJTKWkEv7WLftlvufGBdpu6tpe3fGxjdi7ioNZZwaC
1N6HuWlx3hB0rRLixz93lsz9d2XMnNK6tbIaudyUicelXcL83DTMD/0Yzq/ikm6G
+GrZxyfPU0JywQ1YoSO6rS+0Cssofii+j1MKGk8ZQTE90uCr8sAmbztjuEvyH7Rl
Ds7XK132KNPiMyTux+MWqEFV7ExswcC4mL94N1ZFr8IIG3dXtoETpLnzD95vi6bm
mCWI12FEvkcXTssYM8YPDX7ytdTjUaDwE34fbTW9DK9wwNJvJKDLsTJLJfH7oEC+
b8IaGs1M9hwm9FeyUJIQ7BfOmqqZk48cCZkDgp5ialxp/Zmuu+jj0zvsE0Q5O6Kc
/spmdzj0+H2JyDmnjTfvKB8Sw9ftsyrjz+jB2ZbIB7jtRsKngEPdSOxzbFSbsFzS
VgFpwDKRv7lD7qKE4YEM0IPhzLjn6isDO9Kh/Ni3qK/TZoJ6vQsvgSbzQYxR2F9U
EUH0Q3+RpVzVeUY2TEdc7W2q29ypdvM6BSx7ithvUeuTNxIlRorU
=RFsl
-----END PGP MESSAGE-----
fp: a32018133c7afbfd05d5b2795f3b89af369520c6
- created_at: "2024-07-17T08:44:38Z"
enc: |-
-----BEGIN PGP MESSAGE-----
hQIMA7DEqu/04FqmAQ/9FN1Ef1DEUMMqV7K4jQKhL4nn3V/xIm75v/+tei0yvQ1p
O8EwI7XA9eKeTrMux75rsiPFb5E+CW6QiO97G7x+Pz10pTAeeT13fXS3H2pFNvND
B0L32Mt+sxaCc83MfnSP0Kgr+0M/57/ueYOJU14vgKM0Xh2QP6GrQ/h0rWfUkV4b
qTdCFj54v5YfA7bGS99xTLkGj9lRsOcUMsjBiI7JQTGt2poK4YaoayZNlHucbO4t
35nyo9d3Uk4IVufEyZ/IlUUtEo6kQB1zq/NRvJXxXS+iEPlyTr3+yglcfO+HQHPv
DwNSsvD1+nJDEtScMO4vheW4NTmbJDPTciV46WT0GajhvUA8YN77AyHf8H5ZZm1c
tkSFU5CsHexrR7AkotumcnFUOW37YLyrbZvSRaZHpnDrdc7lVG3iT3ts5YDtzD4O
SiSWViMttIj16wykB/LdtfogSbNQnuuZEG1fLrp/xUy0SXe4YiGMLCUfI512hScW
F6xwEug3CN8VmqhichXZ2Jv9hlVEVudSZlHMN8/87AE60bS9ayMYPuvOQn9TY8aa
LQmVMkapqw7gHN0sLGFdGVGufvGcUltCFBOUURL55N5fIGdfZ5lqqkYNClgegVEt
5R0pbdl7MbzKEDC0uSs8DEpVwH6P+19r2xlKxXfkVLEqvQ/8xoZfxyGJXKxD9gnS
VgGLTH0jPPuZGlxqGIW5h9Vcv/y2zQl9Pug9jRsCnq5iuvZfoWsrZxsRolI4fp5N
zFukFflB/7B1C5xZbUSkhJ4E6s65ffx2MA9pe22RrKelFOJGlmeC
=4LZA
-----END PGP MESSAGE-----
fp: 4ec141b4dd5a00e108b36211b0c4aaeff4e05aa6
unencrypted_suffix: _unencrypted
version: 3.8.1

Some files were not shown because too many files have changed in this diff Show More