diff --git a/flake.lock b/flake.lock index 438892c1..442461cf 100644 --- a/flake.lock +++ b/flake.lock @@ -354,6 +354,22 @@ } }, "flake-compat_5": { + "flake": false, + "locked": { + "lastModified": 1747046372, + "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_6": { "locked": { "lastModified": 1733328505, "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", @@ -367,7 +383,7 @@ "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz" } }, - "flake-compat_6": { + "flake-compat_7": { "flake": false, "locked": { "lastModified": 1733328505, @@ -383,7 +399,7 @@ "type": "github" } }, - "flake-compat_7": { + "flake-compat_8": { "flake": false, "locked": { "lastModified": 1650374568, @@ -478,11 +494,11 @@ "systems": "systems_2" }, "locked": { - "lastModified": 1701680307, - "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", "owner": "numtide", "repo": "flake-utils", - "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", "type": "github" }, "original": { @@ -493,7 +509,7 @@ }, "flake-utils-plus": { "inputs": { - "flake-utils": "flake-utils_6" + "flake-utils": "flake-utils_8" }, "locked": { "lastModified": 1715533576, @@ -515,11 +531,11 @@ "systems": "systems_3" }, "locked": { - "lastModified": 1731533236, - "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "lastModified": 1701680307, + "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=", "owner": "numtide", "repo": "flake-utils", - "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "rev": "4022d587cbbfd70fe950c1e2083a02621806a725", "type": "github" }, "original": { @@ -529,12 +545,15 @@ } }, "flake-utils_3": { + "inputs": { + "systems": "systems_4" + }, "locked": { - "lastModified": 1644229661, - "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", "owner": "numtide", "repo": "flake-utils", - "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", "type": "github" }, "original": { @@ -559,8 +578,23 @@ } }, "flake-utils_5": { + "locked": { + "lastModified": 1644229661, + "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "3cecb5b042f7f209c56ffd8371b2711a290ec797", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_6": { "inputs": { - "systems": "systems_4" + "systems": "systems_5" }, "locked": { "lastModified": 1731533236, @@ -576,9 +610,27 @@ "type": "github" } }, - "flake-utils_6": { + "flake-utils_7": { "inputs": { - "systems": "systems_5" + "systems": "systems_6" + }, + "locked": { + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_8": { + "inputs": { + "systems": "systems_7" }, "locked": { "lastModified": 1694529238, @@ -654,6 +706,21 @@ "type": "github" } }, + "flakey-profile": { + "locked": { + "lastModified": 1712898590, + "narHash": "sha256-FhGIEU93VHAChKEXx905TSiPZKga69bWl1VB37FK//I=", + "owner": "lf-", + "repo": "flakey-profile", + "rev": "243c903fd8eadc0f63d205665a92d4df91d42d9d", + "type": "github" + }, + "original": { + "owner": "lf-", + "repo": "flakey-profile", + "type": "github" + } + }, "freetype2": { "flake": false, "locked": { @@ -1258,11 +1325,11 @@ ] }, "locked": { - "lastModified": 1743972087, - "narHash": "sha256-eHr2RYh4xIZvCBLchrXxfMJy70EXtpgztH+/2wod2QQ=", + "lastModified": 1752404418, + "narHash": "sha256-uf5+w/i0w+2VbNEll9ZRxYSfAbfBC+xfmKjjgREiPro=", "owner": "kittywitch", "repo": "konawall-py", - "rev": "55c51028af579813641da3e91e02cbf11ab9d87d", + "rev": "9ca077bc1ebc2d0a36176716950db719e9e075c0", "type": "github" }, "original": { @@ -1316,6 +1383,41 @@ "type": "github" } }, + "lix": { + "flake": false, + "locked": { + "lastModified": 1751235704, + "narHash": "sha256-J4ycLoXHPsoBoQtEXFCelL4xlq5pT8U9tNWNKm43+YI=", + "rev": "1d7368585eebaa2c4bdbcb88fe600cfb2239b2c6", + "type": "tarball", + "url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/1d7368585eebaa2c4bdbcb88fe600cfb2239b2c6.tar.gz?rev=1d7368585eebaa2c4bdbcb88fe600cfb2239b2c6" + }, + "original": { + "type": "tarball", + "url": "https://git.lix.systems/lix-project/lix/archive/release-2.93.tar.gz" + } + }, + "lix-module": { + "inputs": { + "flake-utils": "flake-utils", + "flakey-profile": "flakey-profile", + "lix": "lix", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1751240025, + "narHash": "sha256-SXUAlxpjPRkArRMHy5+Hdi+PiC+ND9yzzIjiaHmTvQU=", + "rev": "8b1094356f4723d6e89d3f8a95b333ee16d9ab02", + "type": "tarball", + "url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/8b1094356f4723d6e89d3f8a95b333ee16d9ab02.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://git.lix.systems/lix-project/nixos-module/archive/2.93.2-1.tar.gz" + } + }, "minecraft": { "inputs": { "flake-compat": [ @@ -1344,17 +1446,17 @@ }, "moonlight": { "inputs": { - "flake-utils": "flake-utils", + "flake-utils": "flake-utils_2", "nixpkgs": [ "nixpkgs" ] }, "locked": { - "lastModified": 1750621684, - "narHash": "sha256-E8iHTYK9iUtIjYgBNj54Xeulj9WaxSGDbzOLLFhCSqA=", + "lastModified": 1752099881, + "narHash": "sha256-mn6f4ci5C2jkyxgmBHQ4dI9V0/20DlyS6EbQz4w7znc=", "owner": "moonlight-mod", "repo": "moonlight", - "rev": "9398874e59f5e2b8485c489ce6c0f6c9c7d210a0", + "rev": "dbef0c38e1c0066de5ec35a4d4219026b1bd7010", "type": "github" }, "original": { @@ -1365,7 +1467,7 @@ }, "naersk": { "inputs": { - "nixpkgs": "nixpkgs_12" + "nixpkgs": "nixpkgs_13" }, "locked": { "lastModified": 1717067539, @@ -1400,7 +1502,7 @@ }, "neorg-overlay": { "inputs": { - "flake-utils": "flake-utils_2", + "flake-utils": "flake-utils_3", "neorg": "neorg", "neorg-telescope": "neorg-telescope", "nixpkgs": "nixpkgs_5", @@ -1457,18 +1559,63 @@ "type": "github" } }, - "nix-filter": { + "niri": { + "inputs": { + "niri-stable": "niri-stable", + "niri-unstable": "niri-unstable", + "nixpkgs": [ + "nixpkgs" + ], + "nixpkgs-stable": [ + "nixpkgs" + ], + "xwayland-satellite-stable": "xwayland-satellite-stable", + "xwayland-satellite-unstable": "xwayland-satellite-unstable" + }, "locked": { - "lastModified": 1693833173, - "narHash": "sha256-hlMABKrGbEiJD5dwUSfnw1CQ3bG7KKwDV+Nx3bEZd7U=", - "owner": "numtide", - "repo": "nix-filter", - "rev": "ac030bd9ba98e318e1f4c4328d60766ade8ebe8b", + "lastModified": 1752291616, + "narHash": "sha256-zpPFo4cgr5tOy8DCLIoD++idsKjnzgVPnBeZLmazYc4=", + "owner": "sodiboo", + "repo": "niri-flake", + "rev": "30962469e2e8fb93c3672ee605316b89b8e9a198", "type": "github" }, "original": { - "owner": "numtide", - "repo": "nix-filter", + "owner": "sodiboo", + "repo": "niri-flake", + "type": "github" + } + }, + "niri-stable": { + "flake": false, + "locked": { + "lastModified": 1748151941, + "narHash": "sha256-z4viQZLgC2bIJ3VrzQnR+q2F3gAOEQpU1H5xHtX/2fs=", + "owner": "YaLTeR", + "repo": "niri", + "rev": "8ba57fcf25d2fc9565131684a839d58703f1dae7", + "type": "github" + }, + "original": { + "owner": "YaLTeR", + "ref": "v25.05.1", + "repo": "niri", + "type": "github" + } + }, + "niri-unstable": { + "flake": false, + "locked": { + "lastModified": 1750791124, + "narHash": "sha256-F5iVU/hjoSHSSe0gllxm0PcAaseEtGNanYK5Ha3k2Tg=", + "owner": "YaLTeR", + "repo": "niri", + "rev": "37458d94b288945f6cfbd3c5c233f634d59f246c", + "type": "github" + }, + "original": { + "owner": "YaLTeR", + "repo": "niri", "type": "github" } }, @@ -1534,6 +1681,27 @@ "type": "github" } }, + "nix-options-doc": { + "inputs": { + "flake-utils": "flake-utils_6", + "nixpkgs": "nixpkgs_9", + "rust-overlay": "rust-overlay_3" + }, + "locked": { + "lastModified": 1742115705, + "narHash": "sha256-RfXwJPWBoWswIU68+y/XZfTWtFHd/fK14bKvOlRmfPo=", + "owner": "Thunderbottom", + "repo": "nix-options-doc", + "rev": "2caa4b5756a8666d65d70122f413e295f56886e7", + "type": "github" + }, + "original": { + "owner": "Thunderbottom", + "ref": "v0.2.0", + "repo": "nix-options-doc", + "type": "github" + } + }, "nix-std": { "locked": { "lastModified": 1701658249, @@ -1564,6 +1732,28 @@ "type": "github" } }, + "nixos-cli": { + "inputs": { + "flake-compat": "flake-compat_5", + "nix-options-doc": "nix-options-doc", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1752359519, + "narHash": "sha256-ksd2Gu1JpKU3rKvbkpiUlrkY72M8VAln1w4W7pj77WQ=", + "owner": "nix-community", + "repo": "nixos-cli", + "rev": "c2778572d75bc27ae2234653c5ce9489930d0c7d", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "nixos-cli", + "type": "github" + } + }, "nixos-hardware": { "locked": { "lastModified": 1751432711, @@ -1642,9 +1832,9 @@ }, "nixpkgs-xr": { "inputs": { - "flake-compat": "flake-compat_5", - "flake-utils": "flake-utils_5", - "nixpkgs": "nixpkgs_10", + "flake-compat": "flake-compat_6", + "flake-utils": "flake-utils_7", + "nixpkgs": "nixpkgs_11", "treefmt-nix": "treefmt-nix" }, "locked": { @@ -1662,6 +1852,22 @@ } }, "nixpkgs_10": { + "locked": { + "lastModified": 1751271578, + "narHash": "sha256-P/SQmKDu06x8yv7i0s8bvnnuJYkxVGBWLWHaU+tt4YY=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "3016b4b15d13f3089db8a41ef937b13a9e33a8df", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_11": { "locked": { "lastModified": 1751271578, "narHash": "sha256-P/SQmKDu06x8yv7i0s8bvnnuJYkxVGBWLWHaU+tt4YY=", @@ -1677,7 +1883,7 @@ "type": "github" } }, - "nixpkgs_11": { + "nixpkgs_12": { "locked": { "lastModified": 1751271578, "narHash": "sha256-P/SQmKDu06x8yv7i0s8bvnnuJYkxVGBWLWHaU+tt4YY=", @@ -1693,7 +1899,7 @@ "type": "github" } }, - "nixpkgs_12": { + "nixpkgs_13": { "locked": { "lastModified": 0, "narHash": "sha256-9YrUjdztqi4Gz8n3mBuqvCkMo4ojrA6nASwyIKWMpus=", @@ -1705,7 +1911,7 @@ "type": "indirect" } }, - "nixpkgs_13": { + "nixpkgs_14": { "locked": { "lastModified": 1724517639, "narHash": "sha256-3eTrclsS5OYShbw0MRiiF3GJ8emUTwVzAZo96pdD7hM=", @@ -1719,7 +1925,7 @@ "type": "indirect" } }, - "nixpkgs_14": { + "nixpkgs_15": { "locked": { "lastModified": 1751011381, "narHash": "sha256-krGXKxvkBhnrSC/kGBmg5MyupUUT5R6IBCLEzx9jhMM=", @@ -1849,11 +2055,11 @@ }, "nixpkgs_9": { "locked": { - "lastModified": 1751271578, - "narHash": "sha256-P/SQmKDu06x8yv7i0s8bvnnuJYkxVGBWLWHaU+tt4YY=", + "lastModified": 1740695751, + "narHash": "sha256-D+R+kFxy1KsheiIzkkx/6L63wEHBYX21OIwlFV8JvDs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "3016b4b15d13f3089db8a41ef937b13a9e33a8df", + "rev": "6313551cd05425cd5b3e63fe47dbc324eabb15e4", "type": "github" }, "original": { @@ -1866,7 +2072,7 @@ "norg": { "inputs": { "flake-compat": "flake-compat_3", - "flake-utils": "flake-utils_3", + "flake-utils": "flake-utils_4", "nixpkgs": "nixpkgs_6" }, "locked": { @@ -1887,7 +2093,7 @@ "norg-meta": { "inputs": { "flake-compat": "flake-compat_4", - "flake-utils": "flake-utils_4", + "flake-utils": "flake-utils_5", "nixpkgs": "nixpkgs_7" }, "locked": { @@ -1907,7 +2113,7 @@ "nur": { "inputs": { "flake-parts": "flake-parts_3", - "nixpkgs": "nixpkgs_11", + "nixpkgs": "nixpkgs_12", "treefmt-nix": "treefmt-nix_2" }, "locked": { @@ -2025,7 +2231,7 @@ "rbw-bitw": { "inputs": { "flakelib": "flakelib_2", - "nixpkgs": "nixpkgs_13", + "nixpkgs": "nixpkgs_14", "rust": "rust_2" }, "locked": { @@ -2064,27 +2270,28 @@ "infrastructure": "infrastructure", "konawall-py": "konawall-py", "lanzaboote": "lanzaboote", + "lix-module": "lix-module", "minecraft": "minecraft", "moonlight": "moonlight", "neorg-overlay": "neorg-overlay", "nh": "nh", + "niri": "niri", "nix-gaming": "nix-gaming", "nix-index-database": "nix-index-database", + "nixos-cli": "nixos-cli", "nixos-hardware": "nixos-hardware", - "nixpkgs": "nixpkgs_9", + "nixpkgs": "nixpkgs_10", "nixpkgs-xr": "nixpkgs-xr", "nur": "nur", "plasma-manager": "plasma-manager", "push2talk": "push2talk", "rbw-bitw": "rbw-bitw", - "scalpel": "scalpel", "solaar": "solaar", "sops-nix": "sops-nix", "spacebar": "spacebar", "spicetify-nix": "spicetify-nix", - "split-monitor-workspaces": "split-monitor-workspaces", "std": "std_2", - "systems": "systems_7", + "systems": "systems_9", "tree": "tree_2", "utils": "utils", "wezterm": "wezterm", @@ -2156,6 +2363,28 @@ } }, "rust-overlay_3": { + "inputs": { + "nixpkgs": [ + "nixos-cli", + "nix-options-doc", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1740796337, + "narHash": "sha256-FuoXrXZPoJEZQ3PF7t85tEpfBVID9JQIOnVKMNfTAb0=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "bbac9527bc6b28b6330b13043d0e76eac11720dc", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + }, + "rust-overlay_4": { "inputs": { "nixpkgs": [ "wezterm", @@ -2197,35 +2426,9 @@ "type": "github" } }, - "scalpel": { - "inputs": { - "flake-utils": [ - "utils" - ], - "nixpkgs": [ - "nixpkgs" - ], - "sops-nix": [ - "sops-nix" - ] - }, - "locked": { - "lastModified": 1728502146, - "narHash": "sha256-W5/1J7F49hfGnb/yK8WF5NUcNsjNIcDCNyYnRT0NgKQ=", - "owner": "kittywitch", - "repo": "scalpel", - "rev": "5fbeec42ab00ecc5d99fc82c65c5d903ad14d3ba", - "type": "github" - }, - "original": { - "owner": "kittywitch", - "repo": "scalpel", - "type": "github" - } - }, "snowfall-lib": { "inputs": { - "flake-compat": "flake-compat_7", + "flake-compat": "flake-compat_8", "flake-utils-plus": "flake-utils-plus", "nixpkgs": [ "solaar", @@ -2249,7 +2452,7 @@ }, "solaar": { "inputs": { - "flake-compat": "flake-compat_6", + "flake-compat": "flake-compat_7", "nixpkgs": [ "nixpkgs" ], @@ -2314,8 +2517,8 @@ }, "spicetify-nix": { "inputs": { - "nixpkgs": "nixpkgs_14", - "systems": "systems_6" + "nixpkgs": "nixpkgs_15", + "systems": "systems_8" }, "locked": { "lastModified": 1751171964, @@ -2331,27 +2534,6 @@ "type": "github" } }, - "split-monitor-workspaces": { - "inputs": { - "hyprland": [ - "hyprland" - ], - "nix-filter": "nix-filter" - }, - "locked": { - "lastModified": 1751646985, - "narHash": "sha256-QQQr6iyOh8Mn6+sze9+mg57C/7aVA4na5gfVTHJ2WGY=", - "owner": "Duckonaut", - "repo": "split-monitor-workspaces", - "rev": "e9acfbc08f443f98c691e22f0a89b035eb060070", - "type": "github" - }, - "original": { - "owner": "Duckonaut", - "repo": "split-monitor-workspaces", - "type": "github" - } - }, "std": { "inputs": { "nix-std": "nix-std_2" @@ -2534,6 +2716,36 @@ "type": "github" } }, + "systems_8": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, + "systems_9": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "tree": { "inputs": { "nixpkgs": [ @@ -2656,7 +2868,7 @@ "nixpkgs": [ "nixpkgs" ], - "rust-overlay": "rust-overlay_3", + "rust-overlay": "rust-overlay_4", "zlib": "zlib" }, "locked": { @@ -2740,6 +2952,39 @@ "type": "github" } }, + "xwayland-satellite-stable": { + "flake": false, + "locked": { + "lastModified": 1748488455, + "narHash": "sha256-IiLr1alzKFIy5tGGpDlabQbe6LV1c9ABvkH6T5WmyRI=", + "owner": "Supreeeme", + "repo": "xwayland-satellite", + "rev": "3ba30b149f9eb2bbf42cf4758d2158ca8cceef73", + "type": "github" + }, + "original": { + "owner": "Supreeeme", + "ref": "v0.6", + "repo": "xwayland-satellite", + "type": "github" + } + }, + "xwayland-satellite-unstable": { + "flake": false, + "locked": { + "lastModified": 1751228685, + "narHash": "sha256-MENtauGBhJ+kDeFaawvWGXaFG3Il6qQzjaP0RmtfM0k=", + "owner": "Supreeeme", + "repo": "xwayland-satellite", + "rev": "557ebeb616e03d5e4a8049862bbbd1f02c6f020b", + "type": "github" + }, + "original": { + "owner": "Supreeeme", + "repo": "xwayland-satellite", + "type": "github" + } + }, "zlib": { "flake": false, "locked": { diff --git a/flake.nix b/flake.nix index 2b6ea806..a58e6952 100644 --- a/flake.nix +++ b/flake.nix @@ -1,6 +1,10 @@ { description = "Kat's Infrastructure"; inputs = { + lix-module = { + url = "https://git.lix.systems/lix-project/nixos-module/archive/2.93.2-1.tar.gz"; + inputs.nixpkgs.follows = "nixpkgs"; + }; systems.url = "github:nix-systems/default"; # TODO: https://github.com/catppuccin/nix/issues/601 catppuccin.url = "github:catppuccin/nix";#/194881dd2ad6303bc2d49f9ce484d127372d7465"; @@ -14,7 +18,7 @@ std = { url = "github:chessai/nix-std"; }; - nix-gaming.url = "github:fufexan/nix-gaming"; + nix-gaming.url = "github:fufexan/nix-gaming"; hyprland = { url = "github:hyprwm/Hyprland/v0.49.0"; @@ -22,10 +26,6 @@ nixpkgs.follows = "nixpkgs"; }; }; - split-monitor-workspaces = { - url = "github:Duckonaut/split-monitor-workspaces"; - inputs.hyprland.follows = "hyprland"; # <- make sure this line is present for the plugin to work as intended - }; # used for overriding unwanted flake inputs empty.url = "github:input-output-hk/empty-flake"; # self-explanatory @@ -50,6 +50,12 @@ barcodebuddy.follows = "empty"; }; }; + nixos-cli = { + type = "github"; + owner = "nix-community"; + repo = "nixos-cli"; + inputs.nixpkgs.follows = "nixpkgs"; + }; chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable"; solaar = { # ewww flakehub ;; @@ -60,7 +66,13 @@ url = "github:nix-community/nh"; inputs.nixpkgs.follows = "nixpkgs"; }; - + niri = { + url = "github:sodiboo/niri-flake"; + inputs = { + nixpkgs.follows = "nixpkgs"; + nixpkgs-stable.follows = "nixpkgs"; + }; + }; moonlight = { url = "github:moonlight-mod/moonlight"; inputs.nixpkgs.follows = "nixpkgs"; @@ -178,15 +190,6 @@ nixpkgs-stable.follows = "nixpkgs"; }; }; - # secrets templating - scalpel = { - url = "github:kittywitch/scalpel"; - inputs = { - flake-utils.follows = "utils"; - nixpkgs.follows = "nixpkgs"; - sops-nix.follows = "sops-nix"; - }; - }; # pre-computed nix-index nix-index-database = { url = "github:Mic92/nix-index-database"; diff --git a/home/environments/hyprland/hyprland.nix b/home/environments/hyprland/hyprland.nix index f7bd6073..516735b7 100644 --- a/home/environments/hyprland/hyprland.nix +++ b/home/environments/hyprland/hyprland.nix @@ -54,9 +54,6 @@ ${pkgs.glib}/bin/gsettings set "$gnome_schema" font-name "$font_name" }; xwayland.enable = true; package = inputs.hyprland.packages.${pkgs.system}.hyprland; - plugins = [ - inputs.split-monitor-workspaces.packages.${pkgs.system}.split-monitor-workspaces - ]; settings = { # TODO: break it up windowrule = let @@ -128,12 +125,6 @@ ${pkgs.glib}/bin/gsettings set "$gnome_schema" font-name "$font_name" "legcord --enable-features=WaylandLinuxDrmSyncobj,UseOzonePlatform --ozone-platform=wayland" "spotify --enable-features=WaylandLinuxDrmSyncobj,UseOzonePlatform --ozone-platform=wayland" ]; - plugin.split-monitor-workspaces = { - count = 10; - keep_focused = 0; - enable_notifications = 0; - enable_persistent_workspaces = 1; - }; group.groupbar = { font_family = "Monaspace Krypton"; font_size = 12; @@ -239,9 +230,6 @@ ${pkgs.glib}/bin/gsettings set "$gnome_schema" font-name "$font_name" "$mod SHIFT, F${if ws == "0" then "10" else ws}, movetoworkspacesilent, ${toString (x + 11)}" "$mod ALT, ${ws}, split-workspace, ${toString (x + 1)}" - "$mod SHIFT ALT, ${ws}, split-movetoworkspacesilent, ${toString (x + 1)}" - "$mod ALT, F${if ws == "0" then "10" else ws}, split-workspace, ${toString (x + 11)}" - "$mod SHIFT ALT, F${if ws == "0" then "10" else ws}, split-movetoworkspacesilent, ${toString (x + 11)}" ] ) 10) diff --git a/home/environments/niri/autostart.nix b/home/environments/niri/autostart.nix new file mode 100644 index 00000000..e89e84be --- /dev/null +++ b/home/environments/niri/autostart.nix @@ -0,0 +1,65 @@ +{ pkgs, config, ... }: { + programs.niri.settings.spawn-at-startup = let + import-gsettings = pkgs.writeShellScriptBin "import-gsettings" '' + # usage: import-gsettings + config="''${XDG_CONFIG_HOME:-$HOME/.config}/gtk-3.0/settings.ini" + if [ ! -f "$config" ]; then exit 1; fi + + gnome_schema="org.gnome.desktop.interface" + gtk_theme="$(grep 'gtk-theme-name' "$config" | sed 's/.*\s*=\s*//')" + icon_theme="$(grep 'gtk-icon-theme-name' "$config" | sed 's/.*\s*=\s*//')" + cursor_theme="$(grep 'gtk-cursor-theme-name' "$config" | sed 's/.*\s*=\s*//')" + font_name="$(grep 'gtk-font-name' "$config" | sed 's/.*\s*=\s*//')" + ${pkgs.glib}/bin/gsettings set "$gnome_schema" gtk-theme "$gtk_theme" + ${pkgs.glib}/bin/gsettings set "$gnome_schema" icon-theme "$icon_theme" + ${pkgs.glib}/bin/gsettings set "$gnome_schema" cursor-theme "$cursor_theme" + ${pkgs.glib}/bin/gsettings set "$gnome_schema" font-name "$font_name" + ''; + in [ + { + command = [ + "${import-gsettings}/bin/import-gsettings" + ]; + } + { + command = [ + "${pkgs.systemd}/bin/systemctl" + "--user" + "start" + "waybar.service" + ]; + } + { + command = [ + "${pkgs.systemd}/bin/systemctl" + "--user" + "restart" + "konawall-py.service" + ]; + } + { + command = [ + "${pkgs.systemd}/bin/systemctl" + "--user" + "start" + "mako.service" + ]; + } + #{ + # command = [ + # "${pkgs.xwayland-satellite}/bin/xwayland-satellite" + # ]; + #} + # program autostart + { + command = [ + "firefox" + ]; + } + { + command = [ + "discord" + ]; + } + ]; +} diff --git a/home/environments/niri/avizo.nix b/home/environments/niri/avizo.nix new file mode 100644 index 00000000..c2ef6845 --- /dev/null +++ b/home/environments/niri/avizo.nix @@ -0,0 +1,21 @@ +{ config, ... }: { + services.avizo = { + enable = true; + settings = { + default = { + block-count = 100; + block-spacing = 0; + border-radius = 8; + border-width = 2; + background = "rgba(${builtins.toString config.palette.mantle.rgb.r}, ${builtins.toString config.palette.mantle.rgb.g}, ${builtins.toString config.palette.mantle.rgb.b}, 1)"; + border-color = "rgba(${builtins.toString config.palette.${config.catppuccin.accent}.rgb.r}, ${ + builtins.toString config.palette.${config.catppuccin.accent}.rgb.g + }, ${builtins.toString config.palette.${config.catppuccin.accent}.rgb.b}, 1)"; + bar-fg-color = "rgba(${builtins.toString config.palette.${config.catppuccin.accent}.rgb.r}, ${ + builtins.toString config.palette.${config.catppuccin.accent}.rgb.g + }, ${builtins.toString config.palette.${config.catppuccin.accent}.rgb.b}, 1)"; + bar-bg-color = "rgba(${builtins.toString config.palette.mantle.rgb.r}, ${builtins.toString config.palette.mantle.rgb.g}, ${builtins.toString config.palette.mantle.rgb.b}, 1)"; + }; + }; + }; +} diff --git a/home/environments/niri/binds.nix b/home/environments/niri/binds.nix new file mode 100644 index 00000000..630c6014 --- /dev/null +++ b/home/environments/niri/binds.nix @@ -0,0 +1,145 @@ +{ config, pkgs, lib, std, ... }: let + inherit (std) list; + inherit (lib.modules) mkMerge; +in { + programs.niri.settings.binds = let + bindWorkspace = key: workspace: { + "Mod+${key}".action.focus-workspace = workspace; + "Mod+Ctrl+${key}".action.move-column-to-workspace = workspace; + }; + workspaceBindings = + list.map (v: bindWorkspace (builtins.toString v) v) (list.range 1 9) + ++ [ + ( + bindWorkspace "0" 10 + ) + ]; + in mkMerge (workspaceBindings ++ [{ + # Transcribed: https://github.com/sodiboo/niri-flake/issues/483 + # thank you Pacman99 you chad :3 + "Mod+Q".action.close-window = {}; + "Mod+O".action.toggle-overview = {}; + + "Mod+Left".action.focus-column-left = {}; + "Mod+Down".action.focus-window-down = {}; + "Mod+Up".action.focus-window-up = {}; + "Mod+Right".action.focus-column-right = {}; + "Mod+H".action.focus-column-left = {}; + "Mod+J".action.focus-window-down = {}; + "Mod+K".action.focus-window-up = {}; + "Mod+L".action.focus-column-right = {}; + + "Mod+Ctrl+Left".action.move-column-left = {}; + "Mod+Ctrl+Down".action.move-window-down = {}; + "Mod+Ctrl+Up".action.move-window-up = {}; + "Mod+Ctrl+Right".action.move-column-right = {}; + "Mod+Ctrl+H".action.move-column-left = {}; + "Mod+Ctrl+J".action.move-window-down = {}; + "Mod+Ctrl+K".action.move-window-up = {}; + "Mod+Ctrl+L".action.move-column-right = {}; + + "Mod+Home".action.focus-column-first = {}; + "Mod+End".action.focus-column-last = {}; + "Mod+Ctrl+Home".action.move-column-to-first = {}; + "Mod+Ctrl+End".action.move-column-to-last = {}; + + "Mod+Shift+Left".action.focus-monitor-left = {}; + "Mod+Shift+Down".action.focus-monitor-down = {}; + "Mod+Shift+Up".action.focus-monitor-up = {}; + "Mod+Shift+Right".action.focus-monitor-right = {}; + "Mod+Shift+H".action.focus-monitor-left = {}; + "Mod+Shift+J".action.focus-monitor-down = {}; + "Mod+Shift+K".action.focus-monitor-up = {}; + "Mod+Shift+L".action.focus-monitor-right = {}; + + "Mod+Shift+Ctrl+Left".action.move-column-to-monitor-left = {}; + "Mod+Shift+Ctrl+Down".action.move-column-to-monitor-down = {}; + "Mod+Shift+Ctrl+Up".action.move-column-to-monitor-up = {}; + "Mod+Shift+Ctrl+Right".action.move-column-to-monitor-right = {}; + "Mod+Shift+Ctrl+H".action.move-column-to-monitor-left = {}; + "Mod+Shift+Ctrl+J".action.move-column-to-monitor-down = {}; + "Mod+Shift+Ctrl+K".action.move-column-to-monitor-up = {}; + "Mod+Shift+Ctrl+L".action.move-column-to-monitor-right = {}; + + "Mod+Page_Down".action.focus-workspace-down = {}; + "Mod+Page_Up".action.focus-workspace-up = {}; + "Mod+U".action.focus-workspace-down = {}; + "Mod+I".action.focus-workspace-up = {}; + "Mod+Ctrl+Page_Down".action.move-column-to-workspace-down = {}; + "Mod+Ctrl+Page_Up".action.move-column-to-workspace-up = {}; + "Mod+Ctrl+U".action.move-column-to-workspace-down = {}; + "Mod+Ctrl+I".action.move-column-to-workspace-up = {}; + + "Mod+Shift+Page_Down".action.move-workspace-down = {}; + "Mod+Shift+Page_Up".action.move-workspace-up = {}; + "Mod+Shift+U".action.move-workspace-down = {}; + "Mod+Shift+I".action.move-workspace-up = {}; + + "Mod+WheelScrollDown" = { + cooldown-ms = 150; + action.focus-workspace-down = {}; + }; + "Mod+WheelScrollUp" = { + cooldown-ms = 150; + action.focus-workspace-up = {}; + }; + "Mod+Ctrl+WheelScrollDown" = { + cooldown-ms = 150; + action.move-column-to-workspace-down = {}; + }; + "Mod+Ctrl+WheelScrollUp" = { + cooldown-ms = 150; + action.move-column-to-workspace-up = {}; + }; + + "Mod+WheelScrollRight".action.focus-column-right = {}; + "Mod+WheelScrollLeft".action.focus-column-left = {}; + "Mod+Ctrl+WheelScrollRight".action.move-column-right = {}; + "Mod+Ctrl+WheelScrollLeft".action.move-column-left = {}; + + "Mod+Shift+WheelScrollDown".action.focus-column-right = {}; + "Mod+Shift+WheelScrollUp".action.focus-column-left = {}; + "Mod+Ctrl+Shift+WheelScrollDown".action.move-column-right = {}; + "Mod+Ctrl+Shift+WheelScrollUp".action.move-column-left = {}; + + "Mod+Comma".action.consume-window-into-column = {}; + "Mod+Period".action.expel-window-from-column = {}; + + "Mod+R".action.switch-preset-column-width = {}; + "Mod+Shift+R".action.reset-window-height = {}; + "Mod+F".action.maximize-column = {}; + "Mod+Shift+F".action.fullscreen-window = {}; + "Mod+C".action.center-column = {}; + + "Mod+Minus".action.set-column-width = "-10%"; + "Mod+Equal".action.set-column-width = "+10%"; + + "Mod+Shift+Minus".action.set-window-height = "-10%"; + "Mod+Shift+Equal".action.set-window-height = "+10%"; + + "Print".action.screenshot = {}; + "Ctrl+Print".action.screenshot-screen = {}; + "Alt+Print".action.screenshot-window = {}; + + # The quit action will show a confirmation dialog to avoid accidental exits. + "Mod+Shift+E".action.quit = {}; + + # Powers off the monitors. To turn them back on, do any input like + # moving the mouse or pressing any other key. + "Mod+Shift+P".action.power-off-monitors = {}; + + # Kat + "XF86AudioRaiseVolume".action.spawn = ["wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1+"]; + "XF86AudioLowerVolume".action.spawn = ["wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1-"]; + "XF86AudioMute".action.spawn = ["wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"]; + "XF86AudioPlay".action.spawn = ["${pkgs.playerctl}/bin/playerctl" "play-pause"]; + "XF86AudioNext".action.spawn = ["${pkgs.playerctl}/bin/playerctl" "next"]; + "XF86AudioPrev".action.spawn = ["${pkgs.playerctl}/bin/playerctl" "prev"]; + "Mod+T".action.spawn = ["${config.programs.wezterm.package}/bin/wezterm"]; + "Mod+D".action.spawn = ["${config.programs.wofi.package}/bin/wofi" "-t" "wezterm" "-IS" "drun"]; + "Mod+Shift+D".action.spawn = ["${config.programs.wofi.package}/bin/wofi" "-t" "wezterm" "-IS" "run"]; + "Mod+Escape".action.spawn = ["${config.programs.wlogout.package}/bin/wlogout" "-p" "layer-shell"]; + "Mod+Shift+Escape".action.spawn = ["${config.programs.swaylock.package}/bin/swaylock" "-f"]; + #"Print".action.spawn = ["${pkgs.grimblast}/bin/grimblast" "copy" "area"]; + }]); +} diff --git a/home/environments/niri/cursor.nix b/home/environments/niri/cursor.nix new file mode 100644 index 00000000..05f4463d --- /dev/null +++ b/home/environments/niri/cursor.nix @@ -0,0 +1,12 @@ +{ config, pkgs, ... }: { + catppuccin.cursors.enable = true; + home.pointerCursor = { + dotIcons.enable = true; + x11 = { + enable = true; + defaultCursor = config.home.pointerCursor.name; + }; + gtk.enable = true; + size = 32; + }; +} diff --git a/home/environments/niri/konawall.nix b/home/environments/niri/konawall.nix new file mode 100644 index 00000000..aa13bba4 --- /dev/null +++ b/home/environments/niri/konawall.nix @@ -0,0 +1,65 @@ +{ + inputs, + pkgs, + config, + ... +}: let + konawallConfig = { + interval = 30 * 60; + rotate = true; + source = "e621"; + tags = [ + "-rating:s" + "-male/male" + "-five_nights_at_freddy's" + #"touhou" + "-male" + "-large_breasts" + "-scalie" + #"-my_little_pony" + "-sonic_the_hedgehog" + "-amputee" + "-inflation" + "-pool_toy" + "-cuckold" + "-gore" + "-human" + "-animated" + "-hyper" + "-death" + "ratio:>=1.3" + "-muscular_male" + "-model_sheet" + "score:>=100" + "width:>=1500" + ]; + logging = { + file = "INFO"; + console = "DEBUG"; + }; + }; +in { + sops.secrets.konawall-py-env = { + sopsFile = ./konawall.yaml; + }; + home.packages = [ + inputs.konawall-py.packages.${pkgs.system}.konawall-py + ]; + xdg.configFile = { + "konawall/config.toml".source = (pkgs.formats.toml {}).generate "konawall-config" konawallConfig; + }; + systemd.user.services.konawall-py = { + Unit = { + Description = "konawall-py"; + X-Restart-Triggers = [(toString config.xdg.configFile."konawall/config.toml".source)]; + After = ["graphical-session.target" "network-online.target"]; + }; + Service = { + ExecStart = "${inputs.konawall-py.packages.${pkgs.system}.konawall-py}/bin/konawall"; + Restart = "on-failure"; + RestartSec = "1s"; + EnvironmentFile = config.sops.secrets.konawall-py-env.path; + }; + Install = {WantedBy = ["graphical-session.target"];}; + }; +} diff --git a/home/environments/niri/konawall.yaml b/home/environments/niri/konawall.yaml new file mode 100644 index 00000000..0bc8cc77 --- /dev/null +++ b/home/environments/niri/konawall.yaml @@ -0,0 +1,110 @@ +konawall-py-env: ENC[AES256_GCM,data:8SWQgZkKXffy+GfhbIkZAB3ZJ9a+q5yPmMdt3lgrzezguX23p7vqgRac9AHq1x8=,iv:K5Pj9FuLWbpah8WaD5TZwmomZUgJnuaCdzFlu7K4n/w=,tag:qTlbMlsTeTnXSm+lyDe1iw==,type:str] +sops: + shamir_threshold: 1 + age: + - recipient: age1n4kdchmkk3rfkaknxhveqr2ftprdpgwckutt23y6u8639lazzuks77tgav + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBSQ2twMTY4UGhEZzNjRG1P + UDhPV1RzcnBwdG9aaVdjV1FxU0dsNzRURVJJCmwvbXRUVFExNjBRb09GTXREZmd4 + WS9CclFlbXdhUkNITFI0bW9EVS9YNTQKLS0tIGxPS3JvNEJZSCswYlRZdHJkN2lH + ZHBDblNCN3RmbUtrdTEzVDFQdzI3eDQKY/Q+zAs4cTr2fWDdVqNR+fYRnSIO6s6a + 1UOqkFAIZOMmrYMiBu132zgBNT0HU0avvEkZ85Wp72HPv1bUz2QJ4g== + -----END AGE ENCRYPTED FILE----- + - recipient: age1cnu37d5fqyahh9vvc4hj6z6k8ur9ksuefln7sr6g3emmn927eutqxdawuh + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQNUF0NXRNRTAzRzc1ZnUv + cTdmNm8zRTN5WUJ2WUl4aDVmbUNUbzdxd0djCjg3SkF1bmZITW1GNVJ1cHl2QWRP + QitpRHAzNUhWLzNQZUxLeitKQmkyNGsKLS0tIDJkTEVrOS9tZlg1bi9EeXFzSkNz + M2FzNFg4TDc5d0pWOHhUSjJ3Vko2Q0kKDDOhuMe57zE8GSWja37WJrm+dlSROzde + 2+RwG6OjDAltWtPpmiLmFCnnGLu3VGYZupbwOtWfBxWiZFQfaYsW9w== + -----END AGE ENCRYPTED FILE----- + - recipient: age1a0m73qr8hhuz8xemv4vymf4wmpghm2hst8wgrn3pn65ext5mf4ksk0vsdm + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBuWmh0Y3hpcXF1RzYvMEJZ + dms2akl4SHBSU1dPaERtM1l5NlJGQjBkc2xnCjM1UEFJZVBSK2ZMaE5GM3lTTlov + RlJxK3kyd0FWYlZncVowd2t1amp2UlEKLS0tIEZwRVVoak90bXVvSlhqenRYMldN + ZDdPOUh0SkFMdDlRV2pIby9ObFZlNXcKleHAiVFw8B6axyOUBhA3nhh+5Q6q82WI + IlOK9nsFJ4yYCU+IZ6TRkAbu7m8xCC24yBOMY3cUZzYc+3HxjIByDw== + -----END AGE ENCRYPTED FILE----- + - recipient: age18hpxz0ghvswv9k30cle73prvnzrsuczqh87jjdk9fl50j3ddndmq9xae0n + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBWQ01DWDZtVHpKbFlmREJk + Q2hUdkRUQ1dOWVRaL1NQU3Y1a2NneXpiaVNnClZrZGo5RnIwSk1UbFJ3K1lIZDl3 + bmxWUGR2ZTNxaG9aZEhBQlhrQ0g5TUkKLS0tIDM4bHZWTFR2YUZlT3QrSms2SElB + R01tUEJxRy9mQkNlQUloOFk4b0JyOEUKihPiTr07wiT32FBA3KQplBq21EgzyjEA + iXkJDTX5cBn62P53UO/3Gkgi3CG9BjxposrAq5Jmvylej6EgCF13NQ== + -----END AGE ENCRYPTED FILE----- + - recipient: age1xgy03g3vjydsxcl0qpdgm8rahjcjq95ucxfwlgr22zwjx3p7jf2s9jk6u5 + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxdktCby9jdG4yR0tIZ2JE + N2F2TkRsaXpuOHNXYVBid3NHU21HWFpQOEVFClRIbXVBNm9GMTVyQno5eGNwRkFU + NDhZZDBZT0p1SDh5SW1ycjM2SXZ3R3MKLS0tIGJ2R01TaFFHNnU2cG1wcHA3WkI3 + NWxYRDZzZS9Bc25qbW9BUXZaL09rZXMKdpveRhf73CNVCiU+Xjo9TNxW+NTHLJNq + EhYYMnIEtzWDWQOJBzed8+4dpVpjLxJ1Z4EATdRV/vSNLuH+2NENOg== + -----END AGE ENCRYPTED FILE----- + - recipient: age1fv5dafs4n3r5n83qm2hfz7xmnflsz0xf9r3saralrptpgf8mvuxq4t8k3u + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAwZUlsZmJZU1JXS1ZxdFNq + emoxdEY3dzZ4ajdWZ1IwTHJhNjZTdUFwR1EwCmo2M3FNaGw0M3phWGFHbThlRnAw + aTFJT3Zkd0RRUTBub3RyTWRhUWl5UTAKLS0tIEpmRlFVeWZILzkzR2hFUG9UbHFS + R0dsOGpPWVJQNkFOd0FHbnBWZ1ZvL1EKsTb8ToKytd5VPig7+koYsMYIKyglIuZm + KvyEgYScynYRiYCjVH92NUo2VaNV+i2g+syUIrcgDvzGa98fgnFITw== + -----END AGE ENCRYPTED FILE----- + - recipient: age120530yclr75k6nrzp6k5jjftj8j4q9v3533guupzk4ct86mjxszqg9e5t5 + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB1eEN6MS9kVkMySTFpVnNZ + YytlVjJhdUxWQ1I0UkgrWnM0REFUakkvYkJrCkUrRkpXa09rUnByemdJdEljcW10 + R01uRkF1WnQ5OTBFOWRuMmtGSkZmT3MKLS0tIFZhNms3blpHWGtJM203Wk5RT1R6 + emE2VjJPcnNLTnNNOCtYMFRLd3VuV3cKYdupODU2h9PQN0nXlAkZaaJE+fUNQGmV + TKv6OP8MiWdle50eMvEJCy7sEPTcq02Xwm3cKJCo3k+N2rUPfyf2BQ== + -----END AGE ENCRYPTED FILE----- + - recipient: age1c4atxfp05u7zm875s6q8p82ve96rqqpq9smktxlur8pk2yc3qvgql46dp9 + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBTZHZKcHBOWDZROWc5ZEVS + dW9oT01zR00rUlZOVGhFQXJSS3A4cGZUR21rCkVmUWRvZ3BpMllSdUY4SkNiSDhs + bmt6KzkwWnVObkdJeXV3WWFRdGxlc28KLS0tIDdaNTVSWjNxazhVanA2Mk9QTmlr + cEdOZTlKeWdHREpJQ0VDVlN4eG5LWkEKO9sLRqGxtJUKjeQsvZAodBv1Cvs4z1ut + LptNfGOJQxxwHazKb5VdoXe6Z6qOxciQ1ngNetLC7yEPzEs51smFOg== + -----END AGE ENCRYPTED FILE----- + - recipient: age1rjldv3fn3q686647exmcukthr32gmp6s3axs0lhyenvru9ajp9rs24ukvz + enc: | + -----BEGIN AGE ENCRYPTED FILE----- + YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBveEE2Y0d4RFp2Q1NQV2g3 + K1pSSFRNeXlzWlo2U211SzM5Rjg5MG5EUmpRCkhYMVhuS2tONnpVdHJNZ3NGS3kz + Y09KWitzRHIwZnQ4MmR5elZiSGVZdzQKLS0tIFJIcGR1ZTBjSUREeVIvSnlEdzNZ + Q2JJNi9EMG5RMi94WFpncThCdExmM3cKUD+TsPY0T5YilXlpRw4W1cQLeDhOyo1K + TKvcIWq/+vfVa8Smcg2L/9tX5B2uHXDB0UXDpaMfazgsFu4ja7nvSg== + -----END AGE ENCRYPTED FILE----- + lastmodified: "2025-02-28T21:15:38Z" + mac: ENC[AES256_GCM,data:2QggqmZhRgx+kpvDZOBU/KBLruwxbD4F3NHTiNK2N8Ux133pgLDjP88HDmBy8ZRXmGFdkUK0IqOSx1Axy3qpy14DlSdOw9L/WQhOCybEX21ib+ANb90275FtD+7J8luIvOPbCtus9c9gpqYQIirlQMqwkMZ1QADv62ewmVUJD6w=,iv:4V9KA9oq1TR5+cFtZdEop7haPOavRaRd6wwgJDyJeXQ=,tag:MXwB98KN5kit4Oyl+qQFLw==,type:str] + pgp: + - created_at: "2025-06-27T20:11:04Z" + enc: |- + -----BEGIN PGP MESSAGE----- + + hQIMA82M54yws73UARAAiUcVShX8Vuf1EW/5Z0OrkBLoMVRaF8FV/CvHmdNZNnIz + K0e0XTyNRSFBwy530VSSgJ5m/db+fQ6SAVEPIJWd22g4yKsHUZOuApQQtdVDQsPB + UG7zKJEtDVDmcMzoKuZx5M/TQhWdGCP1Ut3vYJZ1scDhxuum5RKLzO4bZyHx0NPy + q3U0TRo4RQHtrOGiiBLJnCJhYWqgfGZe3M/Q6VakX5CF0Yy1CmvyCrmHBgjQJ1Br + lMdMpXyTIwkCXOGQYocYOERg1DxcM6eEo4O65tuo0nLG5BExa5Oy5f35O3j73fq9 + DHpM7UjSOnsDAuQY0oMpjIaXRPvH/7yBk0hKV1XI9PuC8dDAe25jLvL82UAaMvRC + FKQkLBezYVZB+g8JH0a+ki9ibMk8hpcSQQPaengbiKHROxIXg6L4wZKXs3jFAjVE + xy0NfgLxrBrAXnx0exNl/gokU+LISZ95XgGN6nkjdOllonEOHq78q5kLHwD5KCoy + 6qm4Mmv4YdiClRy7NA0lpIRjFeHprj7ZF57tt0vS3yNTaBtVKcUWRwphQvSmcnlF + g5TPWu7x8qQ0gaB5BY+J6oJguqQI7kqWoq1xG2FUWq6klBGumFBWJ/ajd7z3ZyOM + RwUei6PNsXdBcKeQG8dBKK4D0RUakXWjbTyQYHElr0CH06eoNmKcNQlGc4ACrTnS + XgHbkY8kbowDgSx0e7YR4wdtqwgYH7xdcuDyc07iYwL4dWseu8UK5NvSHlXHXvFS + C/h8Z0qOalE1ogzL/gW9kgkfWm7O+EOIm1VqgO1Edv15iFySLTynA6bV9lmzLDw= + =i4jk + -----END PGP MESSAGE----- + fp: CD8CE78CB0B3BDD4 + unencrypted_suffix: _unencrypted + version: 3.9.4 diff --git a/home/environments/niri/mako.nix b/home/environments/niri/mako.nix new file mode 100644 index 00000000..dfae8671 --- /dev/null +++ b/home/environments/niri/mako.nix @@ -0,0 +1,32 @@ +{ + config, + pkgs, + lib, + ... +}: let + inherit (config.base16) palette; + inherit (lib.modules) mkForce; +in { + systemd.user.services = { + mako = { + Unit = { + Description = "mako"; + X-Restart-Triggers = [(toString config.xdg.configFile."mako/config".source)]; + }; + Service = { + ExecStart = "${pkgs.mako}/bin/mako"; + Restart = "always"; + }; + Install = {WantedBy = ["graphical-session.target"];}; + }; + }; + + services.mako = mkForce { + enable = true; + font = "Monaspace Krypton 10"; + defaultTimeout = 3000; + borderColor = palette.base08; + backgroundColor = "${palette.base00}BF"; + textColor = palette.base05; + }; +} diff --git a/home/environments/niri/niri.nix b/home/environments/niri/niri.nix new file mode 100644 index 00000000..29e6bb40 --- /dev/null +++ b/home/environments/niri/niri.nix @@ -0,0 +1,89 @@ +{ config, pkgs, lib, ... }: let + inherit (lib.meta) getExe; +in { + home.packages = with pkgs; [ + wl-clipboard + wlr-randr + wl-screenrec + slurp + grim + pavucontrol + brightnessctl + playerctl + glib + pcmanfm + ]; + programs.niri = { + settings = { + cursor = { + inherit (config.home.pointerCursor) size; + theme = config.home.pointerCursor.name; + }; + gestures.hot-corners.enable = false; + input = { + keyboard = { + xkb = { + options = "compose:rctrl,ctrl:nocaps"; + }; + }; + mouse = { + accel-profile = "flat"; + }; + touchpad = { + dwt = true; + dwtp = true; + }; + focus-follows-mouse.enable = true; + }; + layout = { + background-color = config.palette.base.hex; + gaps = 10; + always-center-single-column = true; + preset-column-widths = [ + { proportion = 0.33333; } + { proportion = 0.5; } + { proportion = 0.66667; } + { proportion = 1.0; } + ]; + default-column-width = { + proportion = 1.0; + }; + border = { + enable = true; + width = 2; + active.color = config.palette.surface0.hex; + inactive.color = config.palette.surface0.hex; + urgent.color = config.palette.red.hex; + }; + focus-ring = { + enable = false; + width = 2; + active.color = config.palette.${config.catppuccin.accent}.hex; + }; + shadow = { + enable = true; + color = config.palette.crust.hex; + }; + }; + workspaces = { + browser = {}; + chat = {}; + vidya = {}; + media = {}; + }; + environment = { + MOZ_ENABLE_WAYLAND = "1"; + XDG_CURRENT_DESKTOP = "niri"; + GDK_BACKEND = "wayland,x11"; + CLUTTER_BACKEND = "wayland"; + }; + xwayland-satellite = { + enable = true; + path = getExe pkgs.xwayland-satellite-unstable; + }; + prefer-no-csd = true; + clipboard.disable-primary = true; + hotkey-overlay.skip-at-startup = true; + }; + }; +} diff --git a/home/environments/niri/swayidle.nix b/home/environments/niri/swayidle.nix new file mode 100644 index 00000000..c119d67e --- /dev/null +++ b/home/environments/niri/swayidle.nix @@ -0,0 +1,25 @@ +{ pkgs, config, ... }: { + services.swayidle = { + enable = true; + timeouts = [ + { + timeout = 180; + command = "${pkgs.libnotify}/bin/notify-send 'Locking in 5 seconds from now.'"; + } + { + timeout = 185; + command = "${config.programs.swaylock.package}/bin/swaylock* -f"; + } + { + timeout = 600; + command = "${config.programs.niri.package}/bin/niri msg action power-off-monitors"; + } + ]; + events = [ + { + event = "before-sleep"; + command = "${config.programs.swaylock.package}/bin/swaylock* -f"; + } + ]; + }; +} diff --git a/home/environments/niri/swaylock.nix b/home/environments/niri/swaylock.nix new file mode 100644 index 00000000..28e961d3 --- /dev/null +++ b/home/environments/niri/swaylock.nix @@ -0,0 +1,17 @@ +{ pkgs, ... }: { + programs.swaylock = { + enable = true; + package = pkgs.swaylock-effects; + settings = { + screenshots = true; + indicator = true; + clock = true; + grace = 2; + fade-in = 2; + effect-blur = "7x5"; + effect-vignette = "0.5:0.5"; + show-failed-attempts = true; + font = "Monaspace Krypton"; + }; + }; +} diff --git a/home/environments/niri/swww.nix b/home/environments/niri/swww.nix new file mode 100644 index 00000000..4e217a67 --- /dev/null +++ b/home/environments/niri/swww.nix @@ -0,0 +1,3 @@ +_: { + services.swww.enable = true; +} diff --git a/home/environments/niri/waybar.nix b/home/environments/niri/waybar.nix new file mode 100644 index 00000000..68f9909d --- /dev/null +++ b/home/environments/niri/waybar.nix @@ -0,0 +1,211 @@ +_: { + programs.waybar = { + enable = true; + systemd.enable = true; + style = '' +* { + border: none; + border-radius: 0; + font-family: Monaspace Krypton, monospace; + font-size: 13px; + min-height: 0; +} + +window#waybar { + all:unset; +} + + +.modules-left, .modules-right, .modules-center { + background: alpha(@base, 0.9); + box-shadow: 0px 0px 2px rgba(0,0,0,0.6); + color: @text; + padding: 5px; + margin: 2px 4px; + border: 1px solid @lavender; +} + +tooltip { + background: rgba(43, 48, 59, 0.5); + border: 1px solid rgba(100, 114, 125, 0.5); +} +tooltip label { + color: white; +} + +#workspaces { + border-right: 1px solid @surface2; +} + + +#workspaces button.persistent { + background: @theme_unfocused_bg_color; + color: @subtext1; +} + +#workspaces button { + padding: 2px 5px; + background: @surface0; + border-bottom: 3px solid transparent; +} + +#workspaces button.empty { + background: @crust; + color: @subtext1; +} + +#workspaces button.visible { + background: @pink; + color: @theme_selected_fg_color; + border-bottom: 3px solid @rosewater; +} + +#workspaces button.urgent { + background: @red; + color: @theme_selected_fg_color; +} + +#workspaces button.active, #workspaces button.focused { + background: @theme_selected_bg_color; + color: @theme_selected_fg_color; + border-bottom: 3px solid white; +} + +#window { + padding: 0 10px; +} + +window#waybar.empty #window { + padding: 0px; + margin: 0px; +} + +#mode, #clock, #battery, #idle_inhibitor, #tray, #wireplumber, #bluetooth, #backlight, #mpris { + padding: 0 5px; + margin: 0 5px; +} + +#mpris { + color: @mantle; +} + +#mpris.playing { + background-color: @lavender; +} + +#mpris.paused { + background-color: @mauve; +} + +#mpris.stopped { + background-color: @rosewater; +} + +#mode { + background: #64727D; + border-bottom: 3px solid white; +} + +#clock { +} + +#battery { +} + +#battery.charging { + color: white; + background-color: #26A65B; +} + +@keyframes blink { + to { + background-color: #ffffff; + color: black; + } +} + +#battery.warning:not(.charging) { + background: #f53c3c; + color: white; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: steps(12); + animation-iteration-count: infinite; + animation-direction: alternate; +} + ''; + settings.main = { + layer = "top"; + position = "top"; + mode = "dock"; + exclusive = true; + modules-left = [ + "niri/workspaces" + "niri/window" + ]; + + modules-center = [ + "clock" + "mpris" + ]; + + + modules-right = [ + "privacy" + "bluetooth" + "wireplumber" + "idle_inhibitor" + "power-profiles-daemon" + "backlight" + "battery" + "tray" + ]; + + idle_inhibitor = { + format = "idin {icon}"; + format-icons = { + activated = "active"; + deactivated = "inactive"; + }; + }; + + bluetooth = { + on-click = "blueman-manager"; + format = "bt {status}"; + format-connected-battery = "bt {device_alias} {device_battery_percentage}%"; + format-connected = "bt {num_connections} connected"; + tooltip-format = "{controller_alias}\t{controller_address}\n\n{num_connections} connected"; + tooltip-format-connected = "{controller_alias}\t{controller_address}\n\n{num_connections} connected\n\n{device_enumerate}"; + tooltip-format-enumerate-connected = "{device_alias}\t{device_address}"; + tooltip-format-enumerate-connected-battery = "{device_alias}\t{device_address}\t{device_battery_percentage}%"; + }; + + wireplumber = { + format = "vol {volume}%"; + max-volume = 150; + }; + backlight = { + format = "bl {percent}%"; + }; + battery = { + format = "bat {capacity}%"; + format-tooltip = "{power}W, {timeTo}, {health}%"; + interval = 60; + + states = { + warning = 30; + critical = 15; + }; + }; + + tray = { + spacing = 4; + }; + + clock = { + format = "{:%F %H:%M %Z}"; + interval = 60; + }; + }; + }; +} diff --git a/home/environments/niri/window-rules.nix b/home/environments/niri/window-rules.nix new file mode 100644 index 00000000..4d123b81 --- /dev/null +++ b/home/environments/niri/window-rules.nix @@ -0,0 +1,39 @@ +_: { + programs.niri.settings.window-rules = [ + { + draw-border-with-background = false; + clip-to-geometry = true; + geometry-corner-radius = + let + r = 5.0; + in + { + bottom-left = r; + bottom-right = r; + top-left = r; + top-right = r; + }; + } + + { + matches = [ { app-id = "^firefox$"; } ]; + open-on-workspace = "browser"; + } + { + matches = [ + { app-id = "^vesktop$"; } + { app-id = "^discord$"; } + { app-id = "^org.telegram.desktop$"; } + ]; + open-on-workspace = "chat"; + } + { + matches = [ { app-id = "^steam_app_default$"; } ]; + open-on-workspace = "vidya"; + } + { + matches = [ { app-id = "^spotify$"; } ]; + open-on-workspace = "media"; + } + ]; +} diff --git a/home/environments/niri/wlogout.nix b/home/environments/niri/wlogout.nix new file mode 100644 index 00000000..c7493482 --- /dev/null +++ b/home/environments/niri/wlogout.nix @@ -0,0 +1,5 @@ +_: { + programs.wlogout = { + enable = true; + }; +} diff --git a/home/environments/niri/wofi.nix b/home/environments/niri/wofi.nix new file mode 100644 index 00000000..4329849a --- /dev/null +++ b/home/environments/niri/wofi.nix @@ -0,0 +1,12 @@ +_: { + programs.wofi = { + enable = true; + settings = { + insensitive = true; + allow_images = true; + hide_scroll = true; + mode = "dmenu"; + prompt = ""; + }; + }; +} diff --git a/home/environments/niri/xdg.nix b/home/environments/niri/xdg.nix new file mode 100644 index 00000000..5af3ec31 --- /dev/null +++ b/home/environments/niri/xdg.nix @@ -0,0 +1,14 @@ +_: { + xdg = { + enable = true; + autostart.enable = true; + mime.enable = true; + + mimeApps = { + enable = true; + defaultApplications = { + "inode/directory" = "pcmanfm.desktop"; + }; + }; + }; +} diff --git a/home/profiles/graphical/media.nix b/home/profiles/graphical/media.nix index d4e3f573..f2dadf3a 100644 --- a/home/profiles/graphical/media.nix +++ b/home/profiles/graphical/media.nix @@ -10,7 +10,8 @@ in { enable = true; scripts = with pkgs.mpvScripts; [ sponsorblock - paused + mpris + uosc ]; config = { profile = "gpu-hq"; diff --git a/home/profiles/graphical/tealdeer.nix b/home/profiles/graphical/tealdeer.nix new file mode 100644 index 00000000..9a1eac4e --- /dev/null +++ b/home/profiles/graphical/tealdeer.nix @@ -0,0 +1,6 @@ +_: { + programs.tealdeer = { + enable = true; + settings.updates.auto_update = true; + }; +} diff --git a/home/profiles/graphical/vscode.nix b/home/profiles/graphical/vscode.nix deleted file mode 100644 index 03fe35c5..00000000 --- a/home/profiles/graphical/vscode.nix +++ /dev/null @@ -1,47 +0,0 @@ -{pkgs, ...}: { - programs.vscode = { - enable = false; - extensions = with pkgs.vscode-extensions; [ - vscodevim.vim - catppuccin.catppuccin-vsc - kamadorueda.alejandra - mkhl.direnv - hashicorp.terraform - jnoortheen.nix-ide - pkgs.outrun - ]; - userSettings = { - "nix.enableLanguageServer" = true; - "workbench.colorTheme" = "Outrun Night"; - "editor.suggest.preview" = true; - "[nix]" = { - "editor.defaultFormatter" = "kamadorueda.alejandra"; - "editor.formatOnPaste" = true; - "editor.formatOnSave" = true; - "editor.formatOnType" = false; - }; - "files.eol" = "\n"; - "alejandra.program" = "${pkgs.alejandra}/bin/alejandra"; - "editor.fontFamily" = ''"Monaspace Krypton", "Font Awesome 6 Free", "Font Awesome 6 Brands"''; - "editor.fontLigatures" = true; - "terraform.experimentalFeatures.prefillRequiredFields" = true; - "terraform.experimentalFeatures.validateOnSave" = true; - "terraform.codelens.referenceCount" = true; - "go.alternateTools" = { - gopls = "${pkgs.gopls}/bin/gopls"; - }; - "vim.useSystemClipboard" = true; - go = { - inlayHints = { - assignVariableTypes = true; - compositeLiteralFields = true; - compositeLiteralTypes = true; - constantValues = true; - functionTypeParameters = true; - parameterNames = true; - rangeVariableTypes = true; - }; - }; - }; - }; -} diff --git a/home/profiles/graphical/wezterm.nix b/home/profiles/graphical/wezterm.nix index 8f515d04..9f4126c6 100644 --- a/home/profiles/graphical/wezterm.nix +++ b/home/profiles/graphical/wezterm.nix @@ -7,29 +7,28 @@ enable = true; package = inputs.wezterm.outputs.packages.${pkgs.system}.default; extraConfig = '' - local wezterm = require 'wezterm'; - return { - font = wezterm.font_with_fallback({ - "Monaspace Krypton", - -- , BuiltIn - "JetBrains Mono", - - -- /nix/store/mc76mhlam0rggcgx3z695025phl07pi1-noto-fonts-color-emoji-2.042/share/fonts/noto/NotoColorEmoji.ttf, FontConfig - -- Assumed to have Emoji Presentation - -- Pixel sizes: [128] - "Noto Color Emoji", - - -- , BuiltIn - "Symbols Nerd Font Mono", - - }), - window_decorations = "TITLE | RESIZE", - enable_wayland = false, - warn_about_missing_glyphs = false, - font_size = 12.0, - check_for_updates = false, - enable_tab_bar = false - } + local wezterm = require 'wezterm'; + local config = {} + config.font = wezterm.font_with_fallback({ + "Monaspace Krypton", + "JetBrains Mono", + "Noto Color Emoji", + "Symbols Nerd Font Mono", + }) + config.window_padding = { + left = 8, + right = 8, + top = 8, + bottom = 8, + } + config.use_fancy_tab_bar = true + config.tab_bar_at_bottom = true + config.hide_mouse_cursor_when_typing = false + config.window_decorations = "TITLE | RESIZE" + config.warn_about_missing_glyphs = false + config.font_size = 12.0 + config.check_for_updates = false + return config ''; }; } diff --git a/home/profiles/shell/packages.nix b/home/profiles/shell/packages.nix index f136764b..7f45fef7 100644 --- a/home/profiles/shell/packages.nix +++ b/home/profiles/shell/packages.nix @@ -4,7 +4,7 @@ htop btop # disk usage - duc-cli + duc # nix formatting nixpkgs-fmt # show type of files diff --git a/home/profiles/shell/zsh.nix b/home/profiles/shell/zsh.nix index 930ba496..ff59a54e 100644 --- a/home/profiles/shell/zsh.nix +++ b/home/profiles/shell/zsh.nix @@ -3,6 +3,7 @@ config, lib, std, + inputs, pkgs, ... }: let @@ -119,7 +120,7 @@ in { ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE = "fg=3,bold"; ZSH_AUTOSUGGEST_USE_ASYNC = 1; }; - plugins = with pkgs.zsh-plugins; (list.map (plugin: plugin.zshPlugin) [ + plugins = with inputs.arcexprs.legacyPackages.${pkgs.system}.zsh-plugins; (list.map (plugin: plugin.zshPlugin) [ tab-title vim-mode evil-registers diff --git a/modules/home/palette.nix b/modules/home/palette.nix new file mode 100644 index 00000000..c8ddeff2 --- /dev/null +++ b/modules/home/palette.nix @@ -0,0 +1,21 @@ +# Taken from: https://git.gay/olivia/fur/src/branch/main/modules/home/palette/default.nix +{ + config, + pkgs, + lib, + ... +}: +let + inherit (lib) mkOption types; + palette = + (pkgs.lib.importJSON (config.catppuccin.sources.palette + "/palette.json")) + .${config.catppuccin.flavor}.colors; +in +{ + options.palette = mkOption { type = types.attrsOf types.raw; }; + config = { + inherit palette; + }; +} + + diff --git a/modules/nixos/mautrix-slack.nix b/modules/nixos/mautrix-slack.nix deleted file mode 100644 index dce9d3eb..00000000 --- a/modules/nixos/mautrix-slack.nix +++ /dev/null @@ -1,249 +0,0 @@ -{ - lib, - config, - pkgs, - ... -}: let - cfg = config.services.mautrix-slack; - dataDir = "/var/lib/mautrix-slack"; - registrationFile = "${dataDir}/slack-registration.yaml"; - settingsFile = "${dataDir}/config.yaml"; - settingsFileUnsubstituted = settingsFormat.generate "mautrix-slack-config-unsubstituted.json" cfg.settings; - settingsFormat = pkgs.formats.json {}; - appservicePort = 29335; - - # to be used with a list of lib.mkIf values - optOneOf = lib.lists.findFirst (value: value.condition) (lib.mkIf false null); - mkDefaults = lib.mapAttrsRecursive (_n: v: lib.mkDefault v); - defaultConfig = { - homeserver.address = "http://localhost:8448"; - appservice = { - hostname = "[::]"; - port = appservicePort; - database.type = "sqlite3"; - database.uri = "file:${dataDir}/mautrix-slack.db?_txlock=immediate"; - id = "slack"; - bot = { - username = "slackbot"; - displayname = "Slack Bridge Bot"; - }; - as_token = ""; - hs_token = ""; - }; - bridge = { - username_template = "slack_{{.}}"; - displayname_template = "{{.RealName}} (S)"; - bot_displayname_template = "{{.Name}} (bot)"; - channel_name_template = "#{{.Name}}"; - double_puppet_server_map = {}; - login_shared_secret_map = {}; - command_prefix = "!slack"; - permissions."*" = "relay"; - relay.enabled = true; - }; - logging = { - min_level = "info"; - writers = lib.singleton { - type = "stdout"; - format = "pretty-colored"; - time_format = " "; - }; - }; - }; -in { - options.services.mautrix-slack = { - enable = lib.mkEnableOption "mautrix-slack, a Matrix-Signal puppeting bridge."; - - settings = lib.mkOption { - apply = lib.recursiveUpdate defaultConfig; - inherit (settingsFormat) type; - default = defaultConfig; - description = '' - {file}`config.yaml` configuration as a Nix attribute set. - Configuration options should match those described in - [example-config.yaml](https://github.com/mautrix/slack/blob/master/example-config.yaml). - Secret tokens should be specified using {option}`environmentFile` - instead of this world-readable attribute set. - ''; - example = { - appservice = { - database = { - type = "postgres"; - uri = "postgresql:///mautrix_slack?host=/run/postgresql"; - }; - id = "slack"; - ephemeral_events = false; - }; - bridge = { - history_sync = { - request_full_sync = true; - }; - private_chat_portal_meta = true; - mute_bridging = true; - encryption = { - allow = true; - default = true; - require = true; - }; - provisioning = { - shared_secret = "disable"; - }; - permissions = { - "example.com" = "user"; - }; - }; - }; - }; - - environmentFile = lib.mkOption { - type = lib.types.nullOr lib.types.path; - default = null; - description = '' - File containing environment variables to be passed to the mautrix-slack service. - If an environment variable `MAUTRIX_SIGNAL_BRIDGE_LOGIN_SHARED_SECRET` is set, - then its value will be used in the configuration file for the option - `login_shared_secret_map` without leaking it to the store, using the configured - `homeserver.domain` as key. - See [here](https://github.com/mautrix/slack/blob/main/example-config.yaml) - for the documentation of `login_shared_secret_map`. - ''; - }; - - serviceDependencies = lib.mkOption { - type = with lib.types; listOf str; - default = - (lib.optional config.services.matrix-synapse.enable config.services.matrix-synapse.serviceUnit) - ++ (lib.optional config.services.matrix-conduit.enable "conduit.service"); - defaultText = lib.literalExpression '' - (optional config.services.matrix-synapse.enable config.services.matrix-synapse.serviceUnit) - ++ (optional config.services.matrix-conduit.enable "conduit.service") - ''; - description = '' - List of systemd units to require and wait for when starting the application service. - ''; - }; - - registerToSynapse = lib.mkOption { - type = lib.types.bool; - default = config.services.matrix-synapse.enable; - defaultText = lib.literalExpression '' - config.services.matrix-synapse.enable - ''; - description = '' - Whether to add the bridge's app service registration file to - `services.matrix-synapse.settings.app_service_config_files`. - ''; - }; - }; - - config = lib.mkIf cfg.enable { - users.users.mautrix-slack = { - isSystemUser = true; - group = "mautrix-slack"; - home = dataDir; - description = "Mautrix-Signal bridge user"; - }; - - users.groups.mautrix-slack = {}; - - services.matrix-synapse = lib.mkIf cfg.registerToSynapse { - settings.app_service_config_files = [registrationFile]; - }; - systemd.services.matrix-synapse = lib.mkIf cfg.registerToSynapse { - serviceConfig.SupplementaryGroups = ["mautrix-slack"]; - }; - - # Note: this is defined here to avoid the docs depending on `config` - services.mautrix-slack.settings.homeserver = optOneOf (with config.services; [ - (lib.mkIf matrix-synapse.enable (mkDefaults { - domain = matrix-synapse.settings.server_name; - })) - (lib.mkIf matrix-conduit.enable (mkDefaults { - domain = matrix-conduit.settings.global.server_name; - address = "http://localhost:${toString matrix-conduit.settings.global.port}"; - })) - ]); - - systemd.services.mautrix-slack = { - description = "mautrix-slack, a Matrix-Signal puppeting bridge."; - - wantedBy = ["multi-user.target"]; - wants = ["network-online.target"] ++ cfg.serviceDependencies; - after = ["network-online.target"] ++ cfg.serviceDependencies; - # ffmpeg is required for conversion of voice messages - path = [pkgs.ffmpeg-headless]; - - preStart = '' - # substitute the settings file by environment variables - # in this case read from EnvironmentFile - test -f '${settingsFile}' && rm -f '${settingsFile}' - old_umask=$(umask) - umask 0177 - ${pkgs.envsubst}/bin/envsubst \ - -o '${settingsFile}' \ - -i '${settingsFileUnsubstituted}' - umask $old_umask - - # generate the appservice's registration file if absent - if [ ! -f '${registrationFile}' ]; then - ${pkgs.mautrix-slack}/bin/mautrix-slack \ - --generate-registration \ - --config='${settingsFile}' \ - --registration='${registrationFile}' - fi - chmod 640 ${registrationFile} - - umask 0177 - # 1. Overwrite registration tokens in config - # 2. If environment variable MAUTRIX_SIGNAL_BRIDGE_LOGIN_SHARED_SECRET - # is set, set it as the login shared secret value for the configured - # homeserver domain. - ${pkgs.yq}/bin/yq -s '.[0].appservice.as_token = .[1].as_token - | .[0].appservice.hs_token = .[1].hs_token - | .[0] - | if env.MAUTRIX_SIGNAL_BRIDGE_LOGIN_SHARED_SECRET then .bridge.login_shared_secret_map.[.homeserver.domain] = env.MAUTRIX_SIGNAL_BRIDGE_LOGIN_SHARED_SECRET else . end' \ - '${settingsFile}' '${registrationFile}' > '${settingsFile}.tmp' - mv '${settingsFile}.tmp' '${settingsFile}' - umask $old_umask - ''; - - serviceConfig = { - User = "mautrix-slack"; - Group = "mautrix-slack"; - EnvironmentFile = cfg.environmentFile; - StateDirectory = baseNameOf dataDir; - WorkingDirectory = dataDir; - ExecStart = '' - ${pkgs.mautrix-slack}/bin/mautrix-slack \ - --config='${settingsFile}' \ - --registration='${registrationFile}' - ''; - LockPersonality = true; - MemoryDenyWriteExecute = true; - NoNewPrivileges = true; - PrivateDevices = true; - PrivateTmp = true; - PrivateUsers = true; - ProtectClock = true; - ProtectControlGroups = true; - ProtectHome = true; - ProtectHostname = true; - ProtectKernelLogs = true; - ProtectKernelModules = true; - ProtectKernelTunables = true; - ProtectSystem = "strict"; - Restart = "on-failure"; - RestartSec = "30s"; - RestrictRealtime = true; - RestrictSUIDSGID = true; - SystemCallArchitectures = "native"; - SystemCallErrorNumber = "EPERM"; - SystemCallFilter = ["@system-service"]; - Type = "simple"; - UMask = 0027; - }; - restartTriggers = [settingsFileUnsubstituted]; - }; - }; - meta.maintainers = with lib.maintainers; [kittywitch]; -} diff --git a/modules/nixos/scalpels.nix b/modules/nixos/scalpels.nix deleted file mode 100644 index f159d78d..00000000 --- a/modules/nixos/scalpels.nix +++ /dev/null @@ -1,9 +0,0 @@ -{lib, ...}: let - inherit (lib.types) listOf path; - inherit (lib.options) mkOption; -in { - options.scalpels = mkOption { - type = listOf path; - default = []; - }; -} diff --git a/modules/system/host.nix b/modules/system/host.nix index ce7ba222..e9a21310 100644 --- a/modules/system/host.nix +++ b/modules/system/host.nix @@ -107,17 +107,7 @@ in { } // args); in - args: let - nixos = sys args; - in - nixos.extendModules { - modules = - nixos.config.scalpels - ++ [ - inputs.scalpel.nixosModules.scalpel - ]; - specialArgs = {prev = nixos;}; - }; + args: sys args; home = args: let renamedArgs = set.rename "specialArgs" "extraSpecialArgs" args; renamedArgsWithPkgs = diff --git a/nixos/common/nh.nix b/nixos/common/nh.nix new file mode 100644 index 00000000..71c16558 --- /dev/null +++ b/nixos/common/nh.nix @@ -0,0 +1,6 @@ +{ pkgs, inputs, ... }: { + programs.nh = { + enable = true; + package = inputs.nh.packages.${pkgs.system}.nh; + }; +} diff --git a/nixos/common/nix.nix b/nixos/common/nix.nix index b451cd97..a43ebe6f 100644 --- a/nixos/common/nix.nix +++ b/nixos/common/nix.nix @@ -1,8 +1,4 @@ -{inputs, pkgs, ...}: { - programs.nh = { - enable = true; - package = inputs.nh.packages.${pkgs.system}.nh; - }; +{ pkgs, ...}: { nix = { gc = { automatic = true; @@ -14,5 +10,9 @@ "deploy" ]; }; + package = pkgs.lix; + }; + system = { + rebuild.enableNg = true; }; } diff --git a/nixos/common/nixos-cli.nix b/nixos/common/nixos-cli.nix new file mode 100644 index 00000000..dc47ee11 --- /dev/null +++ b/nixos/common/nixos-cli.nix @@ -0,0 +1,11 @@ +_: { + services.nixos-cli = { + enable = true; + config = { + use_nvd = true; + apply = { + use_nom = true; + }; + }; + }; +} diff --git a/nixos/environments/niri/greetd.nix b/nixos/environments/niri/greetd.nix new file mode 100644 index 00000000..571f3354 --- /dev/null +++ b/nixos/environments/niri/greetd.nix @@ -0,0 +1,11 @@ +{pkgs, ...}: { + services.greetd = { + enable = true; + settings = { + default_session = { + command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd niri-session"; + user = "greeter"; + }; + }; + }; +} diff --git a/nixos/environments/niri/niri.nix b/nixos/environments/niri/niri.nix new file mode 100644 index 00000000..161ae5b9 --- /dev/null +++ b/nixos/environments/niri/niri.nix @@ -0,0 +1,6 @@ +{ pkgs, ... }: { + programs.niri = { + enable = true; + package = pkgs.niri-unstable; + }; +} diff --git a/nixos/hardware/framework/boot.nix b/nixos/hardware/framework/boot.nix index ec3bfad8..f0d44abf 100644 --- a/nixos/hardware/framework/boot.nix +++ b/nixos/hardware/framework/boot.nix @@ -1,13 +1,6 @@ _: { boot = { - plymouth = { - enable = true; - }; - consoleLogLevel = 0; - kernelParams = ["quiet"]; initrd = { - verbose = false; - systemd.enable = true; availableKernelModules = ["nvme" "xhci_pci" "thunderbolt" "usb_storage" "sd_mod"]; }; }; diff --git a/nixos/profiles/quiet-boot.nix b/nixos/profiles/quiet-boot.nix new file mode 100644 index 00000000..f77244c8 --- /dev/null +++ b/nixos/profiles/quiet-boot.nix @@ -0,0 +1,14 @@ +_: { + boot = { + plymouth = { + enable = true; + }; + consoleLogLevel = 0; + kernelParams = ["quiet"]; + initrd = { + verbose = false; + systemd.enable = true; + }; + }; + catppuccin.plymouth.enable = true; +} diff --git a/nixos/servers/matrix/cleanup.nix b/nixos/servers/matrix/cleanup.nix deleted file mode 100644 index 82d940d9..00000000 --- a/nixos/servers/matrix/cleanup.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ - config, - pkgs, - ... -}: { - sops.secrets.synapse-cleanup-environment = { - sopsFile = ./secrets.yaml; - }; - systemd = { - services.synapse-cleanup = { - restartIfChanged = false; - serviceConfig = { - Type = "exec"; - User = "root"; - EnvironmentFile = config.sops.secrets.synapse-cleanup-environment.path; - ExecStart = "${pkgs.synapse-cleanup}/bin/synapse-cleanup"; - }; - }; - timers.synapse-cleanup = { - timerConfig = { - OnCalendar = "weekly"; - Persistent = true; - Unit = "synapse-cleanup.service"; - }; - wantedBy = ["timers.target"]; - }; - }; -} diff --git a/nixos/servers/matrix/discord.nix b/nixos/servers/matrix/discord.nix deleted file mode 100644 index a799b17f..00000000 --- a/nixos/servers/matrix/discord.nix +++ /dev/null @@ -1,14 +0,0 @@ -_: { - services.mx-puppet-discord = { - #inherit (config.services.matrix-synapse) enable; - settings = { - bridge = { - bindAddress = "localhost"; - domain = "kittywit.ch"; - homeserverUrl = "https://yukari.gensokyo.zone"; - }; - provisioning.whitelist = ["@.*:kittywit.ch"]; - relay.whitelist = ["@.*:kittywit.ch"]; - }; - }; -} diff --git a/nixos/servers/matrix/nginx.nix b/nixos/servers/matrix/nginx.nix deleted file mode 100644 index 3c08cff3..00000000 --- a/nixos/servers/matrix/nginx.nix +++ /dev/null @@ -1,23 +0,0 @@ -{config, ...}: let - fqdn = "${config.networking.hostName}.inskip.me"; -in { - services.nginx = { - virtualHosts = { - "${fqdn}" = { - enableACME = true; - forceSSL = true; - locations = { - "/".extraConfig = '' - return 404; - ''; - "/_matrix".proxyPass = "http://[::1]:8008"; - "/_synapse".proxyPass = "http://[::1]:8008"; - }; - extraConfig = '' - http2_max_requests 100000; - keepalive_requests 100000; - ''; - }; - }; - }; -} diff --git a/nixos/servers/matrix/postgres.nix b/nixos/servers/matrix/postgres.nix deleted file mode 100644 index a111d4da..00000000 --- a/nixos/servers/matrix/postgres.nix +++ /dev/null @@ -1,13 +0,0 @@ -_: { - services.postgresql = { - ensureUsers = [ - { - name = "matrix-synapse"; - ensureDBOwnership = true; - } - ]; - ensureDatabases = [ - "matrix-synapse" - ]; - }; -} diff --git a/nixos/servers/matrix/restic.nix b/nixos/servers/matrix/restic.nix deleted file mode 100644 index a36e8094..00000000 --- a/nixos/servers/matrix/restic.nix +++ /dev/null @@ -1,34 +0,0 @@ -{config, ...}: { - sops.secrets.restic-password-file = { - sopsFile = ./restic.yaml; - }; - services.restic.backups = { - "${config.networking.hostName}-matrix" = { - paths = [ - "/var/lib/matrix-synapse" - "/var/lib/mx-puppet-discord" - "/var/lib/mautrix-whatsapp" - "/var/lib/mautrix-signal" - "/var/lib/mautrix-telegram" - "/var/lib/mautrix-slack" - ]; - exclude = [ - ]; - extraOptions = [ - "sftp.command='ssh u401227@u401227.your-storagebox.de -i /home/kat/.ssh/id_ed25519 -s sftp'" - ]; - pruneOpts = [ - "--keep-daily 7" - "--keep-weekly 2" - "--keep-monthly 6" - ]; - initialize = true; - passwordFile = config.sops.secrets.restic-password-file.path; - repository = "sftp:u401227@u401227.your-storagebox.de:/restic/yukari/matrix"; - timerConfig = { - OnCalendar = "00:05"; - RandomizedDelaySec = "5h"; - }; - }; - }; -} diff --git a/nixos/servers/matrix/restic.yaml b/nixos/servers/matrix/restic.yaml deleted file mode 100644 index 4bdf7771..00000000 --- a/nixos/servers/matrix/restic.yaml +++ /dev/null @@ -1,110 +0,0 @@ -restic-password-file: ENC[AES256_GCM,data:0U96CkrV8VyEvg0nm+ZfdWMo2TjxDfRF6YBFNe8jfps=,iv:TEad//eKY/tCNMLCs6EZ+gn+7cxz7nGB+y1a4Dv+Wd4=,tag:s/E0QlE812TwgC6gRKlWbA==,type:str] -sops: - shamir_threshold: 1 - age: - - recipient: age1n4kdchmkk3rfkaknxhveqr2ftprdpgwckutt23y6u8639lazzuks77tgav - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBqSUdjN0ZudHpPTk5YbmFj - LzhLOEs1dlg1K3hzU01pWlpXSENLb1NxRWpRCmdNZHJ4STlXWFh5SGQvWTkremxq - TFg4bUo5Ujd2c3hTTW94aXlCaGY2bEkKLS0tIEF0NmVPTjFqa0owWE5TSjI0L1Rj - UkViVHd4OVhUeWtZbHIwUnpvT2pYWEEKCAz08Wi4sTj8Xn91mDRTPRspyjuqgM+P - CDoY34wBy1f6JrtqEhpb0ggbauUQEoKPL9AxMlG+ONOhTXww7ciJOA== - -----END AGE ENCRYPTED FILE----- - - recipient: age1cnu37d5fqyahh9vvc4hj6z6k8ur9ksuefln7sr6g3emmn927eutqxdawuh - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBHeE02SFd2dVJkSlBuSllT - ZDBkSlRjdC9LSWRiTEljRldBU0ovUlMyNUdJCjdDa0FldlBxMys5TzRzcXcrT3Nr - a3RJekwzK3FBN3QrblZIQlpUTG41QlEKLS0tIE1FV2Y4WEYrUFBmZHpnSGZvalJD - VlpYTXBobllGeXFTZWRjTzVJR0l1TmcKP3dZgC6mKayktk8q2HGYJGU8JuUU4sIu - 8mhyrRYNbNewTMqI2lo8EI3uqZ36WMNeYSm8MtImE97bSKARLgMWXw== - -----END AGE ENCRYPTED FILE----- - - recipient: age1a0m73qr8hhuz8xemv4vymf4wmpghm2hst8wgrn3pn65ext5mf4ksk0vsdm - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBmcHBDdzB5QzlXaGtqNEh6 - VW5UU2ZjcG1KTmhKM1lHUzBhY1JFRFc3WlVzCktGT3dnckdlVkhEWkdsMlpISEY2 - THkrT0tLV3ZFbkQzZlErSXI5bnVqM1EKLS0tIEVpcnVkRkU2VCtGK1JjMG8rS0JC - R0xiQ25Nem5DM0Q2UDNOMmdkL3VEdGcKWa+imjxsLBBT9dk1Rlm0/ahBKCSYoh2V - K9k3Y3bQ3TPxq46WeVu3C+thgHSh5wpPGnWhiA7yHe7fqcMm9AGvxA== - -----END AGE ENCRYPTED FILE----- - - recipient: age18hpxz0ghvswv9k30cle73prvnzrsuczqh87jjdk9fl50j3ddndmq9xae0n - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxbUdWdnV6VERoamlMbk5H - MGV5MzY2a2RLTUMzYXkwdkhuWitUeFIrREhrCmFYN0p2WjV1NnBmUUpxdDVUYXQx - bGIyZ0hwNFhmVUdDdkpGbVNESVlmVXMKLS0tIDVEdVMvYzJmQzJKOUNmZkxVdGVI - Q1lRc3F1L0lYeGtvSU5QY1R2cXdIblkKL3FNXmanvzzCi4Jdd1dPSggSmqgwOu59 - aYRibZIBbhfRYfI6J3/CmNIuMsaELwXOx6HAbh3qgB97+dk2q2Otkg== - -----END AGE ENCRYPTED FILE----- - - recipient: age1xgy03g3vjydsxcl0qpdgm8rahjcjq95ucxfwlgr22zwjx3p7jf2s9jk6u5 - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQOFFLTkNsSk5WTk5OWGVr - U3l0bnZSNExBN05RZzV3TnZQM3VoWG8raVZBCnp5cU9yU25yR2poWjhiRHNKYXpC - M2hXVkltUlBrMUo5ZGxJTng4Um95LzgKLS0tIGRBUk0yc2duQklNNlpMOUJtYThU - aWhuVFpSWENQMFR6NlJnKzFDWGM3cDQKhtnMKeUVi22XQFIwpfpT+iiqQhTuRIuI - e0hsOi4POMG+/YfAbEmBWB0f5o4GjowjkxttSZ91K86gsI67/Hz2nw== - -----END AGE ENCRYPTED FILE----- - - recipient: age1fv5dafs4n3r5n83qm2hfz7xmnflsz0xf9r3saralrptpgf8mvuxq4t8k3u - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSByUXlaQitUTzMvMDRTcHBG - b05xWnlhT3hUWVFVVnBhb2pIb0RnM0FZeUMwCitNMlpMWHZqUmVkOEVoZDM2VXV5 - eTNFSHkyb01BWmVpOW53dEhCdXhtem8KLS0tIDJwU1A2SDdEQ3h4RWhDRjlBbnBL - V0k0WU1SNFJZR1paN29WSkF3NTBhbkEK3SYaZ3cwPBBlwujHoKqVWfSnQvOAz08r - PWSp5eS4X4dy3Jt+c1XVSixJ3FpDMYvOpzhvs3XQKCKpMqMAD3wfCQ== - -----END AGE ENCRYPTED FILE----- - - recipient: age120530yclr75k6nrzp6k5jjftj8j4q9v3533guupzk4ct86mjxszqg9e5t5 - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA5RXBpdmtmZk55bzJTUXE1 - eE9WL2pMQURpYmZyQzZEdG05SUgvbGI4M1VjCjN2QVhCbkF4WEMwbjA1ZnNkT3lL - NFI3Y09Qd2I3eEpsMWtaRUc1U1pYZ2cKLS0tIGdyK1FSWEh6MnljNUtFSFNndEZl - M1doTmFJL1cxTWhCeVFsS1l2b3FnblUKLEHSPZLSFfo0qtZHyZQ08TLuPeWsB7MO - DgqAGo9FssG8RnusRIJ4Uyc0PWLTNb9gWTgJK30PQZuZzJFur/BbCQ== - -----END AGE ENCRYPTED FILE----- - - recipient: age1c4atxfp05u7zm875s6q8p82ve96rqqpq9smktxlur8pk2yc3qvgql46dp9 - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2VExXemNpbnhsUFNwdGdz - K0pYajJ2VFlhUHpVWEN4NDlibjlrRDdJWWdFCjJyazN0eS9EQUtsNURFZmdxb3hj - T0l2Q0h6a3ZuYzBUZ1YyOU9yQTRzM0EKLS0tIG5DaVlNMnUvY1VzeHJRK0ZsMjRC - S21QTEdveTh1ZTdXZVcya0VXMFhYU28KI+ArhGxhXvo6NsdHx3ErYsZyZqLZbZY7 - fbJeqzA2Y2C3YEt760MF7aAL8XIvebVrUhMyApPas3YJg88EScJA9w== - -----END AGE ENCRYPTED FILE----- - - recipient: age1rjldv3fn3q686647exmcukthr32gmp6s3axs0lhyenvru9ajp9rs24ukvz - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBMbnpPcFFsYWFQbjdPcnkw - dDM4SUtES3lsRVJPd1ltS1gzQ1ZJZzMzV1F3CmRvVFlqelc2cHZDbTdQWUtlazBF - cFhUYmV2M29ld2tHZzMvdnowbUJvZGsKLS0tIFlXc0ZXTS9CWjBoeHRmYVJoT21E - R1ljK29kbXJLNUdZVkJzV29aS3dzaWMK6UtPqbLqyZHKmLUsZKHVWMCQ/s0iqUKI - c89Y3oWwGzreZxA8yLVpXbibXHjc5h1NatAIUe/Yyj/kS4dldeiTfA== - -----END AGE ENCRYPTED FILE----- - lastmodified: "2024-04-21T18:13:24Z" - mac: ENC[AES256_GCM,data:eDKIeCDMIKCrfypT09VUWbvUzSWze8xE9l3on6vgYOcxAnIFDlF7UnlZP/G+rU2+grxEluZV+ApUwC71LuunTNHHvEjudxp6yGHV7OrYUu+i5PuTzL0KNpt+cLr5pNYGiYWE2J4RpWmilbthVnLLJDuHlKqSAWjwdNIrEgOokR4=,iv:Yqu28Wjut7scV/iDMQVMffqdduHDbUetWvu3CVjVz3I=,tag:gggRhdXvVXxfGS7/Wp5jwg==,type:str] - pgp: - - created_at: "2025-06-27T20:11:12Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hQIMA82M54yws73UARAAh40VwHS5hFOsaKUDwWWUoVTVTUHteHglwPR7+o3U41Zr - OjpGc1vuUlvE3p0FdYcGpsXUaPLpz990ZCaCqx5YnBLqbaVtP7cC1gNVSgob9R1k - BaPbYYs7sKL+RbAo3GTAlykWfonCzeeVS09EssTAIrSI4zUgb7b1RkbdnA55Icj/ - Y/Dvq6BkZU7pVkaoa4faf7I7xgguJhh5nhzNJof8U7IYOsffTzWpdayc7tSOTDcI - PTllDgshrGS+T5THITG+6vghDlhQRmVgrjYSKTbybEIQv29LwnPAcfU2DqDF2W7v - DpuFI0H7I41AitrREB2MKWfwI29U2ul2nSbTkp9N5KYdL09jPL6P8ubAY3L4zOqm - ehWrLlA+vmy5CWgpYDL8H4YhRMFSjyGsdNqnxpGwcAZOyad2oPumLxIwRpplr77V - rRa17bfm19qez7+IGI7Z2S8JQZGVf62Z5Yl81vAqsQJ+nU1YZeskaTMWFjMV5QNz - X8RNU+FPrOVVjlvRWN0PmrcjnukjgkD2Z/2kzeaIaXN7qtJkpCnpIFkgwaDTQOSA - U0ZJA5pmP7jrPYtYGpXfue0GcXz4v3pMrukQMeBnCDH5infPHMCDq9p5rjjBglKf - Pso+aDjTirE8ur01xi/vYLqiYCXK9Uz1z/aQ8IG7W6AaRpkvUE05QRNFvuvBmHfS - XgHXxsX5+oELoCMCfSB+gjQqDOTPpNnNKQLO/7qvaHr3GnKzV47pJdtmrbAY+vgV - s6ehWSsj60p/iPBFLQKtyKmLWIXEF+N04XAoq7y6EpR1m7Ft34FHz68Eq8fXJq4= - =hTFl - -----END PGP MESSAGE----- - fp: CD8CE78CB0B3BDD4 - unencrypted_suffix: _unencrypted - version: 3.8.1 diff --git a/nixos/servers/matrix/scalpel.nix b/nixos/servers/matrix/scalpel.nix deleted file mode 100644 index f6c970ec..00000000 --- a/nixos/servers/matrix/scalpel.nix +++ /dev/null @@ -1,21 +0,0 @@ -{ - lib, - config, - prev, - ... -}: let - inherit (lib.modules) mkForce; - start = prev.config.systemd.services.matrix-synapse.serviceConfig.ExecStart; - synapse_cfgfile = builtins.head (builtins.match "^.*--config-path ([^\ ]*).*$" "${start}"); -in { - systemd.services.matrix-synapse.serviceConfig.ExecStart = mkForce ( - builtins.replaceStrings ["${synapse_cfgfile}"] ["${config.scalpel.trafos."homeserver.yaml".destination} "] "${start}" - ); - scalpel.trafos."homeserver.yaml" = { - source = synapse_cfgfile; - matchers."MATRIX_SHARED_REGISTRATION_SECRET".secret = config.sops.secrets.matrix_shared_registration_secret.path; - owner = "matrix-synapse"; - group = "matrix-synapse"; - mode = "0440"; - }; -} diff --git a/nixos/servers/matrix/secrets.nix b/nixos/servers/matrix/secrets.nix deleted file mode 100644 index 50ec8a8b..00000000 --- a/nixos/servers/matrix/secrets.nix +++ /dev/null @@ -1,10 +0,0 @@ -_: { - sops.secrets.matrix_shared_registration_secret = { - format = "yaml"; - sopsFile = ./secrets.yaml; - }; - - scalpels = [ - ./scalpel.nix - ]; -} diff --git a/nixos/servers/matrix/secrets.yaml b/nixos/servers/matrix/secrets.yaml deleted file mode 100644 index 2224edf6..00000000 --- a/nixos/servers/matrix/secrets.yaml +++ /dev/null @@ -1,112 +0,0 @@ -matrix_shared_registration_secret: ENC[AES256_GCM,data:DsCqfbS2yxN7nVRevcjpfO63jBUsyQHfEfbpZpD3cBtPf+JuZ8TFPBNNQwx2NYdyty60INdr4w==,iv:pSf6VDS9bqZIq8ZqOW0v4siRbDp9EEdw7TtSSjjrC6A=,tag:V61OqmdsNzczOzf+2Y6LSA==,type:str] -api_id: ENC[AES256_GCM,data:z1FqOKDSG1uo4BYgt2Ct9cUUy/daSgMNCnOHsdhG0ocw7eNI,iv:2cpOFO0Fcv/Y2xj/5UErbZ9qiLtn0QUWUg12Z9z/Ug4=,tag:cYEgrUM8GJ+uGNXKz4GpdQ==,type:str] -synapse-cleanup-environment: ENC[AES256_GCM,data:T9c2bcdoKmB3l4G07x2FKLY8YCPpmd5efRgO/hJQBM9fKZrz1t/0VsPRy5SnjKkGm5Xib2u/MOcBTrtU4mkbO+5/ZrYFRjJNu/sLAeXOD+3MkA/uL0GXR6VpSaGrqv9F6ofaUq5zBcFU7EQXfLWq3fpj3RPA14JhavYVNta01pnUbu4pMhFmnRMYBsZhgTFoDJVbuk1VW3w+I2Y2Sg4t4Kzmq8MLukHzqRtkSNSelevX1wJNfyVo+IwiXhtCLvyjsaQ31WzlSqiH+sTNU+I62PP1ORXnFVrwBgH9qqo+WMdZ,iv:0EyveHiZyeDqFcgaHTF3hTmmUUHLTo4AEbXBw/VMdTI=,tag:iboMxPRt0Ib0vJF51rQQkQ==,type:str] -sops: - shamir_threshold: 1 - age: - - recipient: age1n4kdchmkk3rfkaknxhveqr2ftprdpgwckutt23y6u8639lazzuks77tgav - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB0bktVczBLaDFiMVFNTGI5 - ME91SUFZQW5YR1l5YVE1OVhiWXowQU02ZFNNClFPeFdtc3B5Y21uMnVCSmRWTzVO - MkVMVXdCYThDdGdHa00yNWdIbnU3c0kKLS0tIG9uVzV0dldvZ2EvNnNVR25IT0dZ - RU5vZFdneE9xeW9nUUNwekxPRDFxYTgKIPeUyl+WKR5XNuh5i0ujABUsjYG7KKj6 - PD1cTheOiWOgJp1jVMijgHpA7sltZBjVPBlMdaGooVrkzf8O/GHpLQ== - -----END AGE ENCRYPTED FILE----- - - recipient: age1cnu37d5fqyahh9vvc4hj6z6k8ur9ksuefln7sr6g3emmn927eutqxdawuh - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQSkRuY3JBeE9DNFM2MUJG - bkoyK1paUU50M1F3U0dIK1kxd2pvTmFnV0hJCkwyWWFubkVsVjluWCtZcGYrMDd5 - SHhYaDRobUV0RTFuYXlXUnB3THIwNHcKLS0tIFFMRnY4RVFXRnc4UTUwWDZKZ1d0 - ZlR0M1B2by9BYzIwcnRKL2NTcEwveWMKRFNDK6Aeg+MHEaH3OweJD62M5tGNQF33 - 45Yr19WqPwzI1HW50Em9f5OB7Zjgbs/kXCtILPwRv3nv+ooBujax5A== - -----END AGE ENCRYPTED FILE----- - - recipient: age1a0m73qr8hhuz8xemv4vymf4wmpghm2hst8wgrn3pn65ext5mf4ksk0vsdm - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAyYTI4MTBYTDVCRGc1RHZy - MnZUZU9NNGxBY2tzSFJrVFNiVlN1MldyZUVzCklpMmRWM1hwL2pBLzNBY3hIUGZv - ZVd3ZUF4ai9jYTBCOHNTWGVxVCtMamMKLS0tIExtVHlSVVg0UDJMUTU3dUpoRUFQ - NTdzaUo3M0ltbjFja0ZJYUNrQTBvNVEKgtNLw85qaiiXnw7Cv+J/P9Q8SsaGhfFS - Ukya1d/tyVl0umCL2eqPv4bDkTtTC5lPQpmvXtmoUC3rUTGCxjVujg== - -----END AGE ENCRYPTED FILE----- - - recipient: age18hpxz0ghvswv9k30cle73prvnzrsuczqh87jjdk9fl50j3ddndmq9xae0n - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBNTlFiOTFjd0dlVDhIMXhD - Ni9SUmxXOTdqY2NkNlR1UUpyd1RQRDVxK1VRCmszcmdhRU8rRDc3YnBnRWlvOU8y - bTg4emd4VlAzLzk2TE1XTUswL1dkeDgKLS0tIC9BYlRUY3BGU1phNlVXUWVTLzY1 - c25JRDc2c2wvdmxlMHJQRjBjVmhsYm8KUM6qLbIpq1lD19WeoR4rROADCtWyM5e1 - 6X7sl+eO7wVmrgt5KrHBkl6Z44mMajgy4pRRcF/mMBH6mIg3esQISA== - -----END AGE ENCRYPTED FILE----- - - recipient: age1xgy03g3vjydsxcl0qpdgm8rahjcjq95ucxfwlgr22zwjx3p7jf2s9jk6u5 - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBrZmpFUzJvKzg3VXlyaDJV - d2xXVXR4eHFEcWNpRjJKdkIrMU9JbHc4S2cwCjNBd3QvdTRzektFSUZ1TWlaUmYx - Q2hVRUlOd1VQZFhpQm9kUzZJUm9qeHcKLS0tIEVML0RlVlQ0UFBXK3FsWTdSMHVl - Smh4LzRuZ1IyZ1IvTjN5U2pETlVPazgKuTgp0P4BYDDprsfhCBSzsrPTRt0fbFMy - b5Hg/5mjDsQZVCy/+CjruUzFr7luVvhWNIEcMgRNP7rYj6rsykIUrA== - -----END AGE ENCRYPTED FILE----- - - recipient: age1fv5dafs4n3r5n83qm2hfz7xmnflsz0xf9r3saralrptpgf8mvuxq4t8k3u - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBMRncwVWF4YzFrYzBhK1kw - ajlFMDg0SjJ6YVJEc2F6NEIwLzhJa0t0bjFnCmpJbjZ6MTB6Wm9JTFAvY09vMEF3 - L003SEhRZGpTYmJOSFhVMkpoMXdBRnMKLS0tICthWmE0U01vWCtzblpsOW9iTlo2 - SEthSG91QzkxdU10TTkxNFJidis5bU0KzMYwivPNr9d9zoFl61xrcQlFIiM7T9/1 - WP5Bh3xWEtgYZK5/j99DACFVWdFezAAndt7weNnwJ/jpwa1On2Dc6A== - -----END AGE ENCRYPTED FILE----- - - recipient: age120530yclr75k6nrzp6k5jjftj8j4q9v3533guupzk4ct86mjxszqg9e5t5 - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2eHVWMGpNWU1pcmJPdTVH - bUdWTURjVkQ5bzZlWVdkN3hrY2dFUWNVQ1JBCjRVLzFsL2VEdkFSTDZRaG5ZOXZa - bHI4SUorRWloanVVYktHK21EYWZLOFkKLS0tIHU5TThjRmhIRmQydmFrMmNmTHRa - RVNHNW56dlJMQ1VjMlYzRGNGZHBpUHMKeAmRPdwW24RHD/1vbEAJNoK27TlNJ7vB - AnRrsomimk3gEXpuSWu1pm5X0w7a7R6w9ge6/DKThCgJo+dunMf3QQ== - -----END AGE ENCRYPTED FILE----- - - recipient: age1c4atxfp05u7zm875s6q8p82ve96rqqpq9smktxlur8pk2yc3qvgql46dp9 - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBLWjlhQ1Q2OUZXamZkQWV6 - dWRnRURHWjFkbm1iZ2FqSWJ3REwyVE1zK0NrCmJld1pYaTdoRCtENUVMdU5wWDNW - TG1zT0I3WHQ5NnE1Q1hOL0h0YUo2WUUKLS0tIDNuM0gzNDlTbmIvNmRlSVJtQW1Q - NjhhejI0SE5EQkFva3FIQ3pBVmhwV2MK7DsevOHyClvaJaiwMrF4pbp51DkEMc7O - vPX4oPjoFGn4GmxMY1L5kdZHxuMPrtLMVid1NsqlE/tcTzMKa/CGqg== - -----END AGE ENCRYPTED FILE----- - - recipient: age1rjldv3fn3q686647exmcukthr32gmp6s3axs0lhyenvru9ajp9rs24ukvz - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBOZUNnc3hVdE9rR2tieUF4 - b05CVmo0N2JyMGJTbmRTdnpHclhTdENheXlnCnVtaUx5Tkg1OHFqMkQweVNKYVhm - M29kVWR0Q0daczV4b3RnK2NWem40ejgKLS0tIHVBSFNWSzQxUmFKSUhFYkI2alNR - YVIybS9OektWOFZ5S1I4eVQ0QStwWTAK3UXgekEDKsQ+JQmzE/Y1zuWjnVBoNzKn - tjcGnSPAMcZzzydZoch5/+dysIJZji69xP071SJX+8AFkcL84h9p4Q== - -----END AGE ENCRYPTED FILE----- - lastmodified: "2024-10-10T00:10:05Z" - mac: ENC[AES256_GCM,data:FT+6/Cexyf+B95gjQmsQ9Ri40aXA6/UnCZgXhxNDNp1zj5m6J065R+IbdrLoLDjG9FU2MplEg1dZNksvcXlSi34Sbzmmf3OMGm73Yzsr6/KhCoU9nGfJmSpXJXeOBS6ahAIobGfbjOzWN4ljy4EmDC/UUSeVKcs4sGYQ207kVcs=,iv:tf1GvJA6q7DztRA3LjlQUH16GitiuyqUhHiukG59ydc=,tag:bg7Sv5581bYeQ/NdO2XxIw==,type:str] - pgp: - - created_at: "2025-06-27T20:11:14Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hQIMA82M54yws73UARAAq57K976ckbNacCd/FPSEGK3hGf16ZNxYhDQzrc7SGAXn - QqnWobtjPZqeWNVOfvpfhHBpc/vZLWlvjK0LE9qt9jS7lsxH5NZuGduY0A86mtMH - P2kqpz1/dbARlB05et6zDBwmSDk8dk3IKPkMCzJ0rcSoLWWCqGx1URoKFjWqvD5O - /w9VcaK5lt85uzG7ka3L4D3Bu3e/Wi8dgUzRrzCRZJo8QqGW8mRZ6UTwXV9suRx/ - oSquuQkghYJBTB3qXjD3H7QHqmsEfkROiUIONXXzqzatYsdaBvh0hgwxrWiwnBhb - nA3Kd2YefZElIBUJXZ9NkI3F1DOIPNaMCB6bsZHZ5l0G5Km3sxpAcaELTr8oAfTO - Y4Ru1LN3T6vit5Ld3UsqeEwrb40v2mhbf+xMkwux8KhaerCgruQrEQuc0b2t+BdJ - LQFbFFOthV+tUccD90lejG4MV1JXG1AYZKmeLTwXbUymNzB0VdyG4upLdyNEHpvV - 2xYGYJdRdUcCh43BkL4Fapu0QjAMCqcyhGE73bmDNhovSc7Ux3V++kWI/bqOICR3 - NFSmgsrTqInQ59thhnFgn2n67AnW9KJbiKPziYSXpbEPIExVMp0AgxzQWrfGxVcH - 1h01fx99UoRLFLOCNTCTNRI6GxttlD+QCrBOibkKgA9r9cY3SBwk+IIB+FXNMTHS - XgFOiN7axkvUYKybRsVCMQ6grdijKJ0MckRdlDl3WiTSwj8SEYXkFIycDQ+13Ayd - RgnVwnOAYer0mSx4Ac64c5jLfCrDBUq5xl+J1g/fjlUooOlsx3oXO2UaXmClvsM= - =Wmup - -----END PGP MESSAGE----- - fp: CD8CE78CB0B3BDD4 - unencrypted_suffix: _unencrypted - version: 3.9.1 diff --git a/nixos/servers/matrix/signal.nix b/nixos/servers/matrix/signal.nix deleted file mode 100644 index 6c327cd9..00000000 --- a/nixos/servers/matrix/signal.nix +++ /dev/null @@ -1,42 +0,0 @@ -{config, ...}: { - sops.secrets.mautrix-signal-environment = { - sopsFile = ./signal.yaml; - }; - services.mautrix-signal = { - #inherit (config.services.matrix-synapse) enable; - environmentFile = config.sops.secrets.mautrix-signal-environment.path; - settings = { - homeserver = { - domain = "kittywit.ch"; - address = "https://yukari.gensokyo.zone"; - software = "standard"; - }; - appservice = { - port = 9048; - ephemeral_events = false; - }; - signal = { - }; - bridge = { - history_sync = { - request_full_sync = true; - }; - private_chat_portal_meta = true; - mute_bridging = true; - encryption = { - allow = true; - default = true; - require = true; - }; - provisioning = { - shared_secret = "disable"; - }; - permissions = { - "kittywit.ch" = "user"; - "@kat:kittywit.ch" = "admin"; - "@signal:kittywit.ch" = "admin"; - }; - }; - }; - }; -} diff --git a/nixos/servers/matrix/signal.yaml b/nixos/servers/matrix/signal.yaml deleted file mode 100644 index 9d152c3c..00000000 --- a/nixos/servers/matrix/signal.yaml +++ /dev/null @@ -1,110 +0,0 @@ -mautrix-signal-environment: ENC[AES256_GCM,data:BpCzruK8S1NBdszZaSalPKMkhSk+vpQKnLM+0USjo2j4awcjNnqsDSiV3rSsB3Zary3x456ZX5WCfYVCmFy6UmGP9LTw7OV7Y0nGpAsb6oKbAEMDcft4AbrNh4x2Z0Xc9fAlBE5UY4kmQW1HWTn8pxyV0+uwT7voNffzOujxss3YW6u6y7TlBZh4Y3uscR4Dm4yt9RBiAu1Tu8FJOPJW2VFQ16drQiQV4xfFusr8HIv1KiIJuNiyK+RWOPQGckiKz+aLAqdXShs=,iv:YP9Aw74CKfUsi/hSu3t+K7HHoEF6rXqpkqvr179l6sE=,tag:DDZxGvRiMgNYRU8C3wK60w==,type:str] -sops: - shamir_threshold: 1 - age: - - recipient: age1n4kdchmkk3rfkaknxhveqr2ftprdpgwckutt23y6u8639lazzuks77tgav - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBHd0J5SnVwRU1aVlVmL21m - T2FoQkxsRW5vWGVpT1NBNGdBTzhDcXYxRGpvCk5rUG52SDlHY09vY0cwVVdFOUNI - TGVleE5IZDY5TE9MaVNPQ1h5MHVReUkKLS0tIDNHQlc1Z0ZjM3kyOVRONURnRDVI - MXg2MlFFS1dxVzdyNDg0d3Fya21sZE0KOBKwtPJ/MEgS8u42WQJSllkaLLf+u5GG - u0EhAwbM0Ad2GKmEgOFzg8EWYfBulCap3sQ45Ud2LqKPgasNM88x4w== - -----END AGE ENCRYPTED FILE----- - - recipient: age1cnu37d5fqyahh9vvc4hj6z6k8ur9ksuefln7sr6g3emmn927eutqxdawuh - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBGbUZNWUR1cCtqNzJhS0Fu - ODJlL2JjSDlNdUxNbHpQeFphWFZMSWNWUzAwCmxtSDU5SHZCdGJSU3RyQzFXaDEz - aEZKM2pWSDYxczk5TGx5djgxSjFZcjgKLS0tIGVQcEd1b0hmSVAyL05TOEhvZHR2 - R3Y5ZlI5OXhVZU5qRzhJZWxNaEZkL28KTc4Egi4uPem84ModTk/Gwf0syW2D1GBa - K48U0uyxgAkvkbjDzy/FvQSD9swnsI4HeiNh1rT4+mumlxO29dgg4A== - -----END AGE ENCRYPTED FILE----- - - recipient: age1a0m73qr8hhuz8xemv4vymf4wmpghm2hst8wgrn3pn65ext5mf4ksk0vsdm - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAzcUk1RURvejZ0WDNXekhj - TVBaazltRjlDa3QwVnpJZGt6Z3JhNDVjSXpJCnJzWVJSYXYrMk5JMjVWS2VXSHZU - TSs4dSsvMjJNUWNCdVl2Um1QTjAvdFUKLS0tIC9HTjRJNjhSS2xrR2hrNmJ0OUFm - eHBQZjdTK3JsemlNeHMvVy9PaGYrek0KOWfJ+VufB7bOTR55YfCgtlYtTxZSLQeh - x3DRyuFBr8UH+PuQfo2zsoLe+ouJpZ7np/rl6uZQE5DB06pFkd6oVw== - -----END AGE ENCRYPTED FILE----- - - recipient: age18hpxz0ghvswv9k30cle73prvnzrsuczqh87jjdk9fl50j3ddndmq9xae0n - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBxZGVDcVNkS1FaemthZlFY - WHdQYnVwL3VPWDFTSXBtaDFGd2hOOThYMDFVCjFVYkpraTRpazRJTExqQkw5RG5K - NXhVNUdoY3hGQVlLekV6MFlKUkhFaUkKLS0tIGNnbzlzTHFJMnRCeW1RSGpaeHRF - RWJTbzlvVE80TTd2Q0FpUUNCT2ZFMWMKtiQwO5VdbK/EfuWtA1sI5zNPPFf4EWmv - G3lM2YudC26BIffbOPMO0tMDDIdQS1gK10FdapZ5IiOgXNjQqvR9fw== - -----END AGE ENCRYPTED FILE----- - - recipient: age1xgy03g3vjydsxcl0qpdgm8rahjcjq95ucxfwlgr22zwjx3p7jf2s9jk6u5 - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2dU9lMVl3VnZHYUJUeFdC - clZveEt6N3dRa2NUc2U1VEw2YTVHODUwMkdRCkFmS3ZCS0Y5WUNlVFRrWFNOTE5i - ZklqeWZlOEtrOWlRVGxzQUdZd3hRRTQKLS0tIGNWeERuaUlabEN2VExpNEZQRHRV - dUl3MnJpQzY1VmdoY1Z0Z3l6MjBkR3MKLv4t0Xuhkc48zK2VIJdzplzDXRBk7FBE - KBkWXiCsyKMfoCmJGEZm5ortIp7f9uF8dpADVKizmkr0MZ6fu1R+Cw== - -----END AGE ENCRYPTED FILE----- - - recipient: age1fv5dafs4n3r5n83qm2hfz7xmnflsz0xf9r3saralrptpgf8mvuxq4t8k3u - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBFSVNPTnp2TzFOWEVWUHRY - RlJYTWNnWHVnS1lGVHhSbUtPbzB3UzduSW40CmpzdjBNL3k0d3pnejBiejRDVmo3 - Z3poVC9ZL01ML2h6WmdxcEdJdjh6VWcKLS0tIDJBZVd0aFZ4TEVRSitzS1lTWGVj - VGdzRUxZaDYwQ3FxRUtNYitRb3FrK2cKmr4XM1ClndvmHX7ibyFV6F7zYXFOqjSy - 6dyYSP2XDWaJC5C56V+gBaIMr4y2cWidIH8bRj5KFAXNOmYRjXtCTw== - -----END AGE ENCRYPTED FILE----- - - recipient: age120530yclr75k6nrzp6k5jjftj8j4q9v3533guupzk4ct86mjxszqg9e5t5 - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBjN1F3UFg5R1Rad0RRa2Zt - aW1vUDRrV2JKcHZMSC80L1Yxb1RJN3pYQlRrCmVJLyt2R1J0aG9wWDM5dFVZbDVL - VGdSYU1zNVdWSmo3TWdNL2szTHZ5TG8KLS0tIGxkbVhueUVSOWpOOGVaSWdVR1dQ - QXphZkkxUnc0WnZLYUN6ZXFodHIwZjgKTJi/xyUk82juCRM4vTl/WoMIS3QgN74d - rPTngvLf4EgYjw22Qt/b1YiPomq2gyfjTEhA3aEefnV10kffdgwNtw== - -----END AGE ENCRYPTED FILE----- - - recipient: age1c4atxfp05u7zm875s6q8p82ve96rqqpq9smktxlur8pk2yc3qvgql46dp9 - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBLTnE1cDU2cFd1ZkpPY3lr - aXhVQ1YwaHdlYXpyUzMxMUtwUjFreUZSR0MwCk5jQUtzNkw4NGRwWFJrNDFuaVZP - QWdKbS9jTjZmM1FFcGpsMXJsSHFQWDAKLS0tIFhNVmZzVXIzL2dacU9FUXRsQkU0 - cnhpVnBQaXNzT2xpQ1A3aTVnamVCM2cK1BwCEuGX+umW+NZfxWpmLDULgcXpsnCh - sX2UfpP2JZh4HdteLHP307Zf40+HkjkTsbOWetmHKbKLXubuLqJiBw== - -----END AGE ENCRYPTED FILE----- - - recipient: age1rjldv3fn3q686647exmcukthr32gmp6s3axs0lhyenvru9ajp9rs24ukvz - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBtVUpSU05aMHpMSHV1b1JQ - UkNyZDE5R0V4Zms1TWJtUEdBaVE2b0VMN0hFCk5mcy9icEtodGc1T1dzU2JTSE5V - QTZDZUFMYzV5cnRqZ0VWcStXeFlFTUEKLS0tIEltMmsxK3lzOFRRTXhnKzJkcnFZ - STQzRjF1U2hvbUtldTlJS2gwRFFnUWMKxzOtHTmTRGcmWGHfWFECgQsMhXGDa9sJ - G46nwtyfeOs+RyXHD5iQn1S2noIy0CEDnyR8ParxQp+V8lMn1P3EtA== - -----END AGE ENCRYPTED FILE----- - lastmodified: "2024-05-14T03:15:49Z" - mac: ENC[AES256_GCM,data:YKuPtzHtVqPeFKmm5OsR1btshycWB/++TLOEvjoMvIvsiFCo/YaPqyWebpSUOtvg2h/AwJY/6hPX15DPzDe4B2HePHDiiu5ItkspW3XJUkT30Ul4aAhE4hP0wotBQlYJro7mF41dejctLVpVi8V3zqTkr3nHgcMUa6EblUtPIWo=,iv:WsmM7VQrT0QIJjqQUsxW25jO3xSeLuAJEW6kiMQviW8=,tag:B1O/YWlL39PPoaOJNkl9yg==,type:str] - pgp: - - created_at: "2025-06-27T20:11:15Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hQIMA82M54yws73UARAAjeh0KFtf5/yvJ5NVK0w/Xpf8sTZf0ugrSaDY2UbU5FWE - wNFPIUbYiqzIj1fiIM3DlNVUbUrBvho8sO6ckPU1KvNsr0a8knOl+waAJfFtoY3d - CkyQ73ElTb3fRWWdgH2RlaXs4MVtRz1DzE1LYSLCxrARUEOFaBwX1njG22wZp53a - czsizD/QKjAHDhlgLz2MHNAqrbWdq3gnOMTl5PiQIkmgHzIHc/anWxFtCgIls1c5 - F8xrqPFYKko7VVc7onM4YgaKbF15QK5oDhggMuSZBLhkQgOMB24sHWx+F2NC+ykc - QLMSmO5hpTHkK62bT3/KqvialJxC6FeQT+Pr1unqdfSqKXJiJeJi9eyLyKX/cvLS - VDKCfezrcIL31dbo8720JUAcpmBsfOOvCcm53GQlwa8mwI7RTk0cFwRBrbdoYSn0 - qGQtlk6+VASlJzNKKx2fooAn2F0/sEsh2BA2jMF3yqPoj+pk7RgL8vZPqY1LNtWX - pVKhBsvulh9SNkdYurvp5vsk6wPI6KrgbO7rQqkNeFflgW//h7e6ssbJdBx+B02P - KwYrIlUCZDki7w+0fY+sEycIJDzSNGLDULc7rtcijSqgWExFc2C/1+5JbhgWyaGN - CdgMbHpBtHIWZQ00XTicTORZnUXfT9r4gEkaqLgu8L8DCqAN+LziaAxfJrjRqw3S - XAG2/9TILO07O6DnugINvJNlbquloY+uG0j3zEH+3tc9U9iX8i1SkUSGG509OdjG - BUpMBh+uWrr5GeZb8Iq4d+jJnooHzcAcwS5zhx3mmufdZaRnoZiY09rcYG3K - =AFvy - -----END PGP MESSAGE----- - fp: CD8CE78CB0B3BDD4 - unencrypted_suffix: _unencrypted - version: 3.8.1 diff --git a/nixos/servers/matrix/slack.nix b/nixos/servers/matrix/slack.nix deleted file mode 100644 index 0d39309e..00000000 --- a/nixos/servers/matrix/slack.nix +++ /dev/null @@ -1,41 +0,0 @@ -{config, ...}: { - sops.secrets.mautrix-slack-environment = { - sopsFile = ./slack.yaml; - }; - services.mautrix-slack = { - #inherit (config.services.matrix-synapse) enable; - environmentFile = config.sops.secrets.mautrix-slack-environment.path; - settings = { - homeserver = { - domain = "kittywit.ch"; - address = "https://yukari.gensokyo.zone"; - software = "standard"; - }; - appservice = { - ephemeral_events = false; - }; - slack = { - }; - bridge = { - history_sync = { - request_full_sync = true; - }; - private_chat_portal_meta = true; - mute_bridging = true; - encryption = { - allow = true; - default = true; - require = true; - }; - provisioning = { - shared_secret = "disable"; - }; - permissions = { - "kittywit.ch" = "full"; - "@kat:kittywit.ch" = "admin"; - "@slack:kittywit.ch" = "admin"; - }; - }; - }; - }; -} diff --git a/nixos/servers/matrix/slack.yaml b/nixos/servers/matrix/slack.yaml deleted file mode 100644 index df29bb1b..00000000 --- a/nixos/servers/matrix/slack.yaml +++ /dev/null @@ -1,110 +0,0 @@ -mautrix-slack-environment: ENC[AES256_GCM,data:20FOJ9LMLtSND6KXhZpSoOxxH8NYhZWXAaL42byftEsDzsZIpulsMRfU3XBh/1a5JEKRNYcdVfvn4xApbXv2w0xs2oKEsPWgI86B0LjqiWcLEIsVljaErnGC3nDU9/kY5PsDl1cj9WQHZ7O/8nV8GyD/5v/evO7sE+xN4JW/o8kTBBE43fpiTS/unfEkmJF5WhkR20ViGykG3+Z79wgtYVaTBkG1v0gPo8fc+JySClE+N8fz05bVGCH8g77/JtW3Vhdch9T5,iv:uYQXj9POBiX7qJNuovCdDo9lE7t1jRII7zU0YlPDeyg=,tag:jmlgy4S4HnV7vNmLTdxIxw==,type:str] -sops: - shamir_threshold: 1 - age: - - recipient: age1n4kdchmkk3rfkaknxhveqr2ftprdpgwckutt23y6u8639lazzuks77tgav - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBtdENnV1ljN3ZMWHh1REVX - R3FoL0xKd1dkZ01qSUg4OHJJVG05eUt5TldnCndRT2R2dWZiZSttMENidXZ6aHcv - Q0lhTm41VGpGT3hsVElYMTJHKzBKbTQKLS0tIG1rZXdUSGNZbFhLNDJuOHFSNGF5 - Ykx4MXYzcDh6ZDZWdVVrT0VxYTlSTk0Kz+ERvXxmP0A+Y8X23yAwTauNeyOsxC+D - R2rHzKtXGIF0OyM/gRj1p0HOWB/+CNB4Z2TR+wzsOEMH/sa9E3HJBA== - -----END AGE ENCRYPTED FILE----- - - recipient: age1cnu37d5fqyahh9vvc4hj6z6k8ur9ksuefln7sr6g3emmn927eutqxdawuh - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBmVnlTQXJJdHhwOVJmbTR5 - aVhMOC91eFFJbUlJZXk1amhYYUx0QjM4K0RRCmhDcTlFdlNwTDFEK0hKZ0xBc1hE - YVFBMTEybXpGRldDcUJjNE0zSDRIbTQKLS0tIG42SExVV0FYb3FTTzJxUm0xNjNF - TnJKRDl3ZG8yOVlnVXB5RHNIWlErRkEKI6zbADZJ5gjQgGuI5IfFJ7TWN3lbwthL - kTcNYElyp7r+5DkHh68NOwoaM50SyrihNUTVxOj54ip97FIWMq2fow== - -----END AGE ENCRYPTED FILE----- - - recipient: age1a0m73qr8hhuz8xemv4vymf4wmpghm2hst8wgrn3pn65ext5mf4ksk0vsdm - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQbmZVZGY5Zjg4MmowTi93 - QzFDL0ZXNmY1SVNaZVMyR2ZCRW1aMkRwVGo4ClR6WDZBRDFORnFWUkJ6QVZldHJW - Ymx6b3dJOVdqNGhBcFltZ1BhYms3MWsKLS0tIHZhdjZMaWVQMEd2K1JZQTVWTjNu - YTBwR3RXNkUzVi9taUE1aEhJMVZXZGsKHywpcJ7dexnjXOXhlSjmjo4oEQH8LJ34 - oaX5wwIHdfYhzx3mjO9TK3swoS9bKb65nj/42VxM+EsfYSp9JcHsEQ== - -----END AGE ENCRYPTED FILE----- - - recipient: age18hpxz0ghvswv9k30cle73prvnzrsuczqh87jjdk9fl50j3ddndmq9xae0n - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBsd1dlMmxxV0g0WkFlTWlG - K2NvcEdtem84dHUrN0E4N3BPZiszMmc5dnpRCmpGZVA4U3F3YWJyaEJGa1BMM2d5 - QWhWMUdESDQyb05hV3lSdjRyR09yZHMKLS0tIHR2eWttVmc5aWVLMDdacmkzQlRa - QktBTU5SN0gyNU05NzQzT0loaEprSGMKT4rcAmkQdGbl79jW4V196u/SkI+2xE+y - Vn92eEe8D0yCvf7CzXEv59viu4jIfHeOsM1nVyPpHjMDg7hZ1/fFFg== - -----END AGE ENCRYPTED FILE----- - - recipient: age1xgy03g3vjydsxcl0qpdgm8rahjcjq95ucxfwlgr22zwjx3p7jf2s9jk6u5 - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBjM1JBLzlpTzNQbnJVZEFH - MjVQaS8wRzBkM2sxZ1RiZ0Mwem5TMFNiY1RNClM5MHFxd05iRGNlb2ZSVDV1SGRN - Y0x0MDB2SXA4emZKR3pSd0hjZHFXczgKLS0tIFZTeEJzUmUxeklDT1YwUXo1ZnlW - WFl4OHM5RlEzOFlINThTVUN6OHJEM1EKncTKPttS1rMwdeTRyb0Vyn4V87G9FbmQ - +z2jn0MosLVR2rpijK38SQjMkBlIjRs6+uwEQW0d3P3Y64oeI0zK2Q== - -----END AGE ENCRYPTED FILE----- - - recipient: age1fv5dafs4n3r5n83qm2hfz7xmnflsz0xf9r3saralrptpgf8mvuxq4t8k3u - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBScVJZNkJiM3hNZy9DRGgr - U2o5NFV5eTVrbUZPMWRsYlppcUFHYzcyNnl3CnF6NGExZ2RkVHVvVXVyeXdvQVVU - cjBWM2MrdGN5RlZvS1JTUkNsN3dTeTAKLS0tIGpMZGJ6OHAxVjVJM0JNeWlzdWtS - MC9HeThreElQQWlPOEFQVjc4NEVnaE0K6z1i6K0giyUHNWe7S5jbPagYLWouH/ux - 6F5BPiXknY5Up33g0y5blBkUuGrU71sGuqna0gq/tnSaToCI9oH0xQ== - -----END AGE ENCRYPTED FILE----- - - recipient: age120530yclr75k6nrzp6k5jjftj8j4q9v3533guupzk4ct86mjxszqg9e5t5 - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBmKzdyRGUwOFFQOVU0ZGdY - RzR1d2NjdGdNM3R0OCtCay9BY0JndW1qQmpNCnB1WnR5WnhnMmdzZllhWkFRTlFE - NjFDQVBzSEk3VUcxM2N2ZE8ydFFjNTAKLS0tIG5oVlNUaWg4ZzBSalJ4dkxleFZW - NVc1Vm1lRnpsQzZ6aHlMTm9lQkJ0VjAKhG9/7V0q04kuL1tjzp7MQSdNMjv3eJ2i - 2GHM1rljDo+Jlas92aytfSlI/o3KfpVt5ZLQUBo2GXz/3BhRFVVJ3A== - -----END AGE ENCRYPTED FILE----- - - recipient: age1c4atxfp05u7zm875s6q8p82ve96rqqpq9smktxlur8pk2yc3qvgql46dp9 - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBTNkE5S0NkR0tJNGgyWXdE - cXNWZGhOV0NnOGRKc2wyMWJtWUhzako5WUdNCk9JaUkvUVdGVU1Cb0hVQnpZdzdY - QldrdHhCOGFiR0loRjFWQ05HUGdLdmMKLS0tIHNzeGsvclVBOG8yVnBVRk9zQ2tm - QXVWZS80WFpaRmRNdGFxVGRocHY0UzQKEPtF1a78g50+aBih/OcFgAESLt1k5imM - 6RiG0BHAgt6lueaGyIUcOxRVjxHTAxdRikQnTAwncOENcxpphBjNnQ== - -----END AGE ENCRYPTED FILE----- - - recipient: age1rjldv3fn3q686647exmcukthr32gmp6s3axs0lhyenvru9ajp9rs24ukvz - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBocnVWenVaT3B5NTFGcE1P - d09QWEpqNXNibEhhSmJaTGxBMVNjSXV2V1Y0CkhYNS9rS2k4OW02YThLeDl0enFw - U05udTlkVW9oL3FNbXF3cVcvSk03VWsKLS0tIHB6NWE2djlZakI1eGRNOHRwVEJW - TEUxaytYbVFma2dpNUZROW5BYnA2TkkK4FWyc3cVn2vJDzjXGJfJFnAKFYPIPBAz - F/jgpxxM8MegtyrVAA8HkiEtRW4Ysk0dwaB/r5AP7s0X1oPj/V8YMg== - -----END AGE ENCRYPTED FILE----- - lastmodified: "2024-05-14T21:01:48Z" - mac: ENC[AES256_GCM,data:s3zdz0zOXo9YPt0V9il2MVRKBuaMZ8iIR9267y23IrwH914P+YVYQ9i7tTDfEG5+R1TEbLjli8oNxvLpH/BEicGygR/lEBnrp17ccd3RqCcrKHgFyp/QihJ7cCuBtcDO/0kPKSLWsa51hz71heYJLXaFCcZjvWm6R/z0hh3dE9I=,iv:Dt05Fdgk9YYVAwZgrpvxv8A7I6VG+TRRnPjRx4GZqrc=,tag:G7bFoIVXAd84Eqf+qJRiAQ==,type:str] - pgp: - - created_at: "2025-06-27T20:11:16Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hQIMA82M54yws73UARAAl6+KFBx9Du2/+Yn2dVrzmnJ65VM0oyGsNHj6SzPZOKc4 - Gt8yjvZqj2ptMP97YXyZhr8N3vbEEB7RrJF4Eypq07sMs/rDwBxYkCKA8XgJimoe - Or2yQNueo5Yv+2xWvKZieQeTj/MJutKk7pT1uMEzHn9gUdhelAT9x+4AvJfoH8/k - jyw1uGFZhYt0Uc6XAigWqDNZemny7wQ6wMYYLnDOp2O44kZSpVv+bAcOeyoiU0kR - Js05PyImsBuClBEoT89Dy63KqWagSY82rY2g/qngUZjvRgRRtpz+FwMZldnKYKeI - hib2fQJeIYn9NLr/ahJ+CHCXdXovaO/hKbjqMTyEKHfOqdqvedEWpSZ345PB8Id6 - eefpSKbeCvJ3a1qq29Wxt8vZxg8qgJZzIym+QZVBMmrRJu9UoWsVAx44O8yJSdL2 - CCz3kwbp7fGs9AaW3ZK0fTV6W38NQOFGUm6wQzy39M2foZwN8Ob/k0RpACUZzjlj - kBkT1LsKneggo67ERqAWm1YoIXIAcy+LkvZCNyzNobTH1SD3Q72He1oCSExZ1W7c - rR7XUGQxJMkGbjEAEeqsnc43JbnWhrzHLlT493UAU0foBaejpUwORmPyZPk2+Uun - Hymhmn6c2zgstR12L8/AaqiJFTXCNInRH3UDbLQFGSo1kY9SxI/wsbCmQL7OUX/S - XgHYKE/rhGcEzOWqSVQD8hx3rb2wz6YB1iGIykEWHwWu0XMCfFojcgKRyswmXjRT - F0viw/drIYM+jJNfvqYYaUEdLspgayEP5X2xTaAAe4GhXs66X+9wkbS1Y8ne2nE= - =9gRr - -----END PGP MESSAGE----- - fp: CD8CE78CB0B3BDD4 - unencrypted_suffix: _unencrypted - version: 3.8.1 diff --git a/nixos/servers/matrix/synapse.nix b/nixos/servers/matrix/synapse.nix deleted file mode 100644 index 8b182792..00000000 --- a/nixos/servers/matrix/synapse.nix +++ /dev/null @@ -1,93 +0,0 @@ -{ - lib, - config, - pkgs, - ... -}: let - inherit (lib.modules) mkDefault; - fqdn = "${config.networking.hostName}.inskip.me"; -in { - services.matrix-synapse = { - enable = true; - settings = { - server_name = "kittywit.ch"; - max_upload_size = "512M"; - rc_messages_per_second = mkDefault 0.1; - rc_message_burst_count = mkDefault 25; - public_baseurl = "https://${fqdn}"; - url_preview_enabled = true; - enable_registration = false; - enable_metrics = true; - report_stats = false; - dynamic_thumbnails = true; - registration_shared_secret = "!!MATRIX_SHARED_REGISTRATION_SECRET!!"; - allow_guest_access = true; - suppress_key_server_warning = true; - use_appservice_legacy_authorization = true; - /* - app_service_config_files = [ - "/var/lib/matrix-synapse/discord-registration.yaml" - "/var/lib/matrix-synapse/whatsapp-registration.yaml" - "/var/lib/matrix-synapse/telegram-registration.yaml" - ]; - */ - log_config = pkgs.writeText "nya.yaml" '' - version: 1 - formatters: - precise: - format: '%(asctime)s - %(name)s - %(lineno)d - %(levelname)s - %(request)s - %(message)s' - filters: - context: - (): synapse.util.logcontext.LoggingContextFilter - request: "" - handlers: - console: - class: logging.StreamHandler - formatter: precise - filters: [context] - loggers: - synapse: - level: WARNING - synapse.storage.SQL: - # beware: increasing this to DEBUG will make synapse log sensitive - # information such as access tokens. - level: WARNING - root: - level: WARNING - handlers: [console] - ''; - listeners = [ - { - port = 8009; - bind_addresses = ["::1"]; - type = "http"; - tls = false; - x_forwarded = true; - resources = [ - { - names = ["metrics"]; - compress = true; - } - ]; - } - { - port = 8008; - bind_addresses = ["::1"]; - type = "http"; - tls = false; - x_forwarded = true; - resources = [ - { - names = ["client" "federation"]; - compress = true; - } - ]; - } - ]; - }; - }; - - environment.systemPackages = with pkgs; [ - synapse-cleanup - ]; -} diff --git a/nixos/servers/matrix/telegram.nix b/nixos/servers/matrix/telegram.nix deleted file mode 100644 index c35e7bc4..00000000 --- a/nixos/servers/matrix/telegram.nix +++ /dev/null @@ -1,27 +0,0 @@ -{config, ...}: { - sops.secrets.mautrix-telegram-environment = { - sopsFile = ./telegram.yaml; - }; - services.mautrix-telegram = { - #inherit (config.services.matrix-synapse) enable; - environmentFile = config.sops.secrets.mautrix-telegram-environment.path; - settings = { - homeserver = { - domain = "kittywit.ch"; - address = "https://yukari.gensokyo.zone"; - software = "standard"; - }; - appservice = { - port = 9047; - }; - telegram = { - }; - bridge = { - permissions = { - "kittywit.ch" = "full"; - "@kat:kittywit.ch" = "admin"; - }; - }; - }; - }; -} diff --git a/nixos/servers/matrix/telegram.yaml b/nixos/servers/matrix/telegram.yaml deleted file mode 100644 index 6fc60074..00000000 --- a/nixos/servers/matrix/telegram.yaml +++ /dev/null @@ -1,110 +0,0 @@ -mautrix-telegram-environment: ENC[AES256_GCM,data:/SYgmAFD7hsq829JsOvX+iDvy0uByfuhV8RnRVuEIlwkTZyfKpZYcqfi3/6fk3OlgtE68ULO9ZKY/tmNl2JFKiRiO8wln+oebDMjTAWlUFvjzFAcM5rCb7OQHY4ODZMzEMMtqatCyKztaS7Ql3v7gEZdD98yHzhdpGGPe5eS6ClGdSDRz5hahNIGrpcr1lJIMXBq3F3jKqipUzf3uiJZ8FrakSwUPQyVZhRNsrir4oSOi/gWevJ59Ey3FKr5NjK2DhxRx2/bvJZzNo16e/M8V4pdUkDbl7aOvYsTg+swTQmTNk+bGsWgZjmc/hrwRIJYnNJ/uhMhqHzk5zzMYNS/gCAsZeDWS/XAdFj4jWAcEA6Em34hAw59rpq9liuRJX8i2ewXblWz5dYoUqgv6dHIR5tyLFr4YPBl,iv:70Bn00Rz40m1DvmitbnCNibiLHWmmDc6WN2wQOiyNXc=,tag:qxAISRF4JF6WycS1si+FKQ==,type:str] -sops: - shamir_threshold: 1 - age: - - recipient: age1n4kdchmkk3rfkaknxhveqr2ftprdpgwckutt23y6u8639lazzuks77tgav - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBPWVd6Sno3b1N2eEZoVm10 - OUlxeDVaZ0pBVkxNeTdXSlpCenE2Sll2RWg4CnNLUHFZTERGdzI2N3FlVm5kSEdW - QkZqWlRQakpvbUdGbFdyMnVCNUlxbDgKLS0tIFNWeDZmY3ZZZHg2SDZDTVM1OHRV - N0pLZnRyNXJyMTlRTnN0TXF4enBqdXMKKbt0auYLaFw5+pps2IHztskWw9vnjX+z - N1FyyF+Z5jSfsUv1/xhyu+Aq5BnevhouyEXVyNbhrJeiI/pDUfBwVA== - -----END AGE ENCRYPTED FILE----- - - recipient: age1cnu37d5fqyahh9vvc4hj6z6k8ur9ksuefln7sr6g3emmn927eutqxdawuh - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBqSkpoMms1TUhEa1YvRTRJ - ZFpzQ1dvLzJmTWtXYThYQS9CZHVVREZvOGxFCkR6MWMwNlQ4aHIxbHBYaXVWY0Iz - L1RDWFphMlZGemdTZ0dsR3V3aDROeEEKLS0tIFIyNTljN25iRVpwcFJsb2lZRDA0 - WWxMZzQrWVNjZitYYWp2YnJ6NlFGY2sK08zbwMo0wJOELKgshqoTbxMCc5/UlrJp - 1g0tIdqyhkQvgCvUt1jDcdoAus3yCfdms8DgcG7sjRAHtHjAlIPSPg== - -----END AGE ENCRYPTED FILE----- - - recipient: age1a0m73qr8hhuz8xemv4vymf4wmpghm2hst8wgrn3pn65ext5mf4ksk0vsdm - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBnZ1l4VG9kTjJ5UHloUkFj - SE1yc1RVNkhEdVlUT1gvV2RGM2ZyYkcvcmlnCm82OGtSMUdzWGFacG5vK1NiMDFo - VW9FQzVhV2syZ3E3Y3IzNjlURnBKOXMKLS0tIC9haDBYQXRJTjN5cDdYZ1NKSGJC - WWpTc3VlSEY3SW5RTkJSSnE1YWtGNnMKGRNgntEe8rotnKtz6MCI0IGMqTBHpnZf - 8XmQVBzK8qSw5FjfUbNzkS+bjVbCdzMzo2JAnwW/GmoP+YSBitAn3A== - -----END AGE ENCRYPTED FILE----- - - recipient: age18hpxz0ghvswv9k30cle73prvnzrsuczqh87jjdk9fl50j3ddndmq9xae0n - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBFRi95QmdsM3kvOVFEdW85 - WU40N0hkbEdBLzRGc0ZnK3pxbnZzYTNFNlhVClhjdXMwYXhpRDIyUUY4Y2tpT1lI - bUVrOVlUb3VPYUNaS0pvVWtpcFIwTjgKLS0tIGNIVW1rV0RJTVZuaHh2T2o4UWFk - eEpVN3BsekJzeExramRoZ2ZqM3J2NE0Ka990s1RgJ4E8dTTVaPSgjCiW7tqNcpCl - E4hxsudQPoFEFQjc7+Bp89tgAS0Li1/i2gXFW+tIFgI45xSTZnLy3w== - -----END AGE ENCRYPTED FILE----- - - recipient: age1xgy03g3vjydsxcl0qpdgm8rahjcjq95ucxfwlgr22zwjx3p7jf2s9jk6u5 - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBZWjFBR1VpMUxxd1RSYkJq - QjViVHpTbU85bHdBRDZNeG9EQnVVcmJtQkNrCjk1anIvbllSL0h2Uyt0MGpvSUFK - S3B2TjRnNDR0MXpPd0dneEo5R3ZvZm8KLS0tIEM1aVBFcmtRdDhXNjJKTENaVE55 - T1lnZ2dKUHJIQW5NTXJpSmVKaUxKZkkKCro8gZcEC8rYNLDEsM+OI28qJwR8LdCD - Jpj75I2IAA3+Ygr9GMuMMmc3nY8P/WN9zd+EC25WDhLUrSrFUsE+6g== - -----END AGE ENCRYPTED FILE----- - - recipient: age1fv5dafs4n3r5n83qm2hfz7xmnflsz0xf9r3saralrptpgf8mvuxq4t8k3u - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2ejR0NkxyVjljTWc2alVB - T1VsQXVacmtJNXVXamhycVRmenpGSlVBSG1nClFGbUNJZ1AwRUxzNUVOcFZ5U2oy - ZTIzTFBDS0xzTHcvVDBJOHdjOGQ1Y2sKLS0tIDJjaEhZNDQ3T1I5emk2UnRPa1ZT - NzQwbUErUmREYlpwaUUyOWxNUDkxZmcKN8NzDN/jgOlP63whB1nMh5qKum1HY7j4 - xvFp/gOXmLPdXGt79+EjyTfbFDUCnwuNd42Q1Nqpqn187E2yiHeNEw== - -----END AGE ENCRYPTED FILE----- - - recipient: age120530yclr75k6nrzp6k5jjftj8j4q9v3533guupzk4ct86mjxszqg9e5t5 - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBidXNZRHJOYjcvODd6aVFC - Ylh4TUZhbWhQZFAvRmpMTnM3UHJjeDBUTVZnCmRYeWluT0Z2OG9tSVQ5ZGdxNzVO - N2VyK2dFQkw3NWdVSUNZenNYYUxHRlEKLS0tIFhHVUgrWmd5cHNpUXNEbmsrbWk4 - VnUvcU12QVRTRkdFb0VYNDVGNkhZYnMK5XCDUP9t2f3vfjYTx8lEfXBXcHK/O+zW - rz8sFf9LdyPvdUuHCkkhlvRgYJ4gaXEvEyT9qpAlb9/Opm99MMFy7g== - -----END AGE ENCRYPTED FILE----- - - recipient: age1c4atxfp05u7zm875s6q8p82ve96rqqpq9smktxlur8pk2yc3qvgql46dp9 - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBBZVBVWXRtbXZhdzZONEkv - UEpwRlQ2R2FIc3lLaFZHTG02SXo3WWZzVW4wCmQ1RkYrTnBRemZaVG1DbGhNRE8x - MXczTlhKdnkxV3l6VW1tTHZmOW52QnMKLS0tIEdLL1VMVGJsQjBOWVJaRm55SWlV - UUNIY0dMdTRsOGpaYS9mQXZBOS8rQWcKY5xfZBozgCErLzlWLwuol5xnJwQq2+q6 - +3PoW/b/e8HwC05WbfrwgcOm7mvCmiWxsoZJ8Hqjylox2szf3T0DEw== - -----END AGE ENCRYPTED FILE----- - - recipient: age1rjldv3fn3q686647exmcukthr32gmp6s3axs0lhyenvru9ajp9rs24ukvz - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBsdHg3WFRmZlhaK0RpaXdC - VlZDR3pRZmt4TGVpVmxab1VnaFJjL1VtSkNzCll3YmlYbFlHTElsZU5IdlE0WEZP - VlFucmxscmQveFFZSDh0Y3FKbWMzVjQKLS0tIFFOb3Jxa2JreDRXcGM5ZkQ3RVpB - QXI4TE5TVjIvWW4za2EraDV6aS9wSlEKId93FJCmOrJAxNn7k+rKlVlDiE11d9O1 - cO+Jn3tVKL4MnqRgkyI65JeGVvfkvXWYd/5pwgQnUrzzZJEQMENCZg== - -----END AGE ENCRYPTED FILE----- - lastmodified: "2024-04-21T21:17:03Z" - mac: ENC[AES256_GCM,data:FxmPFJXQ1oCFA7K3bXuAcKDDCzDQpVsVSZksz9NHw3p7J5kKNy/M3PulXJdlC8pw5NbtK8nLlYP6mcjgSRICaXXUbked13gDD2bbB6DrjcXjhes5ccwcPOb4kLuUcTgGJ8q5BSD3isLOO31E4RZHmX10F8lJLPqR5whoDs3IajE=,iv:FExSdR/+CdFkcP2V6C7n4NgvbdibRol3lTVBjUlhWWE=,tag:nSHHoo/ykTzZNZlXDePW5g==,type:str] - pgp: - - created_at: "2025-06-27T20:11:17Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hQIMA82M54yws73UAQ/+PT7h53pWQQLbZ+uANvfNEiAmKK1eyQ3UPcNfL3yEm380 - WwOskPFp0/7h8vgfKDUSl71tpQ4am/9VUAUglOMSY2ikAXp0v8opmHr9s+jtqVzR - 3BL+8eVoMDRTcFPmLEYIYoTN5MU8LkAQUptB3XZ7qCk3+itf4AdXHC1XywyGzIOO - HfivoXykfj5mPk07VHYktNhvK1jg3qaYWxPSastE4mM/a2LBjng9Byxf3x6bYbWq - 3Ewdhv7qnlQj6YoGXzQetaeN/p7bxdA/fwpmpfHowzYkRo2BI74sAhMcJNyHNlqN - LlGHzjFxI4J1aCr56VV+1MifhMMNWz1HDhRIoy6nBsi3zWHiTRlZtpKAmD+9/X9c - fETT48WIPn95OH+YwOZcerC6hUycGQdYkVZO7wMeHMZH++pxs0rBFUTyfj/cpAKs - i+SAff+NMlJSGrLNgHEZgIRpE79lMfaIuToIU8VlN+oqQ/SuT7Q59ISb/ytaGWDQ - OGqEAYWUuW0t+cnHV+j/YBqK+yCpvSIg0jMKHFukc/SRQzqGMZvGQZTDh+4BDV/A - f9LaVu23Ob5IE8NchMBGc8+PP1X9kO/WV+xagiVMCeQD8rG5aSD7tSPwkeDFhN5t - Iv5pplPRM+Cq1j0bSD3wsbWsqfg9RNQUQw1TeK51rKLqkwGu8XLUuokNFDn2tJrS - XgHydp5s3FI30cdKOo8vJMhpr2+NWw6pflplinzkbqGmEdVoTeQquY/cNVJCdYYm - bSRt5oo/7g+9tokvQybJF0243YRvRGNT/9f+uwT9FwLqZ+OtxulJe9Zydcksink= - =/OW+ - -----END PGP MESSAGE----- - fp: CD8CE78CB0B3BDD4 - unencrypted_suffix: _unencrypted - version: 3.8.1 diff --git a/nixos/servers/matrix/whatsapp.nix b/nixos/servers/matrix/whatsapp.nix deleted file mode 100644 index 9c445bed..00000000 --- a/nixos/servers/matrix/whatsapp.nix +++ /dev/null @@ -1,33 +0,0 @@ -{config, ...}: { - sops.secrets.mautrix-whatsapp-environment = { - sopsFile = ./whatsapp.yaml; - }; - services.mautrix-whatsapp = { - #inherit (config.services.matrix-synapse) enable; - environmentFile = config.sops.secrets.mautrix-whatsapp-environment.path; - settings = { - homeserver = { - domain = "kittywit.ch"; - address = "https://yukari.gensokyo.zone"; - software = "standard"; - }; - appservice = { - port = 9049; - }; - whatsapp = { - }; - bridge = { - encryption = { - allow = true; - default = true; - require = true; - }; - permissions = { - "kittywit.ch" = "full"; - "@whatsapp:kittywit.ch" = "admin"; - "@kat:kittywit.ch" = "admin"; - }; - }; - }; - }; -} diff --git a/nixos/servers/matrix/whatsapp.yaml b/nixos/servers/matrix/whatsapp.yaml deleted file mode 100644 index cfaebb40..00000000 --- a/nixos/servers/matrix/whatsapp.yaml +++ /dev/null @@ -1,110 +0,0 @@ -mautrix-whatsapp-environment: ENC[AES256_GCM,data:yfyECUKpmXyOFSsl1i1SupOdnAF2yisuY94v5JYjEsOi4aqoJ8c3ryErHp6/3mDosJRQm5E8YsuHDbs5t/OD6JcgIVff5V5igRcN06mvtfA0URDNOOetIwWreJOJRqD4DW7tdKKfGg1fDZpcJ4rEe+uV2LMB1owyTzCViT4bD9czxwxPUp145ss8KY03MEkO5/FwWZ2K/sZB/cAOZPqe9zWT2PhWebhKOflCbGiqOu5vD7wQSVOJHvmo6zW0KA99XixxtD1zeutp7jzK,iv:LeVF/OgzQJgOPiaqxUAuRaYBZmkLqtkQietvJBDA3sU=,tag:HhBXbPh1x7E+rJheZOvEDw==,type:str] -sops: - shamir_threshold: 1 - age: - - recipient: age1n4kdchmkk3rfkaknxhveqr2ftprdpgwckutt23y6u8639lazzuks77tgav - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSArUnczb0xsOHczL1RmUzNZ - R2QvS0VvVzRmdUljZ1ZTbWRjcE1lUG9PVzFNCnZXQmdxelF2MWUzQm41Q04rdDVw - RktQUXdaSFRmQUFxbk9BNWRTVFA1MFEKLS0tIHpoSzdTRGlNejBwZEpnU2VhdTli - ZnVwSk5taXN6bVJPTGxPdTF6cVZOQlUK21ZkeMOKRSfsSogJUJWOZHVegjA99zcT - Ml5FAp5FjjvXSH+dkvdhzEm5DQfy99bcGoaLUEFBDMKDZgRhWT7w/g== - -----END AGE ENCRYPTED FILE----- - - recipient: age1cnu37d5fqyahh9vvc4hj6z6k8ur9ksuefln7sr6g3emmn927eutqxdawuh - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBET0lCc29VSHV3ZzZtUy9i - RmNHc0hEVmZIU0tDd3RaTnpoaTBUU1Y3QURnCkFXeWE5Ylo3SEtiQ25NRTZvZFh1 - SldZVGhKdVZQamJlRGZnSElwYmtqUVEKLS0tIEdYN0oxd29VM3RMOGRNTENkOW12 - TGtZbEFDK0lRZFp4UXNYbm1yU2ZWWjQKi68rz6O9hSYR09+8PhY2Ll4ogCYJDyM3 - wMClHCqAnmqKZ3pPNmfXhFJhmK89SxhRYFr79y8RP16yPTh7POnRbw== - -----END AGE ENCRYPTED FILE----- - - recipient: age1a0m73qr8hhuz8xemv4vymf4wmpghm2hst8wgrn3pn65ext5mf4ksk0vsdm - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBGSzNTdTZ1Q2lSL3FWdHhz - dEdEMHpMVno1LytFcVpOUlRQdW03Wmg2YTNVCmhoN3hkbEpKUXY3M1VXY1Ryak8x - QkgzZDRSeEVoRm1JbVdpcnlNbFR3eUkKLS0tIHdET2dZY04yNFFhdXhSQTVUbUtp - cnQ1OG56NEZqelh6WDBQU1p3TXg0NnMKx53faJlKZojZQX9skD7APANwoSM2x7Pw - plJMOnv5XBGcX0ejI5vro67ax0PA/1UnoC6W+zlZ+t1588F4fxx6qA== - -----END AGE ENCRYPTED FILE----- - - recipient: age18hpxz0ghvswv9k30cle73prvnzrsuczqh87jjdk9fl50j3ddndmq9xae0n - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBrb2xNZFRJN3FyZnR1NjNB - NHo1Q0t2ZHNVS1hKbFpCeWxpTGNlSlgvY0hrCnNlWm1JZmdqMTRVaHNMOXkxK0JJ - QitMaXJKejhZd0p1M25aRGJ5eFBoL2cKLS0tIElET3hteUN4NExsaGdEV3RpRXN1 - OTM0T3g0d2s4VTFXVm1NS1hhTVZGaTgKRee0smFX83zKfWLp1plWtl/xCiDmIkEu - 4qSOac/uW1PiXTS+3WcPJYwS+PRoj2WtzbGsJyXxW6iBUA8bbDV55Q== - -----END AGE ENCRYPTED FILE----- - - recipient: age1xgy03g3vjydsxcl0qpdgm8rahjcjq95ucxfwlgr22zwjx3p7jf2s9jk6u5 - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBWZ0JJaDIzUWs3MFIxMWpE - aGROSGk2c3lYc1Vxa3JwZVBERnFDWUlkQzB3ClhKOGxvbHpVM3dvSnI0MCtBQ2ov - V1ZOcVhLczZNSVRtMElWbmllOTJlSDgKLS0tIE1NTEJMa0lWZkR6ZjFQT1oxQnBV - QTZIS3JXcldxZE1YL21WYXJlbHNIcGcKQEq8Um82aixK55mRa4zw0W2HBTXD0cGO - 9x9iESDkMwFQQvw8V7u1/NQGOjy/9sXEFc9okeicXBbcyvoSSYPsZQ== - -----END AGE ENCRYPTED FILE----- - - recipient: age1fv5dafs4n3r5n83qm2hfz7xmnflsz0xf9r3saralrptpgf8mvuxq4t8k3u - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBWZGJ1WHM3eWthWVZpcENi - YjdaM3lvZTN5VVpqb3c1NzJUSUFvcTRHNEQ0CnU0OGFlZUpCaWcwYWNpdE5SQlBz - eTM4SGpLbjVKV3pOVW1teG9jTWpkOFEKLS0tIFhHbUZocEZpN080UXM5SHkwSDJk - UmxieUxJSHBoZ1JKaFRSaHdPRE5NZFkKrZGY5teVNbHiPiMR1greIxeQpy/ngqNw - EoffUTtjK+HVy22y6F7idWqMrm2ZPKZumD/tZMyiH4GV9h5NZMJZzw== - -----END AGE ENCRYPTED FILE----- - - recipient: age120530yclr75k6nrzp6k5jjftj8j4q9v3533guupzk4ct86mjxszqg9e5t5 - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBSN2xLZjNDdmNnQnI5Zkw5 - MGJURk9DcEIyTlpjOXc2RjZkOTF6djFQSWpRCnJvVWZJTmhWQU52N29BTDROdDVo - QlBTWGdWOW9oRHVSNW9mUW4rZ2RodTgKLS0tIEE1VkkwVmJvYzVLTlM0cTYrRzda - UTBXYjl4TTd2TTBHS2wxZVJiUFJQb2MKArkEnRgQ/BlAECQsAxmFSY76r/vwPCp5 - Q+Iz0dZSr820wxi7KGhtc9yRIh6Zximi7wjjkCPbEUCJeBLwIBeLCg== - -----END AGE ENCRYPTED FILE----- - - recipient: age1c4atxfp05u7zm875s6q8p82ve96rqqpq9smktxlur8pk2yc3qvgql46dp9 - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBWOG13bzJHMEk3T3BjMTY4 - VTd0ckRXaGxVRWJZc0NyV3F4bU90Z0tBWlhvCjB4dHFIckdBekVib1JVWW9UL3h1 - VEFGalpleWN0cCtvSGozdmEzMHFFNnMKLS0tIE92WTdwRkJvY08wTStpeW84cTBW - MCsvUC9KSS82ODRVUkRhblZoQVIrMnMKG+xsAp6YZCSH/57mnnvd+YCCTshW9o0W - aqEeLteSslnB3f3S981QgpDNFZSxHXHDmK+Az0i32fDLn2PKym2Tkw== - -----END AGE ENCRYPTED FILE----- - - recipient: age1rjldv3fn3q686647exmcukthr32gmp6s3axs0lhyenvru9ajp9rs24ukvz - enc: | - -----BEGIN AGE ENCRYPTED FILE----- - YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2SGoxZWJUVFF3dFJOSUtu - N2FETmh4K1NlMWVNTmQxbCt4c2JjRHdYZjFNCkJCeGtnS21mN0xTeG5JdjhuRndW - ZHI2NktIdzd6QkYwU1dwekM2N0VadHMKLS0tIG1hOXQ2TUZuTVVOMmRaczZLRzZL - RXdGWHpSa3g2bk5YcG9vU1NwYTBwRlkKcqX/3OU9GAI/8NZcQiyfItdc0M6JxNFs - EDsTgGbvMRH944STFvcL2ytFb7K/ZQpuFwOZQF39UmfFcEuxe0OATg== - -----END AGE ENCRYPTED FILE----- - lastmodified: "2024-04-21T22:01:48Z" - mac: ENC[AES256_GCM,data:MWwXYxo4dC9XlJWA1Tnp0qBzt31E/UuYyIPtMZNjY5o+km0BZrxuGhFwewUadyRajk6vXhbMW2nOYCQBlEjiOENrUOO0sLAIdu8QC00bZ9c4UlSL/OZJosTUVvkFrE14Os697gYV2RNenFZS/+QyvAdiMgVjgNeLjBRj3nt9QBg=,iv:ZVVfiDkUpO9WeusJq91FSTtmhGXnX08WTNW3okqqKxo=,tag:ERe7uNv2p0WcZDwJnWCNpA==,type:str] - pgp: - - created_at: "2025-06-27T20:11:19Z" - enc: |- - -----BEGIN PGP MESSAGE----- - - hQIMA82M54yws73UAQ/9HrRu3u8tt7/zKUx7FEQSLur76IP3n6QoeTLkJ4FKrK7j - f7LMeb1kf0peL9Xbwy47Z9HbTIKrg5g6s+cLkkLPLRlNe60O3nQBANDvOjDnpRCm - MmEtq1BDrx9XJ0u29fJiJX9gGTA4pbAefvLGLCnmMevUHHJjoi3b3zWZ5s+80jxH - rPnz3T+RRBltJ8/zY2xzPfSy5V9pkrzfm3CMzcbUyJQyDKKakoqHScGO9fBC3JzV - BQu8zdwqYWgQnGGvEdbj+4ZNJYfjwPJnu+TXqQtArlw1/a+Phw9JxX/clv5i6wH0 - 7uq9rtFXEEH5LHTtkeLn9xvFpR6zSNxxVcLDQiRNYAEDT7/VPNe60+5NvoumZztu - Vgd4l0UbxTAijiTlLzeXWbMXwjz7hwHyZxicgoiQ3mBCY1js00oroAtPOyrZBgEU - oQcipgqc4/6IVHik2hCa+u9QzOPaGUVtaH57lOSoj0tfoDGvxU4o+xUGK1id9yBo - buBvGRXqJbnNdrSlI8x6KF/9YVn5FYOUV4utWSqPBiivIyxjOCionrZ4cydlr984 - upbK/GpfMKDnuLfROZns9Be1FDNq03aBS25rLLN3goaLx3wdPcU275GqGbCTsZzy - 4UAaWRRO2fsQ0K1MKxk6F/z7oNhBnykwMk6bj1mmXfS8HNgkwrUmHvy8xzWXrzXS - XAHAH1/2LnPScaPsFtc/x+Ravh/NWq/3LSpc7lH34yV8hJIWkNWKWzxtnTWO+0Y3 - vUnNHIi3B9odzUir4NzYh383mB7mQNzewgivuAsrNRnvpLWXqrMHqzxyPO1A - =w79j - -----END PGP MESSAGE----- - fp: CD8CE78CB0B3BDD4 - unencrypted_suffix: _unencrypted - version: 3.8.1 diff --git a/overlays.nix b/overlays.nix index 6e4a6c30..e87676f1 100644 --- a/overlays.nix +++ b/overlays.nix @@ -4,10 +4,11 @@ ... }: [ inputs.rbw-bitw.overlays.default - inputs.arcexprs.overlays.default + #inputs.arcexprs.overlays.default inputs.darwin.overlays.default inputs.deploy-rs.overlays.default inputs.neorg-overlay.overlays.default + inputs.niri.overlays.niri (import tree.packages.default {inherit inputs tree;}) (final: prev: { wivrn = prev.wivrn.override { cudaSupport = true; }; diff --git a/packages/nf-build-system/default.nix b/packages/nf-build-system/default.nix index fe184406..5d1e52dd 100644 --- a/packages/nf-build-system/default.nix +++ b/packages/nf-build-system/default.nix @@ -1,13 +1,20 @@ { - wrapShellScriptBin, - pkgs, -}: -wrapShellScriptBin "nf-build-system" ./build-system.sh { - depsRuntimePath = with pkgs; [ - git - cachix - jq - nix - curl - ]; -} + lib, + writeShellScriptBin, + git, + cachix, + jq, + nix, + curl +}: let + inherit (lib) makeBinPath; +in writeShellScriptBin "nf-build-system" '' + export PATH="$PATH:${lib.makeBinPath [ + git + cachix + jq + nix + curl + ]}" + exec ${./build-system.sh} "$@" +'' diff --git a/packages/nf-update/default.nix b/packages/nf-update/default.nix index e3988259..5284ae62 100644 --- a/packages/nf-update/default.nix +++ b/packages/nf-update/default.nix @@ -1,12 +1,20 @@ { - wrapShellScriptBin, - pkgs, -}: -wrapShellScriptBin "nf-update" ./update.sh { - depsRuntimePath = with pkgs; [ - git - cachix - jq - curl - ]; -} + lib, + writeShellScriptBin, + git, + cachix, + jq, + nix, + curl +}: let + inherit (lib) makeBinPath; +in writeShellScriptBin "nf-update" '' + export PATH="$PATH:${lib.makeBinPath [ + git + cachix + jq + nix + curl + ]}" + exec ${./update.sh} "$@" +'' diff --git a/systems/goliath.nix b/systems/goliath.nix index 10d61482..5e554809 100644 --- a/systems/goliath.nix +++ b/systems/goliath.nix @@ -4,6 +4,7 @@ _: let lib, pkgs, tree, + inputs, ... }: let inherit (lib.lists) singleton; @@ -45,7 +46,15 @@ _: let gaming ]) ++ (with tree.nixos.environments; [ - hyprland + #hyprland + niri + ]) ++ (with inputs.nixos-hardware.outputs.nixosModules; [ + common-pc + common-pc-ssd + common-cpu-amd + common-cpu-amd-pstate + common-cpu-amd-zenpower + common-gpu-nvidia-nonprime ]); home-manager.users.kat.imports = @@ -53,25 +62,25 @@ _: let graphical ]) ++ (with tree.home.environments; [ - hyprland + #hyprland + niri ]); networking.hostId = "c3b94e85"; - home-manager.users.kat.wayland.windowManager.hyprland.settings = { - monitor = [ - "DP-2, 3840x2160, 0x0, 1" - "HDMI-A-1, 1920x1080, auto-right, 1" - ]; - env = [ - "NVD_BACKEND,direct" - "ELECTRON_OZONE_PLATFORM_HINT,auto" - "LIBVA_DRIVER_NAME,nvidia" - "__GLX_VENDOR_LIBRARY_NAME,nvidia" - "NIXOS_OZONE_WL,1" - "__NV_DISABLE_EXPLICIT_SYNC,1" - "QT_QPA_PLATFORM,wayland;xcb" - ]; + home-manager.users.kat.programs.niri.settings = { + outputs = { + "LG Electronics LG Ultra HD 0x0001AC91" = { + scale = 1.25; + }; + }; + environment = { + NVD_BACKEND = "direct"; + ELECTRON_OZONE_PLATFORM_HINT = "auto"; + LIBVA_DRIVER_NAME = "nvidia"; + NIXOS_OZONE_WL = "1"; + QT_QTA_PLATFORM = "wayland;xcb"; + }; }; programs.ssh.extraConfig = '' diff --git a/systems/goliath.nix.old b/systems/goliath.nix.old deleted file mode 100644 index 15845121..00000000 --- a/systems/goliath.nix.old +++ /dev/null @@ -1,114 +0,0 @@ -_: let - hostConfig = { - config, - lib, - tree, - ... - }: let - inherit (lib.lists) singleton; - drives = { - root = { - raw = "/dev/disk/by-uuid/af144e7f-e35b-49e7-be90-ef7001cc2abd"; - luks = "luks-af144e7f-e35b-49e7-be90-ef7001cc2abd"; - result = { - device = "/dev/disk/by-uuid/cf7fc410-4e27-4797-8464-a409766928c1"; - fsType = "ext4"; - }; - }; - boot = rec { - raw = "/dev/disk/by-uuid/D0D8-F8BF"; - result = { - device = raw; - fsType = "vfat"; - }; - }; - swap = { - raw = "/dev/disk/by-uuid/111c4857-5d73-4e75-89c7-43be9b044ade"; - luks = "luks-111c4857-5d73-4e75-89c7-43be9b044ade"; - result = { - device = "/dev/disk/by-uuid/bebdb14c-4707-4e05-848f-5867764b7c27"; - }; - }; - }; - in { - imports = - (with tree.nixos.hardware; [ - b550m-itx-ac - ]) - ++ (with tree.nixos.profiles; [ - graphical - wireless - gaming - ]) - ++ (with tree.nixos.environments; [ - kde - ]); - - home-manager.users.kat.imports = - (with tree.home.profiles; [ - graphical - devops - ]) - ++ (with tree.home.environments; [ - kde - ]); - - boot = { - loader = { - grub = { - enableCryptodisk = true; - }; - }; - initrd = { - luks.devices = { - ${drives.swap.luks} = { - device = drives.swap.raw; - keyFile = "/crypto_keyfile.bin"; - }; - ${drives.root.luks}.device = drives.root.raw; - }; - # - secrets = { - "/crypto_keyfile.bin" = null; - }; - availableKernelModules = ["nvme" "xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod"]; - }; - kernelModules = ["nct6775"]; - supportedFilesystems = ["ntfs"]; - }; - - fileSystems = { - "/" = drives.root.result; - "/boot" = drives.boot.result; - }; - - swapDevices = singleton drives.swap.result; - - services.openssh = { - hostKeys = [ - { - bits = 4096; - path = "/var/lib/secrets/${config.networking.hostName}-osh-pk"; - type = "rsa"; - } - { - path = "/var/lib/secrets/${config.networking.hostName}-ed25519-osh-pk"; - type = "ed25519"; - } - ]; - extraConfig = '' - HostCertificate /var/lib/secrets/${config.networking.hostName}-osh-cert - HostCertificate /var/lib/secrets/${config.networking.hostName}-osh-ed25519-cert - ''; - }; - - system.stateVersion = "21.11"; - }; -in { - arch = "x86_64"; - ci.enable = false; # System currently not used - type = "NixOS"; - modules = [ - hostConfig - ]; -} diff --git a/systems/koishi.nix b/systems/koishi.nix index 246137f2..1b8859f4 100644 --- a/systems/koishi.nix +++ b/systems/koishi.nix @@ -45,6 +45,7 @@ _: let ]) ++ (with tree.nixos.profiles; [ graphical + quiet-boot wireless laptop gaming @@ -78,9 +79,6 @@ _: let swapDevices = [ drives.swap.result ]; - boot.loader = { - systemd-boot.enable = lib.mkForce false; - }; home-manager.users.kat = { wayland.windowManager.hyprland.settings.monitor = [ @@ -88,7 +86,10 @@ _: let ]; }; boot = { - loader.grub.useOSProber = true; + loader = { + grub.useOSProber = true; + systemd-boot.enable = lib.mkForce false; + }; extraModprobeConfig = "options snd_hda_intel power_save=0"; extraModulePackages = [config.boot.kernelPackages.v4l2loopback.out]; }; diff --git a/tree.nix b/tree.nix index 231886bb..1b95b5dd 100644 --- a/tree.nix +++ b/tree.nix @@ -89,6 +89,9 @@ inputs.nix-gaming.nixosModules.pipewireLowLatency inputs.nix-gaming.nixosModules.platformOptimizations inputs.clipboard-sync.nixosModules.default + inputs.niri.nixosModules.niri + inputs.lix-module.nixosModules.default + inputs.nixos-cli.nixosModules.nixos-cli ]; }; }; @@ -108,7 +111,7 @@ nix-index-database.hmModules.nix-index plasma-manager.homeManagerModules.plasma-manager base16.homeModules.base16 - catppuccin.homeManagerModules.catppuccin + catppuccin.homeModules.catppuccin inputs.sops-nix.homeManagerModules.sops chaotic.homeManagerModules.default spicetify-nix.homeManagerModules.spicetify