summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.sops.yaml2
-rw-r--r--flake.lock260
-rw-r--r--flake.nix7
-rw-r--r--hm/soft/chat.nix10
-rw-r--r--os/core/bootloader.nix1
-rw-r--r--os/core/users.nix15
-rw-r--r--os/srv/aide.nix30
-rw-r--r--os/srv/clamav.nix8
-rw-r--r--os/srv/default.nix1
-rw-r--r--os/srv/monero.nix19
-rw-r--r--os/srv/nix-helper.nix6
-rw-r--r--os/srv/sops.nix11
-rw-r--r--os/srv/ssh.nix30
-rw-r--r--secrets.yaml99
14 files changed, 335 insertions, 164 deletions
diff --git a/.sops.yaml b/.sops.yaml
index 41593d6..7b3f869 100644
--- a/.sops.yaml
+++ b/.sops.yaml
@@ -1,5 +1,5 @@
keys:
- - &admin_age age1y8hkdaq5yry0gnlwjtvp6npu028zpgf648wcr2sr3s6q4dyxj96sv5a56j
+ - &admin_age age1pq1uq3cqs3h5wmr3yqvu2hjlsu5hsyg0md44efmwxjpkfreafvkg0d53mupsghxqjjd25p3h73ekpuuszhx8ef5npu5552yp7ahjqkye76xj7zf5aznzn8wp4xypcrqjuy8k9pt3xcsy27g85dnlczvpcded4lzk3q6kwefn6txnakxpdxj9hxa83xpumqldkp2ufmkrgpzd627hdfr9d95kep3nynp0f5xdzghp0h7wx0cugc85h2gwcznjjn9gy2j4rp2lqauq5rej9kxp4gxxayp032pd7tnpwn5qmfmqfqewj4u835ha6a9x8p5pg6qc2f6vg02ajr3dkznj75c3q9pf65a92w5ke87vepg7hnjprdfpcm5wxy6f34nj3aqpafpuj33qscc8gfzcv2lx2d53hy53nzgexhnppg0zqphj0ye0l4rvgqvpvrgvvtewv7qszcw4wqeuqkuefwmk7ad50p7m2jaeyg6e7my5kayq0g9nw02rf93tusqpdzgv7lm8g9fca9yy92rldefxqtxnp0u24966ukgzszg2rzszxwjwcd5wqls2m8lqq53jkd4kn64fsyj0ppzswryv2pkgvmhygx4zcfh5zcp5fgggsafqkvnars3seht3f3mc3ms8xzap6mqld4kn49ypfu8kqyvuz53ucpultcvegl5tfnue3mjmygz306jvzry99fprj72q6ulmlp9z07gazafsu0zx0kewyc73a26urg874yrz3znx7xssewpued7h9qevxf3zt8jr2q9xd7af93egep87hjnh0q68gt45lqvg9qvz0scxxu4fx4nvxacsuqsx234tkeqtttfs6tkxrrked76j0pu4acga2ptkzafjtjkgsuyt3vdrwzs05rvjhztwsymkkpanlpjdpeekt8ffpfhdwwj6zfdw3fwz65fc6fehygws636yfeem5e88kz98xvtefffw2v7lzsv29sjfacsz4a5w9aw2ee0ys98ddej5qyq8p3ne3spny8qvwszfd987xgx30u64927cflmsktjs7nemmzg3wtfvxwg9vhrcmxyw2upznrewt8gfkw4zjadcgjeea79a9dkvlch3la724camwch2u3aaw26k57xrnm0v5effjstxnqzgl9fd9k92v6uj9kky7ltvf65zup5hgwn3865ypa73sfaugqrfygzwkkjt4p6j5tafsgchjyespwg9dfx5rkhqq8e8xgd6d2u2msn39zqzp46juyezkeupdd09rzfzj9xee0szszuvdz7l6ddkfn6jjczq5j638fh5cxywj5dq7tenp3q8rlyv9xujggnajyl08e4hycn5tw7gq37mwl3hjrsm6ppaqg9gd359r3zf9vnxg5whqfecq6tenk293qdj54myqd6znse8ng2vrnz2tw7vvgnywgxa35r22t436xnxxq8f39kssdfpytsqnsyyzm6j0pqzuurn9jw9w2qxg5vga9aq4l8q6fnf2zu2pezmpup9at9cxzp24f7enz3gr2nta9x4sz5r9dqvxpcv2fpk8ser3d5wnhq4367w7q4ywmmax346ghudlmjwgec9x27nggge2rpqwumkqufx24lt3guk9xqvvjv3q38ckxvzc27gzuef3xpjxpzfc48vqsuewd6x6lg9464tj28gyjr55fvg07zn3m2hfyggwuy8wq4cy6fn07pwy4xpkv46vk97xe5skuuzmn389kuteuc4v7y3986j3hcfnypxa8f5snan6yrlt2rp95549765zg9jxezge9r9lk9dqlcf2vlpjhf3cn87xs5srw9f3g208f4p9p4wsmfdnfwfln4qfxkx4m82nm7f7n5ur5yd3yd53zrssqmxjuvqucfk8hwetka0g9p7ldxm7a623axn7zps3xe8g8kx5eputp7f9atwv0a7nmq
- &host_szpont age1s39d4mdrjhkf8cy8eea02p836r7s875fj8f7w3z4ld2stmaac49qd075ww
- &host_thinkpad age12htxy05mlkaqx7q6m5wufkqnnvhmhe4nfsr5ljlwkdk0u59f7ujq7537fw
- &host_pendrive age1sx8ut0arwlrp7n7qvlaele8mq93pyvzc0ddetlk47cnyx935gcusdceq9q
diff --git a/flake.lock b/flake.lock
index 55af515..d144b6f 100644
--- a/flake.lock
+++ b/flake.lock
@@ -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": {
diff --git a/flake.nix b/flake.nix
index 0f60dc0..d02a28b 100644
--- a/flake.nix
+++ b/flake.nix
@@ -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