diff options
| author | adikro <adikro@disroot.org> | 2026-05-31 23:41:20 +0200 |
|---|---|---|
| committer | adikro <adikro@disroot.org> | 2026-05-31 23:41:20 +0200 |
| commit | 66eff7dbb117ccf9cbf743036f058d5dcb0a78e6 (patch) | |
| tree | 2bfc78514ff3c3d2b3ebf184b4e1608e454d11e2 | |
| parent | b02651ac4683d6f116f912d79a7b158c127e4ea2 (diff) | |
updated, revised some modules, cleaned up secrets management
| -rw-r--r-- | .sops.yaml | 2 | ||||
| -rw-r--r-- | flake.lock | 260 | ||||
| -rw-r--r-- | flake.nix | 7 | ||||
| -rw-r--r-- | hm/soft/chat.nix | 10 | ||||
| -rw-r--r-- | os/core/bootloader.nix | 1 | ||||
| -rw-r--r-- | os/core/users.nix | 15 | ||||
| -rw-r--r-- | os/srv/aide.nix | 30 | ||||
| -rw-r--r-- | os/srv/clamav.nix | 8 | ||||
| -rw-r--r-- | os/srv/default.nix | 1 | ||||
| -rw-r--r-- | os/srv/monero.nix | 19 | ||||
| -rw-r--r-- | os/srv/nix-helper.nix | 6 | ||||
| -rw-r--r-- | os/srv/sops.nix | 11 | ||||
| -rw-r--r-- | os/srv/ssh.nix | 30 | ||||
| -rw-r--r-- | secrets.yaml | 99 |
14 files changed, 335 insertions, 164 deletions
@@ -1,5 +1,5 @@ keys: - - &admin_age age1y8hkdaq5yry0gnlwjtvp6npu028zpgf648wcr2sr3s6q4dyxj96sv5a56j + - &admin_age age1pq1uq3cqs3h5wmr3yqvu2hjlsu5hsyg0md44efmwxjpkfreafvkg0d53mupsghxqjjd25p3h73ekpuuszhx8ef5npu5552yp7ahjqkye76xj7zf5aznzn8wp4xypcrqjuy8k9pt3xcsy27g85dnlczvpcded4lzk3q6kwefn6txnakxpdxj9hxa83xpumqldkp2ufmkrgpzd627hdfr9d95kep3nynp0f5xdzghp0h7wx0cugc85h2gwcznjjn9gy2j4rp2lqauq5rej9kxp4gxxayp032pd7tnpwn5qmfmqfqewj4u835ha6a9x8p5pg6qc2f6vg02ajr3dkznj75c3q9pf65a92w5ke87vepg7hnjprdfpcm5wxy6f34nj3aqpafpuj33qscc8gfzcv2lx2d53hy53nzgexhnppg0zqphj0ye0l4rvgqvpvrgvvtewv7qszcw4wqeuqkuefwmk7ad50p7m2jaeyg6e7my5kayq0g9nw02rf93tusqpdzgv7lm8g9fca9yy92rldefxqtxnp0u24966ukgzszg2rzszxwjwcd5wqls2m8lqq53jkd4kn64fsyj0ppzswryv2pkgvmhygx4zcfh5zcp5fgggsafqkvnars3seht3f3mc3ms8xzap6mqld4kn49ypfu8kqyvuz53ucpultcvegl5tfnue3mjmygz306jvzry99fprj72q6ulmlp9z07gazafsu0zx0kewyc73a26urg874yrz3znx7xssewpued7h9qevxf3zt8jr2q9xd7af93egep87hjnh0q68gt45lqvg9qvz0scxxu4fx4nvxacsuqsx234tkeqtttfs6tkxrrked76j0pu4acga2ptkzafjtjkgsuyt3vdrwzs05rvjhztwsymkkpanlpjdpeekt8ffpfhdwwj6zfdw3fwz65fc6fehygws636yfeem5e88kz98xvtefffw2v7lzsv29sjfacsz4a5w9aw2ee0ys98ddej5qyq8p3ne3spny8qvwszfd987xgx30u64927cflmsktjs7nemmzg3wtfvxwg9vhrcmxyw2upznrewt8gfkw4zjadcgjeea79a9dkvlch3la724camwch2u3aaw26k57xrnm0v5effjstxnqzgl9fd9k92v6uj9kky7ltvf65zup5hgwn3865ypa73sfaugqrfygzwkkjt4p6j5tafsgchjyespwg9dfx5rkhqq8e8xgd6d2u2msn39zqzp46juyezkeupdd09rzfzj9xee0szszuvdz7l6ddkfn6jjczq5j638fh5cxywj5dq7tenp3q8rlyv9xujggnajyl08e4hycn5tw7gq37mwl3hjrsm6ppaqg9gd359r3zf9vnxg5whqfecq6tenk293qdj54myqd6znse8ng2vrnz2tw7vvgnywgxa35r22t436xnxxq8f39kssdfpytsqnsyyzm6j0pqzuurn9jw9w2qxg5vga9aq4l8q6fnf2zu2pezmpup9at9cxzp24f7enz3gr2nta9x4sz5r9dqvxpcv2fpk8ser3d5wnhq4367w7q4ywmmax346ghudlmjwgec9x27nggge2rpqwumkqufx24lt3guk9xqvvjv3q38ckxvzc27gzuef3xpjxpzfc48vqsuewd6x6lg9464tj28gyjr55fvg07zn3m2hfyggwuy8wq4cy6fn07pwy4xpkv46vk97xe5skuuzmn389kuteuc4v7y3986j3hcfnypxa8f5snan6yrlt2rp95549765zg9jxezge9r9lk9dqlcf2vlpjhf3cn87xs5srw9f3g208f4p9p4wsmfdnfwfln4qfxkx4m82nm7f7n5ur5yd3yd53zrssqmxjuvqucfk8hwetka0g9p7ldxm7a623axn7zps3xe8g8kx5eputp7f9atwv0a7nmq - &host_szpont age1s39d4mdrjhkf8cy8eea02p836r7s875fj8f7w3z4ld2stmaac49qd075ww - &host_thinkpad age12htxy05mlkaqx7q6m5wufkqnnvhmhe4nfsr5ljlwkdk0u59f7ujq7537fw - &host_pendrive age1sx8ut0arwlrp7n7qvlaele8mq93pyvzc0ddetlk47cnyx935gcusdceq9q @@ -85,6 +85,20 @@ } }, "flake-compat": { + "locked": { + "lastModified": 1733328505, + "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", + "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec", + "revCount": 69, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.1.0/01948eb7-9cba-704f-bbf3-3fa956735b52/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" + } + }, + "flake-compat_2": { "flake": false, "locked": { "lastModified": 1777699697, @@ -100,7 +114,7 @@ "url": "https://git.lix.systems/lix-project/flake-compat.git" } }, - "flake-compat_2": { + "flake-compat_3": { "flake": false, "locked": { "lastModified": 1650374568, @@ -116,7 +130,7 @@ "type": "github" } }, - "flake-compat_3": { + "flake-compat_4": { "flake": false, "locked": { "lastModified": 1767039857, @@ -134,6 +148,24 @@ }, "flake-parts": { "inputs": { + "nixpkgs-lib": "nixpkgs-lib" + }, + "locked": { + "lastModified": 1778716662, + "narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=", + "owner": "hercules-ci", + "repo": "flake-parts", + "rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb", + "type": "github" + }, + "original": { + "owner": "hercules-ci", + "repo": "flake-parts", + "type": "github" + } + }, + "flake-parts_2": { + "inputs": { "nixpkgs-lib": [ "nixvim", "nixpkgs" @@ -153,7 +185,7 @@ "type": "github" } }, - "flake-parts_2": { + "flake-parts_3": { "inputs": { "nixpkgs-lib": [ "nvf", @@ -174,9 +206,9 @@ "type": "github" } }, - "flake-parts_3": { + "flake-parts_4": { "inputs": { - "nixpkgs-lib": "nixpkgs-lib" + "nixpkgs-lib": "nixpkgs-lib_2" }, "locked": { "lastModified": 1768135262, @@ -294,11 +326,11 @@ ] }, "locked": { - "lastModified": 1779678629, - "narHash": "sha256-gHcIFg0mm+KFsg7iZQt67kni3+qR5U3PhEC9P7vKlZ4=", + "lastModified": 1780099287, + "narHash": "sha256-efIPwVGtIWIjWcznhaop6XN6HxnOL8800hF6CBNvlqQ=", "owner": "nix-community", "repo": "home-manager", - "rev": "612bbe3b405ad5f71d7bf9edecc04b678a061652", + "rev": "7d8127d308c3fb9664f7e643eec944be74ebb37d", "type": "github" }, "original": { @@ -337,11 +369,11 @@ "spectrum": "spectrum" }, "locked": { - "lastModified": 1779641751, - "narHash": "sha256-xSEiY1kZoCHX7bzeDe6fzwnaG9Mjd/WrJ4MEWJghI/Q=", + "lastModified": 1779970379, + "narHash": "sha256-ZHsxoYXXnfJtMVh1/yY+1Eh9hHcPBhE28Qvinauh+BQ=", "owner": "microvm-nix", "repo": "microvm.nix", - "rev": "4fe5ab55ef830e4b2d82d37ef7a5aca6e7b0e5f8", + "rev": "0d49083ba2d7419b22908ac392777c16df9a032e", "type": "github" }, "original": { @@ -434,11 +466,11 @@ "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1779622619, - "narHash": "sha256-CoyW4Uy3DEpI252S6vTV6/UeQ+6wsIHvi94ggC1Ev/E=", + "lastModified": 1780062130, + "narHash": "sha256-3XF+oy0PX4aajJw2RNB8rlMpyu0eXCG4pGH7fe94yBg=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "f9e8b871f11137d4b9e15296ea134522dc7a7cb4", + "rev": "3cb351d73c357a4e413f59c4551d219118791c14", "type": "github" }, "original": { @@ -467,11 +499,11 @@ "niri-unstable": { "flake": false, "locked": { - "lastModified": 1779374863, - "narHash": "sha256-qKWgJ2MUODpg+b8tOwWMdMKREvs8TdGBz63SHaQZCeA=", + "lastModified": 1780056110, + "narHash": "sha256-t7lKVshV/srD0G06j4r5P5qj9zaDeZ9JYFCxHDGROZU=", "owner": "YaLTeR", "repo": "niri", - "rev": "4294948cf1c70c50e938383c2c865d7ca455ac7e", + "rev": "f9f43d826ab4014a7c302be28d7da33e12f5be37", "type": "github" }, "original": { @@ -487,11 +519,11 @@ ] }, "locked": { - "lastModified": 1779605004, - "narHash": "sha256-RXaQ7ekmygWbLkkMU8LCbaV3cxLeE8QT0vMofACaRdQ=", + "lastModified": 1780210657, + "narHash": "sha256-6IwdQqgEJZ9wQ8vWuA39/w+JR+cJX6SF05NwpCH5IoM=", "owner": "powerofthe69", "repo": "nix-gaming-edge", - "rev": "6269f17b0cb9f640731babd5bf04e2f1d10525bd", + "rev": "94a16567641c4f6dffa22fce90fde36c7f4fda73", "type": "github" }, "original": { @@ -500,13 +532,39 @@ "type": "github" } }, + "nixcord": { + "inputs": { + "flake-compat": "flake-compat", + "flake-parts": "flake-parts", + "nixpkgs": [ + "nixpkgs" + ], + "nixpkgs-nixcord": "nixpkgs-nixcord" + }, + "locked": { + "lastModified": 1780158792, + "narHash": "sha256-tAGrRIQOi11zwl7UOLKkNsy3owVTE+/lDU1MJT9K2Qw=", + "owner": "FlameFlag", + "repo": "nixcord", + "rev": "d0a08d06b3a00b1038b1780366180068af7c1489", + "type": "github" + }, + "original": { + "owner": "FlameFlag", + "repo": "nixcord", + "type": "github" + } + }, "nixos-hardware": { + "inputs": { + "nixpkgs": "nixpkgs_2" + }, "locked": { - "lastModified": 1779258371, - "narHash": "sha256-j1iZsLy6oFApqR1oiDmHhvkwxXqcNi0aoSJj643LuwU=", + "lastModified": 1780065812, + "narHash": "sha256-SCSLUKBmwlSLGQ8Xbr8PjRFtiHNk0l9ktqkcmqdBkfE=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "c97bc4d15bd3473dd095e8e8ba57330ab1943a77", + "rev": "b76b5639c0593e0aeb0b5879ad62d4b30596c144", "type": "github" }, "original": { @@ -534,6 +592,21 @@ }, "nixpkgs-lib": { "locked": { + "lastModified": 1777168982, + "narHash": "sha256-GOkGPcboWE9BmGCRMLX3worL4EMnsnG8MyKmXNeYuhQ=", + "owner": "nix-community", + "repo": "nixpkgs.lib", + "rev": "f5901329dade4a6ea039af1433fb087bd9c1fe14", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixpkgs.lib", + "type": "github" + } + }, + "nixpkgs-lib_2": { + "locked": { "lastModified": 1765674936, "narHash": "sha256-k00uTP4JNfmejrCLJOwdObYC9jHRrr/5M/a/8L2EIdo=", "owner": "nix-community", @@ -547,13 +620,29 @@ "type": "github" } }, + "nixpkgs-nixcord": { + "locked": { + "lastModified": 1779102034, + "narHash": "sha256-vZJZjLo513IeI8hjzHFc6TDezUd4uCE2Eq4SNO3DNNg=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "687f05a9184cad4eaf905c48b63649e3a86f5433", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-25.11", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs-stable": { "locked": { - "lastModified": 1779467186, - "narHash": "sha256-nOesoDCiXcUftqbRBMz9tt4blI5PvljMWbm3kuCA+0s=", + "lastModified": 1779796641, + "narHash": "sha256-ZsIrKmhp4vbBXoXXmR/tBXA/UCsAQiJL9vsgZEduhVY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b77b3de8775677f84492abe84635f87b0e153f0f", + "rev": "25f538306313eae3927264466c70d7001dcea1df", "type": "github" }, "original": { @@ -565,11 +654,11 @@ }, "nixpkgs-stable_2": { "locked": { - "lastModified": 1779467186, - "narHash": "sha256-nOesoDCiXcUftqbRBMz9tt4blI5PvljMWbm3kuCA+0s=", + "lastModified": 1779796641, + "narHash": "sha256-ZsIrKmhp4vbBXoXXmR/tBXA/UCsAQiJL9vsgZEduhVY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b77b3de8775677f84492abe84635f87b0e153f0f", + "rev": "25f538306313eae3927264466c70d7001dcea1df", "type": "github" }, "original": { @@ -581,11 +670,24 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1779508470, - "narHash": "sha256-Ap9KJX+5xHIn3bPIpfNgT6MEXdAECECwo4/rmlQD74M=", + "lastModified": 1767892417, + "narHash": "sha256-8bW3q88CEg2u4hSP66Vf4lpbLonHz7hqDNBMcCY7E9U=", + "rev": "3497aa5c9457a9d88d71fa93a4a8368816fbeeba", + "type": "tarball", + "url": "https://releases.nixos.org/nixos/unstable/nixos-26.05pre924538.3497aa5c9457/nixexprs.tar.xz" + }, + "original": { + "type": "tarball", + "url": "https://channels.nixos.org/nixos-unstable/nixexprs.tar.xz" + } + }, + "nixpkgs_3": { + "locked": { + "lastModified": 1779560665, + "narHash": "sha256-tpyBcxPpcQb8ukyNF7DoCwfSY3VPsxHoYwj00Cayv5o=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "29916453413845e54a65b8a1cf996842300cd299", + "rev": "64c08a7ca051951c8eae34e3e3cb1e202fe36786", "type": "github" }, "original": { @@ -595,7 +697,23 @@ "type": "github" } }, - "nixpkgs_3": { + "nixpkgs_4": { + "locked": { + "lastModified": 1780030872, + "narHash": "sha256-u6WU/yd/o8iYQrHX3RAwO1hYa3LkoSL+WNQD0rJfJZQ=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "e9a7635a57597d9754eccebdfc7045e6c8600e6b", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_5": { "locked": { "lastModified": 1744536153, "narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=", @@ -613,18 +731,16 @@ }, "nixvim": { "inputs": { - "flake-parts": "flake-parts", - "nixpkgs": [ - "nixpkgs" - ], + "flake-parts": "flake-parts_2", + "nixpkgs": "nixpkgs_4", "systems": "systems_2" }, "locked": { - "lastModified": 1779683452, - "narHash": "sha256-Ksx8jghpDBCPDiTaTyGhYUXG1BUwqPjf5pajl0q0cqA=", + "lastModified": 1780235872, + "narHash": "sha256-/TTVFhJQ5StCOrRFO+5NfSkYPSbAAekwymovcQzxNgE=", "owner": "nix-community", "repo": "nixvim", - "rev": "afec1bae0e6f7983a5c03ec559f7ed2ec0e714a9", + "rev": "e5c7b40dc569f5c97ba2182d409f0fb54c02d7c1", "type": "github" }, "original": { @@ -635,8 +751,8 @@ }, "nvf": { "inputs": { - "flake-compat": "flake-compat", - "flake-parts": "flake-parts_2", + "flake-compat": "flake-compat_2", + "flake-parts": "flake-parts_3", "mnw": "mnw", "ndg": "ndg", "nixpkgs": [ @@ -645,11 +761,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1779461836, - "narHash": "sha256-iV6reLT7o1XfofI+mLuFZl7TdDXzsnniXge6aFXjjrc=", + "lastModified": 1780042000, + "narHash": "sha256-RxFOqPMAlbWiWwh7CQ0bIHIdt4D5gAttx3YVifBBWgE=", "owner": "NotAShelf", "repo": "nvf", - "rev": "21849b62be17c6657accbf4e0c9e1afe57e27ea3", + "rev": "07b57ebc6c9e778c536ac0ff1b01fb18dc90239a", "type": "github" }, "original": { @@ -706,7 +822,7 @@ }, "otter-launcher": { "inputs": { - "flake-parts": "flake-parts_3", + "flake-parts": "flake-parts_4", "home-manager": "home-manager_2", "nixpkgs": [ "nixpkgs" @@ -735,8 +851,9 @@ "microvm": "microvm", "niri": "niri", "nix-gaming-edge": "nix-gaming-edge", + "nixcord": "nixcord", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs_3", "nixpkgs-stable": "nixpkgs-stable_2", "nixvim": "nixvim", "nvf": "nvf", @@ -787,7 +904,7 @@ }, "rust-overlay": { "inputs": { - "nixpkgs": "nixpkgs_3" + "nixpkgs": "nixpkgs_5" }, "locked": { "lastModified": 1748140821, @@ -811,11 +928,11 @@ ] }, "locked": { - "lastModified": 1776741231, - "narHash": "sha256-k9G98qzn+7npROUaks8VqCFm7cFtEG8ulQLBBo5lItg=", + "lastModified": 1779851998, + "narHash": "sha256-UkkMh3bX9QW4Luqkm98nUaOqKWrU6i65mUnph3WeSSw=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "02061303f7c4c964f7b4584dabd9e985b4cd442b", + "rev": "6cddd512fa2bf7231f098d3a2f92f6e4cff71e0a", "type": "github" }, "original": { @@ -832,11 +949,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1778735280, - "narHash": "sha256-TFPcIJYLrlwP2IkAUpOsVnmuzx+O+TXXRkYrzuMV9x4=", + "lastModified": 1780226934, + "narHash": "sha256-H6AFFlUvoLPlMZcyt2+XvZqThdrasY2pCvRiUNiZV5g=", "owner": "gabm", "repo": "Satty", - "rev": "d19a403d6fd2854eaacd277998bf6c5cba85f7a5", + "rev": "8cad8cf1ac825f38c6e84a225cc0973d8ed0fd72", "type": "github" }, "original": { @@ -852,11 +969,11 @@ ] }, "locked": { - "lastModified": 1778930278, - "narHash": "sha256-uAkLSxQXZc9D8r5rfbYDm4kA/AHfRi9GoN0y4lUI8JM=", + "lastModified": 1779974773, + "narHash": "sha256-/NdMwD6MOfg16+MhHYeDbThlgsl0Ui04daguc7OITDo=", "owner": "AceSLS", "repo": "SLSsteam", - "rev": "4cc5aa10b4e51b7b7533d6b23156adfb90fff882", + "rev": "414a112981abb0cb9cd8788e4aaad76d813077e2", "type": "github" }, "original": { @@ -867,7 +984,7 @@ }, "snowfall-lib": { "inputs": { - "flake-compat": "flake-compat_2", + "flake-compat": "flake-compat_3", "flake-utils-plus": "flake-utils-plus", "nixpkgs": [ "openmw-nix", @@ -932,11 +1049,11 @@ "systems": "systems_6" }, "locked": { - "lastModified": 1779607677, - "narHash": "sha256-Ang2de6zfcFF8v7LWqSDD1n6bgYj0vN1PY5hi7lOLsM=", + "lastModified": 1780213729, + "narHash": "sha256-rdeBztPA6tiKp6gG4ihZAzeYGC9mYa2tAU4UIOLcZM0=", "owner": "Gerg-L", "repo": "spicetify-nix", - "rev": "e69b824f3c4f4db836f47193723b6d37f93e0dc0", + "rev": "c679f3fa9fbe86903486a8f7ad71f99e26481d71", "type": "github" }, "original": { @@ -962,15 +1079,16 @@ }, "systems_2": { "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "lastModified": 1774449309, + "narHash": "sha256-brhZ8DmuGtzkCYHJg4HEd602amKm89Y9ytsFZ5uWD1w=", "owner": "nix-systems", "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "rev": "c29398b59d2048c4ab79345812849c9bd15e9150", "type": "github" }, "original": { "owner": "nix-systems", + "ref": "future-26.11", "repo": "default", "type": "github" } @@ -1052,7 +1170,7 @@ }, "waybar": { "inputs": { - "flake-compat": "flake-compat_3", + "flake-compat": "flake-compat_4", "nixpkgs": [ "nixpkgs" ] @@ -1091,11 +1209,11 @@ "xwayland-satellite-unstable": { "flake": false, "locked": { - "lastModified": 1779591853, - "narHash": "sha256-osTG6d7BfV5CchHjETh3jcmZwDYrHpNcpAIyh1KyIs0=", + "lastModified": 1779745227, + "narHash": "sha256-yqY7RtEJGJiENzR0GwL6q69tSAy6xAAmAcLuIhLjPf8=", "owner": "Supreeeme", "repo": "xwayland-satellite", - "rev": "3273a0fccd71da21c6362c74f3b1d1c0a89ff3ba", + "rev": "5d1efbc9dc3ab1c10160b656e0247f3325daf0f2", "type": "github" }, "original": { @@ -1113,11 +1231,11 @@ "rust-overlay": "rust-overlay_2" }, "locked": { - "lastModified": 1779676204, - "narHash": "sha256-/DLVKPqrU3WuY99jrHjYuIR0yGl98mGS6izK5rC1gZM=", + "lastModified": 1780204031, + "narHash": "sha256-5CzvmbISW/n13HQ4saTtBLlHIsdQIHiVJy8GzXyritY=", "owner": "sxyazi", "repo": "yazi", - "rev": "cf8b54179ea0de392629d93081afca9e5587225e", + "rev": "e892bf7d903d9efb7322f47d93c3ac6be5dd797e", "type": "github" }, "original": { @@ -5,6 +5,11 @@ nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-25.11"; + nixcord = { + url = "github:FlameFlag/nixcord"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + # Hardware and gaming nixos-hardware.url = "github:NixOS/nixos-hardware/master"; @@ -89,7 +94,7 @@ nixvim = { url = "github:nix-community/nixvim"; - inputs.nixpkgs.follows = "nixpkgs"; + # inputs.nixpkgs.follows = "nixpkgs"; }; nvf = { diff --git a/hm/soft/chat.nix b/hm/soft/chat.nix index b886656..90a3887 100644 --- a/hm/soft/chat.nix +++ b/hm/soft/chat.nix @@ -2,14 +2,24 @@ config, pkgs, lib, + inputs, ... }: let cfg = config.hm.soft.chat; in { + imports = [ inputs.nixcord.homeModules.nixcord ]; + options.hm.soft.chat.enable = lib.mkEnableOption "chatting apps"; config = lib.mkIf cfg.enable { + programs.nixcord = { + enable = true; + discord = { + vencord.enable = false; + equicord.enable = true; + }; + }; home.packages = with pkgs; [ telegram-desktop simplex-chat-desktop diff --git a/os/core/bootloader.nix b/os/core/bootloader.nix index 91502e9..e8dfc11 100644 --- a/os/core/bootloader.nix +++ b/os/core/bootloader.nix @@ -48,6 +48,7 @@ in }; }; + #TODO add boot.initrd.luks.reusePassphrases = true; somewhere luks.enable = lib.mkEnableOption "LUKS encryption support"; }; diff --git a/os/core/users.nix b/os/core/users.nix index 4bd0221..1ba471f 100644 --- a/os/core/users.nix +++ b/os/core/users.nix @@ -12,13 +12,24 @@ in options.os.core.users.enable = lib.mkEnableOption "enables user accounts"; config = lib.mkIf cfg.enable { programs.fish.enable = true; + assertions = [ + { + assertion = config.os.srv.sops.enable; + message = "required for storing the ssh key"; + } + ]; + sops.secrets = { + "users/root_password".neededForUsers = true; + "users/main_password".neededForUsers = true; + "users/opc_password".neededForUsers = true; + }; users = { mutableUsers = false; users = { "${username}" = { isNormalUser = true; - hashedPasswordFile = config.sops.secrets.user_password.path; + hashedPasswordFile = config.sops.secrets."users/main_password".path; shell = pkgs.fish; extraGroups = lib.mkMerge [ [ @@ -36,7 +47,7 @@ in (lib.mkIf (config.os.srv.docker.enable or false) [ "docker" ]) ]; }; - root.hashedPasswordFile = config.sops.secrets.root_password.path; + root.hashedPasswordFile = config.sops.secrets."users/root_password".path; }; }; }; diff --git a/os/srv/aide.nix b/os/srv/aide.nix deleted file mode 100644 index 8bd4c6a..0000000 --- a/os/srv/aide.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: -let - cfg = config.os.srv.aide; -in -{ - options.os.srv.aide.enable = lib.mkEnableOption "enables aide checking"; - config = lib.mkIf cfg.enable { - systemd = { - services.aide-check = { - description = "Daily File Integrity Operational Check"; - serviceConfig = { - Type = "oneshot"; - ExecStart = "${pkgs.aide}/bin/aide --check"; - }; - }; - timers.aide-check = { - wantedBy = [ "timers.target" ]; - timerConfig = { - OnCalendar = "daily"; - Persistent = true; - }; - }; - }; - }; -} diff --git a/os/srv/clamav.nix b/os/srv/clamav.nix index cc84802..d2dc49f 100644 --- a/os/srv/clamav.nix +++ b/os/srv/clamav.nix @@ -1,9 +1,4 @@ -{ - config, - lib, - pkgs, - ... -}: +{ config, lib, ... }: let cfg = config.os.srv.clamav; in @@ -22,6 +17,5 @@ in updater.enable = true; fangfrisch.enable = true; }; - environment.systemPackages = [ pkgs.aide ]; }; } diff --git a/os/srv/default.nix b/os/srv/default.nix index 9bba42b..715b0e0 100644 --- a/os/srv/default.nix +++ b/os/srv/default.nix @@ -1,7 +1,6 @@ { ... }: { imports = [ - ./aide.nix ./authelia.nix ./backup.nix ./bluetooth.nix diff --git a/os/srv/monero.nix b/os/srv/monero.nix index c7db2d8..9088ef3 100644 --- a/os/srv/monero.nix +++ b/os/srv/monero.nix @@ -37,25 +37,32 @@ in services.monero = { enable = true; - environmentFile = config.sops.secrets."monero/rpc-password".path; + prune = true; + limits = { + upload = 1250; + download = 12500; + threads = 8; + }; banlist = builtins.fetchurl { url = "https://gui.xmr.pm/files/block.txt"; hash = "0ik4d66js6wvrvciza0li6bsajj8dvxsqlf09hcz7hg610szdxcw"; }; - limits = { - upload = 1250; - download = 1250; - threads = 4; - }; rpc = { restricted = true; user = "admin"; + password = config.sops.secrets."monero/rpc-password".path; }; }; services.nginx.virtualHosts."xmr.${masterDomain}" = { enableACME = true; forceSSL = true; + listen = [ + { + addr = "10.255.0.1"; + port = 443; + } + ]; locations."/" = { proxyPass = "http://127.0.0.1:18081"; diff --git a/os/srv/nix-helper.nix b/os/srv/nix-helper.nix index 9734043..5e5e133 100644 --- a/os/srv/nix-helper.nix +++ b/os/srv/nix-helper.nix @@ -2,6 +2,7 @@ config, lib, pkgs, + username, ... }: let @@ -11,7 +12,10 @@ in options.os.srv.nix-helper.enable = lib.mkEnableOption "enables nix-helper"; config = lib.mkIf cfg.enable { nix.settings = { - allowed-users = [ "@users" ]; + trusted-users = [ + "root" + "${username}" + ]; experimental-features = [ "nix-command" "flakes" diff --git a/os/srv/sops.nix b/os/srv/sops.nix index 20e1891..1b27042 100644 --- a/os/srv/sops.nix +++ b/os/srv/sops.nix @@ -12,10 +12,7 @@ in { imports = [ inputs.sops-nix.nixosModules.sops ]; - options.os.srv.sops = { - enable = lib.mkEnableOption "enables sops-nix"; - diskEncryption = lib.mkEnableOption "enables initrd decryption key (LUKS)"; - }; + options.os.srv.sops.enable = lib.mkEnableOption "enables sops-nix"; config = lib.mkIf cfg.enable { sops = { defaultSopsFile = ../../secrets.yaml; @@ -24,20 +21,14 @@ in secrets = { "syncthing/gui_password".owner = username; - "syncthing/encryption/openmw-config".owner = username; - "syncthing/encryption/openmw-mods".owner = username; - "syncthing/encryption/game-saves".owner = username; "syncthing/encryption/keepass".owner = username; "syncthing/encryption/sync".owner = username; - "vpn/warp_private_key".owner = "root"; "obs/websocket_password".owner = username; "yggdrasil-private-key" = { owner = "root"; group = "wheel"; mode = "0440"; }; - root_password.neededForUsers = true; - user_password.neededForUsers = true; }; }; diff --git a/os/srv/ssh.nix b/os/srv/ssh.nix index 2c7a4ac..ec39bbd 100644 --- a/os/srv/ssh.nix +++ b/os/srv/ssh.nix @@ -12,6 +12,7 @@ in options.os.srv.ssh = { server = { enable = lib.mkEnableOption "enables the ssh server module"; + enableInitrd = lib.mkEnableOption "enables ssh access during initrd"; enableWireguard = lib.mkEnableOption "only allows connections from wireguard"; }; client = { @@ -44,6 +45,35 @@ in users.users.${username}.openssh.authorizedKeys.keys = [ "${keys.main} adikro@disroot.org" ]; + + }) + (lib.mkIf (cfg.server.enable && cfg.server.enableInitrd) { + assertions = [ + { + assertion = config.os.srv.sops.enable; + message = "required for storing the ssh key"; + } + ]; + sops.secrets."initrd_ssh_key" = { + path = "/etc/secrets/initrd/ssh_host_ed25519_key"; + }; + boot = { + initrd = { + secrets = { + "/etc/secrets/initrd/ssh_host_ed25519_key" = config.sops.secrets.initrd_ssh_key.path; + }; + network = { + enable = true; + ssh = { + enable = true; + port = 2222; + authorizedKeys = [ "${keys.main}" ]; + hostKeys = [ "/etc/secrets/initrd/ssh_host_ed25519_key" ]; + }; + }; + }; + kernelParams = [ "ip=dhcp" ]; + }; }) (lib.mkIf (cfg.server.enable && cfg.server.enableWireguard) { services.openssh.listenAddresses = [ diff --git a/secrets.yaml b/secrets.yaml index 9d77702..c1f9da9 100644 --- a/secrets.yaml +++ b/secrets.yaml @@ -1,59 +1,90 @@ -user_password: ENC[AES256_GCM,data:lPSKNpHWQYQZvLFmK1NIqvcDTsXWe8lMnBuqATtkyQjjswFrBjreM5hp1l360VByGOupzG5c2Fz9W1ZCC/eYRrmbldJcSiMdYw==,iv:A6If6CSWoRNGR/CV/QBt8UH1N9BKp9xEnOOMcrSAET4=,tag:Ommq47gaEm86/ByCV1dlBA==,type:str] -root_password: ENC[AES256_GCM,data:F2M3P5JTpP9bnO494jnLA/Hs2ndQRYhgN9Z9LiEgTYYQPvMdi0DGI5dN6rh+5Dhm0a9eqGSOpU+4rWYX6cXOp+Um2exKr0O8YQ==,iv:WZtTsAMhg+qzE66/v2DUsG50Voc3vJF+1X19LNNsG3Q=,tag:cpQu7W/SMfilYxnbsgi/RQ==,type:str] +users: + main_password: ENC[AES256_GCM,data:0WYWpS1n2eqdCqMwLqy8TBcGuyY1yWlZLS1+LTCSWEzMAFa9HXWY9pOoxdYLVG6Tn5E+jQzcLaNX9t9y0GYzf2NX+6QYN0AMLQ==,iv:spOeU0Yna2bzPp8VDnd2mukUg6P98VyyjATECeyeJi4=,tag:JEbQzW79B6XJXfCdEsgJ2w==,type:str] + root_password: ENC[AES256_GCM,data:xG2NjC5EbrO1nUeo7WfoqOHX+XBJeVV/OaqwBKkmAq7zrPUU5H4ZfVBJMHPDcPZ+okck1BrMV+XH0XTynE6JhP9JKJlrHT5xZg==,iv:kYktNS69/H8dtQ/YB5Q5iNObus9lRjAgYhShqnZrk+w=,tag:nGriexQvFUEPu2NOpRYZCA==,type:str] + opc_password: ENC[AES256_GCM,data:Wbaj9XYRl8PwlA2jLLWUjk3hTLOd3ztNQR9hY0qenTEdzR76JzcY1j8xxScp1n9fLq8JSoZXxmqrxYYm6tTxRrdiMn28fMTGWg==,iv:1igAzbUeS0/nD+Rw8LHHMP8m/pcnHOwe02i3RsnoRlE=,tag:BlO2QSvvjfhf/9fxT63eTA==,type:str] obs: websocket_password: ENC[AES256_GCM,data:JkKC2b6Hs2orWJ3MN9hk6W2V2vH2A/FCdxuI13fwwOrcA1E8HaMH,iv:IvMrKDxWMxkCBAHEy9mLDd3JS1Pie3XuESXr7gp6D/E=,tag:6yfqG7Dv2ElPFCMKZX2dvg==,type:str] -vpn: - warp_private_key: ENC[AES256_GCM,data:4+adbMc4syo46oQmPpQ5Flw1zZt575qjKw9kUsRrD/M+MMstT6PifWTkwQSDWQx7lzgy,iv:s9hsaa67uSDuXQHVefxBWQ0+8MHc8fG63pP189tkHHs=,tag:JRdUN/p17z4TDz9cV0nvWA==,type:str] +wg_private_key: + warp_private_key: null syncthing: - gui_password: ENC[AES256_GCM,data:l1qUM6MfrCTnv2LlFeRDy4o4eYQbLBzfI5C9BgcmVGQNnwjT5HWCXQqY54XHfhlPuSXO4bZs7u8JcKbQFW/+Pg==,iv:IIBWrmgX8nhP6B7WkZisEK1zmvMBqNYCg4eHgJX68Ak=,tag:1DggOF7x60nvz9gS9Ou29g==,type:str] + gui_password: ENC[AES256_GCM,data:kdF3/NRv8ftgIM3MhE9N4HZzsvBYGvYYzfCiUgmHPHfhfffdkCQvjDw4QCIgxRaemAEkT2/I6tR882zOft2xlY0+C25J/lulPYhsdyjaRHPXI54cX1H9939OcEWFOaTtCkKHxC+2EkTRbbPDnJRknmOdRTc80V9QxwBsID7yu65H,iv:Ur2TPQRQGiYXzbid3kJUivrDPbzBHknzx0EQZ8Mzy5I=,tag:dchOE5ehZQrWcIjZAujpQQ==,type:str] encryption: - openmw-config: ENC[AES256_GCM,data:sxd+erAmTxUw35laMtjxiy2i+tR9VXZXQiwSeFdGLCDy5eIMDJtf4y3oVIzUW/4K3yjG2kpmoIdKtdTMHf5A9A==,iv:KQUX9CeubeUY7sZKFYrPwn9i6lEjCToNt4VtDyS+fqg=,tag:w6vztiLs9WoquXeYB6dNbQ==,type:str] - openmw-mods: ENC[AES256_GCM,data:oxmeu/u/Hl9uRhKcbKebu/hpCEucFcjFMFDplmPawdLMQGBkxV2F1bpRvQhBurrW0l6v+Myc2GHl6q08DTffrA==,iv:ZVBhPnS5mfXKzN5ohcFqYA4xk8TcGWidvFQSrZjr7vw=,tag:yh4saE4umy36HY6gNX07dg==,type:str] - game-saves: ENC[AES256_GCM,data:67kubvePq/KYxJKJkNR8gBEf3VGczFkJE469XSYvBg/a4HfAAmdJuL2kfv62zEXVVb5BXx7NK1Xr5s+81AEaZw==,iv:1ERuh9X8IX/+XM22rreNUzt+i4CcJhVhS+IM210Z6dU=,tag:iSkTHHUF/WosX94JqJAjiQ==,type:str] keepass: ENC[AES256_GCM,data:OLU0tYB9TTKZ5V1Mzj5FDE9YdCpj0ajJaoxzqd7HtTmaBqETjs7CjYriq7kCOgSEVBtwzek/NA1vetwuMQhI8Q==,iv:P9aBZCIbj23aOvuMBtAjAZ2L+0lUT5Xjk7XRikbc9u0=,tag:xnWUxctkKVTUOV0AtpnTug==,type:str] sync: ENC[AES256_GCM,data:XaD+8knm2VLHGFE5AOc9V4GSJ4opGNcz7ujCH2rfMVTtQ270QzohMsQoKMjSM18a44AxZ/vtnZjLtTo+ZOWYcA==,iv:wchjwjuICqY6CQyQQmxS++9H5YECCVjURUlB2ebFSO8=,tag:v8CxGv7ZnV3WsTz5wEZFMQ==,type:str] -yggdrasil-private-key: ENC[AES256_GCM,data:lyyOlWDvYa33Koc8DmhcRwgMI8KOsqmD9oc1gORb/RZiAXiKsmlXRFuiu3ba8CA1uAahJpK897ambZiFVi8qlgMrK7irfmqVyoF3r9luQJGyjrp9dvypSkRuQKLnp2Aj3FoIyXBM+mFwZpbAyGxTCTvylXhoqZo=,iv:2b4OwPNQt1WeF36oolSDIFwu3ux+f39/9+7brfgxqbg=,tag:rH8A5TYv+aG2sDKjJkZokw==,type:str] monero: - rpc-password: ENC[AES256_GCM,data:ape+Cp5BzpTxHKIjqTWM4571e6gXfx6TY16rArRGHbWHhSjteyCWiXGmsuwU+ApIVfr09NgqJ9IGmhfX3bmnCdIz5OHWgBiAQ1nr1zmDK7RsqJ9aJKt0wg2I0+kN8okBjfxP+VJfbwcUmx6yIcnoDouCgfg1JP/duziD1Qa7QqzOo399WpYG2noJ9W2lBrYv6twTfARisg==,iv:u+hrCy99SSAvw09tLcy5KN1+QcFXuMpDfbbspkdNm1Q=,tag:PbSeJ9XRNYEqPRwJmv8aDQ==,type:str] + rpc_password: ENC[AES256_GCM,data:E8MHTkXuceVSr6DpzHkMM3sXmoOE6NUWe3FanvW+zkUXYnI7KmGCEi2DZDmwiLnkmtkXI2jMzOoKY9axcrwSgFv9lcuGIs85tiPVHWNJtd4QlaJIhn5iAdhq+Xuk4wSTVP1Jw91trvNR4TsyYeF1+IkTWfJLBWeaS3U1Aqukfe9pcK9hKJHis8bzzOKBcRjkN81XLBT+bI+54LG6syFSQlf+nzOnySFukd48HR/ljWRnquzzXdfLqFEy95wSDKv5Gz0ZaT4e5d5DlpEBwfh/3yrugtaN1v2Vs4t2xFjWdxT/pTnJL429OL5U8Xd5WPdwFPnCr5+mGtOg1gbWsfCUNME=,iv:11KbCd1n7eOakN0ERNGyyPOBK8birzRqONqKMNXbOfQ=,tag:ZCfM74YrfNBlbICJyA4umA==,type:str] +yggdrasil-private-key: ENC[AES256_GCM,data:lyyOlWDvYa33Koc8DmhcRwgMI8KOsqmD9oc1gORb/RZiAXiKsmlXRFuiu3ba8CA1uAahJpK897ambZiFVi8qlgMrK7irfmqVyoF3r9luQJGyjrp9dvypSkRuQKLnp2Aj3FoIyXBM+mFwZpbAyGxTCTvylXhoqZo=,iv:2b4OwPNQt1WeF36oolSDIFwu3ux+f39/9+7brfgxqbg=,tag:rH8A5TYv+aG2sDKjJkZokw==,type:str] +initrd_ssh_key: ENC[AES256_GCM,data:HJ9MedAZ7VrGzGk7Pv9jYtpTZjQQiUxauq+fivpX3RFBEwe9AdLHA0IA0L2wkKwa8LrmlSgHHSmnu9L4SthXW0zFQCDT83MnViu9vv4Mk1992y730C2rlquzLvO4jl0/+egZ8GH4NcKKzwJcUCaHdGU5K+ZOb5ruL7UHTF1d+KFe/1KPOfzuoOOchIGCUZAQAJfbSE/uNRappQQruEwryI7+5HgBr0i2cFCR3miIt+Vnsv+xNspGulTKYjW+QE82rz4GCbRJOBXA3hptlwh5U4qrjP4okCZCZaV87iZzYUiuMFLWrguJ9RRQWC+SGCuGY8eTOwWyiOKlQd9or3uo3ZBT3tLEfotFruau2W6R+T1MWjeZWgNehiJPoP0qKjTfUYGvGCq6WUjaAlf7X1WHrMLMAuz4LxWSL07bOfdTiIrLRIByhT9inneGMYhZre+gCDLjhrUT6n+CBb5aHxxwRyrYqQT7Yu1nVjEzcbHutvVaGd7CHDyixlzJsvoIHnm0yRJEWbSWpLHyBHx0zRfo,iv:E59H7MnvioKuFmvIE59cniPB3cRfAUYsLs0L5CiIses=,tag:wcRbTC9PZmZ5vK63IYb0Gg==,type:str] sops: age: - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBVdGN2L2d0RFdUcEEvK1pp - eFhTUWhNTHB6S0hKOUhpVTIzT29TbVdmelVFCjhZL01ZK3NEdWZhOTRVTmNiaURn - M3F0WFBNYnYxb05YU0ZVRW9jNVR6cTAKLS0tIGRuZUIxeitmLzZBeGlxelMyVHBq - cjhrekxrN2IwOUZ5N25DdlM2LzBRWDQKSIbht68agXUCkBdo6GnBZ0hrNVlzA+6e - 3qd959nLvvWLT8mBxyt1TguNANoHF/TaCqXmTydhwFPgnVRRJQ4CQQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IG1sa2VtNzY4eDI1NTE5ICtnZlNvYktt + TkpiNXpDTkxtK3lRQnRPSzJzWXlnTndwUzdWWmc2WXNtSXRPeDNXVHNvcFNMTERi + c1FIeUM5M05wQnc3T0JkRkhPb3dSdW0wUllJczVJUlI5YTdwMEdtM3hDaHlNN2Ur + Mkh2bTNybFN6NGtzT2dJblhOcStlZlo3REJjaG41R05sN2p5NWpiSXY5WEkwcktk + NFNtaFVFK21KTzByQnp3UkU5cmtaN2wyR2hIL1JxandoMnpwUTlqeXVzZkF4cGg1 + TnNueEFFNWhmTnkzUUxjU2x4UDY1WVJzVGl3SXBiaEl2elk0aUFlT2VqQVMxdUc3 + alNpcEE2aDJ1Q1JKMnJYbFc1R2g3OUY2MERaMXdhMmd6ejJuazE3bjVGSk9OQjRV + WXlQdVJWRnhkSDNlaDlVUEVrMXpYdGI2bjNHMUtJUENrN0pDSFUyUEF1TFlYczAx + bkFXejZ1ZjRrSU1WVHlLL0ZkakhjRmcyNHEvZzBRb2E5eDBkV0w2bzhoODdDYStN + elh1ejlzMkdmaHhVZDJGaWkzYVdqVVJaNGdCb3MvSlhxTkswUnZKVG5xcndiZHhx + ODZ2T2JxUWptNUVxRjFFcEkzeDk3SkpZVGlYZ1FsNEFwRjdTclRDMzU2TW02Q2Zr + dk43a0JLTEpqMmZ3N20rYzRTcDNKNEc5RG1DdUpDNENjbTJXRkpoeW9laEZtdlM5 + TFZDNlZwMUFFYTRscEtNS0YzQzAxQjFLL3hkYVdIdmdSZVhOc285TzNtTCt1dDd5 + eWFYOTJpcml5TUQxUDZQNFlpaDNEc2FabDJTUFVJS3E5SHBGUVNYU3JDdmVXMDcz + d3hTWVVZQTdaODZkN0FoWVJKdHhlVVlvWFE1RlJkNUJEUkJWdlJNQmtCMGdFSGJG + QmJFd0dnM0RQMEZGdy9YQ0tmNzBCazV6VWlPTGdvWVBlYS9vckNOQUpYYys4ZFVw + RTFhK1VNVUF5RktXei91akdaN0hpQUZ5bHVETE9zSzc3elc5S2IrNW5JditWbTFm + ZHl3Qkd5VTFJRGxPbURFY0xTL3k5b3hTdE5sb3dyTHhoVFUyRFBnNjZVa2MxRHhX + YlVxeDB6Z21wQVUvVEZaNWVmbFdFaW1zTGxqYnpuRU9kUUtBTU5mb0t6MUpVQmlK + eGJiYlQrN2VMbXYxZDg1bXFPOUNQcVhLcXNKVnNXQlE3RUhmNEg3bUsvVDc2QXd0 + WXY3dVNVRklXajdBQi80VkpFa2xUR3lvdjd5YlhhdFFuRVB1RjRBMFFQdWM1ZWp4 + VHBiNklCY1NhVE1FdHVUb2lmazhLc09pTFpFSng2dWt0Nm5kUnhUWVlqdGtSc1Bx + bEsybFhOQkY1bDZrZkk5aWk3Q0xZalBqbWNIYkpXeENZaXdzblRobmJwYzJTU29O + VExRY1BaUkFYb3lxRXdsMERkbnlPb0JoUHpUOTZrbFpkTXJKd1huWXJ6bEc2cDFZ + YitMT090ZURoL0pXRGJyREhTYmRhMld0RFF0TkUwQitBTXdwTFhjc0paWUNQOExa + NG5ZT0RiYkxLNGRrQWxsejdzVFNJR0hHdkRFekhzZXpSOGtFVnVpQzhDdjNMdy90 + cG9oWWpsdFEybjhOTTE0VGtYQUYzeXF3ZUpxWHo5VlplcXZ0REJCWEZQVlBIRHFJ + VnlhWEt3U0NUZWFGL1IydUhOazJ1eGU3V2tDRWd0dlBkMTZqNDlsd2JsZWhoMEpa + UXJKdkxNMkFzQ0ZCSVBSc1RQMkxqVDFPNjJRUWpadVg0UGRpTnNOTnFjQnBSeG53 + YXYzNTREbmNHNnZMMXUvRmhrV0RmcGRPTGtrVTE0dDBKdEtuUS9LcnZKT2hqaXA2 + aXhqYm5KNFJucEFsSDVmMDlIWkN0Z1lKdXdJdWY1ZWJkM2FUd3R3cFFFYVVXcGpl + SnFjc2Q0a3M5dzg5TnIxbERyS0ZGa2toRUI3cHhUa0JxMkNPczU1R2VoazZDUQpK + cVMyd3hNb3ZwOXRFdUdtcDV6YlJWYTBKUkhpZEFhamg5RCsxVGJSWlQ0Ci0tLSBX + emp6dnQwV0UyMlMyUlhJWjFiTlZhWksrckVSWmFiOUdtZU1ZaVVDTTVjCpXatrcA + 8JOC7GyqiYmvi7NpEQOXhTmh4ClS1OZ3Fdqak37CHkTLtAAjqbducA0IcU07sxVo + tzpQRfRXDGrILi0= -----END AGE ENCRYPTED FILE----- - recipient: age1y8hkdaq5yry0gnlwjtvp6npu028zpgf648wcr2sr3s6q4dyxj96sv5a56j + recipient: age1pq1uq3cqs3h5wmr3yqvu2hjlsu5hsyg0md44efmwxjpkfreafvkg0d53mupsghxqjjd25p3h73ekpuuszhx8ef5npu5552yp7ahjqkye76xj7zf5aznzn8wp4xypcrqjuy8k9pt3xcsy27g85dnlczvpcded4lzk3q6kwefn6txnakxpdxj9hxa83xpumqldkp2ufmkrgpzd627hdfr9d95kep3nynp0f5xdzghp0h7wx0cugc85h2gwcznjjn9gy2j4rp2lqauq5rej9kxp4gxxayp032pd7tnpwn5qmfmqfqewj4u835ha6a9x8p5pg6qc2f6vg02ajr3dkznj75c3q9pf65a92w5ke87vepg7hnjprdfpcm5wxy6f34nj3aqpafpuj33qscc8gfzcv2lx2d53hy53nzgexhnppg0zqphj0ye0l4rvgqvpvrgvvtewv7qszcw4wqeuqkuefwmk7ad50p7m2jaeyg6e7my5kayq0g9nw02rf93tusqpdzgv7lm8g9fca9yy92rldefxqtxnp0u24966ukgzszg2rzszxwjwcd5wqls2m8lqq53jkd4kn64fsyj0ppzswryv2pkgvmhygx4zcfh5zcp5fgggsafqkvnars3seht3f3mc3ms8xzap6mqld4kn49ypfu8kqyvuz53ucpultcvegl5tfnue3mjmygz306jvzry99fprj72q6ulmlp9z07gazafsu0zx0kewyc73a26urg874yrz3znx7xssewpued7h9qevxf3zt8jr2q9xd7af93egep87hjnh0q68gt45lqvg9qvz0scxxu4fx4nvxacsuqsx234tkeqtttfs6tkxrrked76j0pu4acga2ptkzafjtjkgsuyt3vdrwzs05rvjhztwsymkkpanlpjdpeekt8ffpfhdwwj6zfdw3fwz65fc6fehygws636yfeem5e88kz98xvtefffw2v7lzsv29sjfacsz4a5w9aw2ee0ys98ddej5qyq8p3ne3spny8qvwszfd987xgx30u64927cflmsktjs7nemmzg3wtfvxwg9vhrcmxyw2upznrewt8gfkw4zjadcgjeea79a9dkvlch3la724camwch2u3aaw26k57xrnm0v5effjstxnqzgl9fd9k92v6uj9kky7ltvf65zup5hgwn3865ypa73sfaugqrfygzwkkjt4p6j5tafsgchjyespwg9dfx5rkhqq8e8xgd6d2u2msn39zqzp46juyezkeupdd09rzfzj9xee0szszuvdz7l6ddkfn6jjczq5j638fh5cxywj5dq7tenp3q8rlyv9xujggnajyl08e4hycn5tw7gq37mwl3hjrsm6ppaqg9gd359r3zf9vnxg5whqfecq6tenk293qdj54myqd6znse8ng2vrnz2tw7vvgnywgxa35r22t436xnxxq8f39kssdfpytsqnsyyzm6j0pqzuurn9jw9w2qxg5vga9aq4l8q6fnf2zu2pezmpup9at9cxzp24f7enz3gr2nta9x4sz5r9dqvxpcv2fpk8ser3d5wnhq4367w7q4ywmmax346ghudlmjwgec9x27nggge2rpqwumkqufx24lt3guk9xqvvjv3q38ckxvzc27gzuef3xpjxpzfc48vqsuewd6x6lg9464tj28gyjr55fvg07zn3m2hfyggwuy8wq4cy6fn07pwy4xpkv46vk97xe5skuuzmn389kuteuc4v7y3986j3hcfnypxa8f5snan6yrlt2rp95549765zg9jxezge9r9lk9dqlcf2vlpjhf3cn87xs5srw9f3g208f4p9p4wsmfdnfwfln4qfxkx4m82nm7f7n5ur5yd3yd53zrssqmxjuvqucfk8hwetka0g9p7ldxm7a623axn7zps3xe8g8kx5eputp7f9atwv0a7nmq - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBRVmpkZmlsYzBIYU9LQVdp - L3d5OUZ2ZEQwc3FMcmprSzY2TmlrTHRzdVhRCkwxNXdwQWpyK3phbktia3RNRGJJ - eG5jenRtbnpKejV6KzNiSE5LY2NoTDgKLS0tIGNnNjc4REc4WkJmT29pQno1bUFs - Z2dWTUdBbUJpUVQ1RzJ2THdZVDVsK3MKF1UQpm5FRmPkH/SyQDfvWpzZZEAyzCFI - qGZBeMTEfsRyxQvFI0yKWZKIHW0N2Gb1FnncoCW9hIo3NnBvBLVJpg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBiY0lOUGE0OS9sWG92WFdG + ZTdBUnI0dExrenBlbGRQNUhOU3VyU2pKU1VRCjJ1SW5qK1BtclpKOVYyc252Q3FR + ZVl5VXRuZHkwZWZwaWp4ZStmaGFkNncKLS0tIDZKampPd1pGZEpSNWtqM1BhV0F5 + bmJpSWF1djJ4VjJZSUprckVkb08yTU0KfVslbCFgxoGMtiJuM7ypSQII6MTTrcPJ + QR+MgVQaH7RwQzA49/ma2Riwt5QhrEM95oE+noBvNFvqO3v3YVZdOg== -----END AGE ENCRYPTED FILE----- recipient: age1s39d4mdrjhkf8cy8eea02p836r7s875fj8f7w3z4ld2stmaac49qd075ww - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAyV25rZmpSOEREcDZ5T1gx - Uk9GM01jSnZqWjhyc0NsWnM4LzZabmE3TWtZCmxkS3llMEFlazZKKzVnd3VuQTFD - NFVtVTlsSVFtY3RnUkJDSnh2UVBSZVkKLS0tIE1GaWR3VTJVYnZpMU5YenZ4NHBN - VXU2MFlQTmM3TlpkTmlDYnZnb2o5eHMKD9rLtf3qD6d/2Dx1lI8NJXb+UKyu77OJ - gfLtInLTry/C7hftlLUKs4R5jwEW0f+O/7SBIRP3qKkqs1UYTlPkcQ== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBqR2NHVTdxc3VDZVZVK1Nr + MjhBbG82c0w1Zy9MMlg0VGVkc1Z4MEVUQTJ3CnQ0V2FXZnlEdVBGS3lnclNhRTZi + bEJIUkRxOTZRdUZFdWRhWDAxUDdDWG8KLS0tIEpGN3JTeHprZkU4bFpHcmRFTzZI + LzBwWkpUcHcrMVpZeUNmT215R2FTRHcKPwXDiwmvaas4pkZVcP7/+GFeETRLjaJH + jAw0QqsjXbVd59XW5prHsWXO825NmfhvvjpNS3qKW0gmE3SJWGJ/XA== -----END AGE ENCRYPTED FILE----- recipient: age12htxy05mlkaqx7q6m5wufkqnnvhmhe4nfsr5ljlwkdk0u59f7ujq7537fw - enc: | -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB4c2VJSEQ5R09wOFlwMXBi - Tkw3dW0zak5rOUFJVVVHVzY3Yk53QVJIQ0hVCjgybU11RHAzajBPQVlJZDNlQisv - Qkx5YXF1SmE5Umlwd1oyMHVNL3BpOEUKLS0tIGlFaDFlTTFlQ3hCakFvaWNCZTlJ - SHVLdytlK0RzSWVURTM2NldLVlR0eXMKvOEQCjWrr6lKQBuiTkRHV4SsCukflnKg - CXZbLjjZ0Q5we+RTisnyT8pqVIJtD2oyCliBdpGoM+HuX6pc9YbwKg== + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQdlZWNzFCMXoxcFJsM2Ev + R1l0bnhlVW5ld0w4RFdQVUFBTkRlKytDMlQ4ClhuVjlJSFBLdmhPREpQeEdmNy8z + clBFMmFTVVlLNzdOVXRIZUQzNW1CR3MKLS0tIGZpcUJ3MjYzOHdCN0RxcDJkR2hv + djV3Z214UVRnQ09uNjZ0TFlzTElub3cKIASLifcdPt9Zven6ioe7M+ulJoLtsKT+ + IgxU1S4n2rkbDNtL+Dojo8AGQjpyZ+L1GzxWyFpS7XiYKgBL6oOy/A== -----END AGE ENCRYPTED FILE----- recipient: age1sx8ut0arwlrp7n7qvlaele8mq93pyvzc0ddetlk47cnyx935gcusdceq9q - lastmodified: "2026-05-16T20:03:01Z" - mac: ENC[AES256_GCM,data:voxZK2H4SBDXUG4Yh21MfCpJfo+x2MXYTfiBbxieVOpik6Aq2HAP4yp2nFJTZD0AEaZSjX17Svx5wgezttf9ykkngv1KnXWYXwIKWKXloFvGfNHinBnsf1+Wuii1VT40eC/LWyqR5bczcZDqrY1sNhpsNDMMZwxLualCAN9APD8=,iv:aqgMow/guB+wRWr2FkGmasddLv+MVVpFIPsVUN+vLVA=,tag:QRVcGj8G4LMu+ENiq0/izg==,type:str] + lastmodified: "2026-05-31T21:30:01Z" + mac: ENC[AES256_GCM,data:vUS7RwZh83bdhlPHUAtXO/UBRZUgeICZin4R51feDBZIvPATyrB0JfKcjltGojW6g6kMtRhhR0z9HBsMfiul1MLJGRtFFycDsRuek0F/b0/a9EIPL73cmdgMPpCLZ43JEENTW3M324avlCvoaHoo6bkDEKyuHGo7hgVT6V4R9Ic=,iv:c0Ul3fyepOw0026u7AbRkXmzOiqXlQky6krcidDjMeY=,tag:HcFyJyU/VmB/frlnShwaJw==,type:str] unencrypted_suffix: _unencrypted - version: 3.13.0 + version: 3.13.1 |
