Flake for my desktop, laptop, and my homelab.
0

Configure Feed

Select the types of activity you want to include in your feed.

update

Adam0 (Jul 1, 2026, 1:40 AM +0200) 5e4eb33b 905e3f9b

+159 -278
+67 -117
flake.lock
··· 41 41 "flake-parts" 42 42 ], 43 43 "flake-utils": "flake-utils", 44 - "napalm": "napalm", 45 44 "nixpkgs": "nixpkgs", 46 45 "pyproject-build-systems": "pyproject-build-systems", 47 46 "pyproject-nix": "pyproject-nix", ··· 49 48 "uv2nix": "uv2nix" 50 49 }, 51 50 "locked": { 52 - "lastModified": 1781558888, 53 - "narHash": "sha256-Rl5iLEdT3uZnPdaiE1Wh96KebXqfPA10aGBAzyf8nVc=", 51 + "lastModified": 1782385544, 52 + "narHash": "sha256-b9k01gZV57mbfd2unu3hU9uROeG/9MdHZX7CGJpYHUs=", 54 53 "owner": "nix-community", 55 54 "repo": "authentik-nix", 56 - "rev": "cb01f184b9742890c0fffe5a5cf0615c91f9cf87", 55 + "rev": "c2144eb8a943341da3f7982e663b060b3b39e657", 57 56 "type": "github" 58 57 }, 59 58 "original": { ··· 182 181 "cachyos-kernel-patches": { 183 182 "flake": false, 184 183 "locked": { 185 - "lastModified": 1781953785, 186 - "narHash": "sha256-YgEE1a5QdKd47AfRoU5G8nm0gGzeCuPN2emupNDMQcc=", 184 + "lastModified": 1782242233, 185 + "narHash": "sha256-AUwTZq++PBq0qjDVFKqD0AZNNwa0b1RK41bM9XMbkW8=", 187 186 "owner": "CachyOS", 188 187 "repo": "kernel-patches", 189 - "rev": "e8e9d325eea25f5664e045787c19baac661828de", 188 + "rev": "19250dcc39862169961756c733b8a6ba77754c22", 190 189 "type": "github" 191 190 }, 192 191 "original": { ··· 666 665 ] 667 666 }, 668 667 "locked": { 669 - "lastModified": 1782233665, 670 - "narHash": "sha256-h/xOtrByoA/Ak1lWHn0O1lVZz4qWYbwOSLQ8YSwQO0I=", 668 + "lastModified": 1782839684, 669 + "narHash": "sha256-vzs4SBgPsK4aNzlJR2PpFwtARazXMOxZonQnDz0YHxk=", 671 670 "owner": "nix-community", 672 671 "repo": "home-manager", 673 - "rev": "062581938b4a378a82dfbb294b494808157153a1", 672 + "rev": "2a37d71bbe69e1522ddabf03a4cea0374958bdbe", 674 673 "type": "github" 675 674 }, 676 675 "original": { ··· 861 860 ] 862 861 }, 863 862 "locked": { 864 - "lastModified": 1781442805, 865 - "narHash": "sha256-Kt56e6Bq2sfqN8yq1RHsS6z+8QKCZelmhaeQQRtZyqU=", 863 + "lastModified": 1782769258, 864 + "narHash": "sha256-HAhqQOoz4S0gzIOMnClL49B+rMT7zdp3UDWeqxtMs/k=", 866 865 "owner": "hyprwm", 867 866 "repo": "hyprland-plugins", 868 - "rev": "1f90c674d51a1ef83c725cd6d02280b4c969fdf7", 867 + "rev": "71b8953d7d92dbebe87a6ff9895bdd30e7495873", 869 868 "type": "github" 870 869 }, 871 870 "original": { ··· 1103 1102 }, 1104 1103 "mnw": { 1105 1104 "locked": { 1106 - "lastModified": 1778541201, 1107 - "narHash": "sha256-n0twkzWexzjsoDycOTvvQNuGEdg62UiNHYcFCduYpKI=", 1105 + "lastModified": 1780772958, 1106 + "narHash": "sha256-VKKe8r4pwCGWZ3Yr9CPN129R4S3CKLSrlYqdYz3vKpM=", 1108 1107 "owner": "Gerg-L", 1109 1108 "repo": "mnw", 1110 - "rev": "1a3573fc9d2486738fe0b2cacc5cd10dd5f3a445", 1109 + "rev": "0871dbf63a53610c95db04439ed8ea4d6ec9c160", 1111 1110 "type": "github" 1112 1111 }, 1113 1112 "original": { ··· 1116 1115 "type": "github" 1117 1116 } 1118 1117 }, 1119 - "napalm": { 1120 - "inputs": { 1121 - "flake-utils": [ 1122 - "authentik-nix", 1123 - "flake-utils" 1124 - ], 1125 - "nixpkgs": [ 1126 - "authentik-nix", 1127 - "nixpkgs" 1128 - ] 1129 - }, 1130 - "locked": { 1131 - "lastModified": 1725806412, 1132 - "narHash": "sha256-lGZjkjds0p924QEhm/r0BhAxbHBJE1xMOldB/HmQH04=", 1133 - "owner": "willibutz", 1134 - "repo": "napalm", 1135 - "rev": "b492440d9e64ae20736d3bec5c7715ffcbde83f5", 1136 - "type": "github" 1137 - }, 1138 - "original": { 1139 - "owner": "willibutz", 1140 - "ref": "avoid-foldl-stack-overflow", 1141 - "repo": "napalm", 1142 - "type": "github" 1143 - } 1144 - }, 1145 - "ndg": { 1146 - "inputs": { 1147 - "nixpkgs": [ 1148 - "nvf", 1149 - "nixpkgs" 1150 - ] 1151 - }, 1152 - "locked": { 1153 - "lastModified": 1779233504, 1154 - "narHash": "sha256-YIKEyzh0NFQlD0O92LQQNMoVCDwV8yw1Xz0Iu+4ZC5U=", 1155 - "owner": "feel-co", 1156 - "repo": "ndg", 1157 - "rev": "86f6644411a64d5413711895b7cf6e0e1be465b6", 1158 - "type": "github" 1159 - }, 1160 - "original": { 1161 - "owner": "feel-co", 1162 - "ref": "refs/tags/v2.8.0", 1163 - "repo": "ndg", 1164 - "type": "github" 1165 - } 1166 - }, 1167 1118 "nix": { 1168 1119 "inputs": { 1169 1120 "flake-parts": "flake-parts", ··· 1194 1145 "nixpkgs": "nixpkgs_5" 1195 1146 }, 1196 1147 "locked": { 1197 - "lastModified": 1782159764, 1198 - "narHash": "sha256-255zJue+y2e3nfTj8WJgn9/YWc5ntyrNSu8iUVAegT8=", 1148 + "lastModified": 1782415778, 1149 + "narHash": "sha256-Qts73QQA+lADfxWjonL3Q1JcZssVZPsQI38L3qZyS0o=", 1199 1150 "owner": "xddxdd", 1200 1151 "repo": "nix-cachyos-kernel", 1201 - "rev": "f0b6b9acd227ed4822b0dfa55998919a55d466e6", 1152 + "rev": "1740ec90e7b07730c212a3a1ff5e71af08a5270b", 1202 1153 "type": "github" 1203 1154 }, 1204 1155 "original": { ··· 1252 1203 ] 1253 1204 }, 1254 1205 "locked": { 1255 - "lastModified": 1782030356, 1256 - "narHash": "sha256-h4WpMr455AfRub0FXBaon6Vcpe0waUyJ4GivIW6oyd4=", 1206 + "lastModified": 1782636943, 1207 + "narHash": "sha256-ripjZa7BBLwL1uS5VJF3s/VpZpWt5ZIQEvkJ/FJNpQw=", 1257 1208 "owner": "nix-community", 1258 1209 "repo": "nix-index-database", 1259 - "rev": "3017088b49efd404f78e3b104f553b97e4af786b", 1210 + "rev": "058b1f9381fa79fcda49982370a750ff92dbba43", 1260 1211 "type": "github" 1261 1212 }, 1262 1213 "original": { ··· 1308 1259 "nixpkgs-nixcord": "nixpkgs-nixcord" 1309 1260 }, 1310 1261 "locked": { 1311 - "lastModified": 1782234043, 1312 - "narHash": "sha256-W0lBYBrJswKonk6IAr2cIiUNQEQ0aSgWLTT0wDrUssE=", 1262 + "lastModified": 1782838476, 1263 + "narHash": "sha256-SLsFaWwN/5qJNgq4F87yK64KU+jXRUHqSUHRau38AWw=", 1313 1264 "owner": "kaylorben", 1314 1265 "repo": "nixcord", 1315 - "rev": "696566e64b1bfe2049efd1cbf9e26cb6cd46cb61", 1266 + "rev": "e055aaffc81400b8b59495ed8ddb4cd6401d3850", 1316 1267 "type": "github" 1317 1268 }, 1318 1269 "original": { ··· 1323 1274 }, 1324 1275 "nixpkgs": { 1325 1276 "locked": { 1326 - "lastModified": 1781074563, 1327 - "narHash": "sha256-md8WlXOlfnIeHeOScMTTHFyf2d6iaTwPl2apR5EQ3P4=", 1277 + "lastModified": 1781577229, 1278 + "narHash": "sha256-lrp67w8AulE9Ks53n27I45ADSzbOCn4H+CNW1Ck8B+8=", 1328 1279 "owner": "NixOS", 1329 1280 "repo": "nixpkgs", 1330 - "rev": "9ae611a455b90cf061d8f332b977e387bda8e1ca", 1281 + "rev": "567a49d1913ce81ac6e9582e3553dd90a955875f", 1331 1282 "type": "github" 1332 1283 }, 1333 1284 "original": { ··· 1402 1353 }, 1403 1354 "nixpkgs-nixcord": { 1404 1355 "locked": { 1405 - "lastModified": 1780453794, 1406 - "narHash": "sha256-bXMRa9VTsHSPXL4Cw8R6JJLQeY3Y/IP4+YJCYVmQ7FY=", 1356 + "lastModified": 1781216227, 1357 + "narHash": "sha256-9mUW6gNwoN2SWc/l0fW4svPNOulXLl8ijqKyeSOGgJE=", 1407 1358 "owner": "NixOS", 1408 1359 "repo": "nixpkgs", 1409 - "rev": "6b316287bae2ee04c9b93c8c858d930fd07d7338", 1360 + "rev": "a0374025a863d007d98e3297f6aa46cc3141c2f0", 1410 1361 "type": "github" 1411 1362 }, 1412 1363 "original": { ··· 1478 1429 }, 1479 1430 "nixpkgs_5": { 1480 1431 "locked": { 1481 - "lastModified": 1782145344, 1482 - "narHash": "sha256-8cz8/2hWTYdsPcpqWXa/IAkyjw1xBv3tx2UPNzkpe3c=", 1432 + "lastModified": 1782378976, 1433 + "narHash": "sha256-UqQgBlQATXM3aBvzTRE/1wxHrCdKg5/ePlXfG/7Eqd8=", 1483 1434 "owner": "NixOS", 1484 1435 "repo": "nixpkgs", 1485 - "rev": "8dc49b8b206a683d1f6605e0fd993c0f5d49c98d", 1436 + "rev": "5df71f3d167f0aad71658608361c1301147b9eb6", 1486 1437 "type": "github" 1487 1438 }, 1488 1439 "original": { ··· 1494 1445 }, 1495 1446 "nixpkgs_6": { 1496 1447 "locked": { 1497 - "lastModified": 1780453794, 1498 - "narHash": "sha256-bXMRa9VTsHSPXL4Cw8R6JJLQeY3Y/IP4+YJCYVmQ7FY=", 1448 + "lastModified": 1781216227, 1449 + "narHash": "sha256-9mUW6gNwoN2SWc/l0fW4svPNOulXLl8ijqKyeSOGgJE=", 1499 1450 "owner": "NixOS", 1500 1451 "repo": "nixpkgs", 1501 - "rev": "6b316287bae2ee04c9b93c8c858d930fd07d7338", 1452 + "rev": "a0374025a863d007d98e3297f6aa46cc3141c2f0", 1502 1453 "type": "github" 1503 1454 }, 1504 1455 "original": { ··· 1510 1461 }, 1511 1462 "nixpkgs_7": { 1512 1463 "locked": { 1513 - "lastModified": 1782118813, 1514 - "narHash": "sha256-PacaMKpRQEyOpBOGPt+LkVCbDXr+zDr/yIcAQsJRhqM=", 1515 - "rev": "b3c092d3c36d91e2f61f3dfb39a159f180a56659", 1464 + "lastModified": 1782760764, 1465 + "narHash": "sha256-L3gmggVc+GxfmG8b6bWL0wkiniDNppQRsfaKc0IfyRA=", 1466 + "rev": "7a1a64774a5fd0b0cd39ac95d0e170ace8b266a0", 1516 1467 "type": "tarball", 1517 - "url": "https://releases.nixos.org/nixpkgs/nixpkgs-26.11pre1020200.b3c092d3c36d/nixexprs.tar.xz" 1468 + "url": "https://releases.nixos.org/nixpkgs/nixpkgs-26.11pre1024597.7a1a64774a5f/nixexprs.tar.xz" 1518 1469 }, 1519 1470 "original": { 1520 1471 "type": "tarball", ··· 1554 1505 "treefmt-nix": "treefmt-nix" 1555 1506 }, 1556 1507 "locked": { 1557 - "lastModified": 1782009525, 1558 - "narHash": "sha256-VKFj+Lt3jTg93ONWFLKieH/QQnXstsqs4hwpQj0nqZ0=", 1508 + "lastModified": 1782613718, 1509 + "narHash": "sha256-h5bs4eRFh3U6+GMU86ONmb9uzSe/9aVWPzv/9yR9pyQ=", 1559 1510 "owner": "noctalia-dev", 1560 1511 "repo": "noctalia-qs", 1561 - "rev": "fc1bdab9adccd3f67fad09e7f6094707eb8c2bfc", 1512 + "rev": "6213df378af0e915c477b1d5466376879d607232", 1562 1513 "type": "github" 1563 1514 }, 1564 1515 "original": { ··· 1577 1528 ] 1578 1529 }, 1579 1530 "locked": { 1580 - "lastModified": 1782253630, 1581 - "narHash": "sha256-JMC0i3UCl/5yBOrcxl+YHxhhITFj7KXfw6xmWO6V3hU=", 1531 + "lastModified": 1782861039, 1532 + "narHash": "sha256-4Lo1FCtYCpSfpbY5xznypLyQ7MqpZto3AjK21oecgqA=", 1582 1533 "owner": "nix-community", 1583 1534 "repo": "NUR", 1584 - "rev": "5cfb02daed3a124636fcb5497d6c0c7033851ed0", 1535 + "rev": "7e683e9f863048d51e8edb19199d5e01c6373e13", 1585 1536 "type": "github" 1586 1537 }, 1587 1538 "original": { ··· 1597 1548 "flake-parts" 1598 1549 ], 1599 1550 "mnw": "mnw", 1600 - "ndg": "ndg", 1601 1551 "nixpkgs": [ 1602 1552 "nixpkgs" 1603 1553 ], 1604 1554 "systems": "systems_6" 1605 1555 }, 1606 1556 "locked": { 1607 - "lastModified": 1780690798, 1608 - "narHash": "sha256-4VZVkS45f2vo0FeunsscSyUBWykCv4YNWGF3VMZHlyk=", 1557 + "lastModified": 1782839620, 1558 + "narHash": "sha256-MzptIDFv69GocQ8wQPNhgFltK6Go8I0HWP6jSWB7IVk=", 1609 1559 "owner": "adam01110", 1610 1560 "repo": "nvf", 1611 - "rev": "164c69c68f9301c085a4ef3944445aee3d873e6f", 1561 + "rev": "d8428d14bf7721cfca61ee609c25f9286e364ca3", 1612 1562 "type": "github" 1613 1563 }, 1614 1564 "original": { ··· 1710 1660 ] 1711 1661 }, 1712 1662 "locked": { 1713 - "lastModified": 1779676664, 1714 - "narHash": "sha256-MbXylBTkWqVm8/VYjoULtMoVRgWBN1gSHbeRKsOsPlU=", 1663 + "lastModified": 1782093830, 1664 + "narHash": "sha256-6gmEVe69+KlRkZD4PEEV5xAlB9CB0Y9TiuEgQjDrKTQ=", 1715 1665 "owner": "pyproject-nix", 1716 1666 "repo": "build-system-pkgs", 1717 - "rev": "7bff980f37fc24e09dbc986643719900c139bf12", 1667 + "rev": "430680a19bc85a3bda55f12e4cc1a1aadcf2e478", 1718 1668 "type": "github" 1719 1669 }, 1720 1670 "original": { ··· 1731 1681 ] 1732 1682 }, 1733 1683 "locked": { 1734 - "lastModified": 1780416763, 1735 - "narHash": "sha256-rRK3IFixgsrK6S3e14Xz9HAZm7+kMAIl3oi5zZlcwYI=", 1684 + "lastModified": 1782089418, 1685 + "narHash": "sha256-LRD1SuQWr49fGq3A+8GLXfsLE2xqIpQA440YDZwms3M=", 1736 1686 "owner": "pyproject-nix", 1737 1687 "repo": "pyproject.nix", 1738 - "rev": "ad83f1ead0e78e57b188f35cb57298affb06fc5f", 1688 + "rev": "43f0b40edd0a74c63f66b7b48d969ae6b740d611", 1739 1689 "type": "github" 1740 1690 }, 1741 1691 "original": { ··· 1827 1777 "systems": "systems_8" 1828 1778 }, 1829 1779 "locked": { 1830 - "lastModified": 1782031037, 1831 - "narHash": "sha256-a7oWSyS7SN81UOqVt481yIEMDsMpaJ7GNdV6Eaz5Yqg=", 1780 + "lastModified": 1782633406, 1781 + "narHash": "sha256-JOSMk12GgnTLVlUSCuKkqyUF6cw82wl7t7e1WuFfg5s=", 1832 1782 "owner": "Gerg-L", 1833 1783 "repo": "spicetify-nix", 1834 - "rev": "9cb27462cfd20edac174353f1e95bc03aa888863", 1784 + "rev": "5ff9a6ca9dcbad7cccea2c97d30237468b16feda", 1835 1785 "type": "github" 1836 1786 }, 1837 1787 "original": { ··· 1864 1814 "tinted-zed": "tinted-zed" 1865 1815 }, 1866 1816 "locked": { 1867 - "lastModified": 1781997134, 1868 - "narHash": "sha256-muBZG4O/agq/ljgHr6c3AsobIWgODAS6vf50xIS7o+Q=", 1817 + "lastModified": 1782771270, 1818 + "narHash": "sha256-1W5Oga37XF1fzjpUut98j32NS9XcLQ5HmZDuOqSSrrY=", 1869 1819 "owner": "danth", 1870 1820 "repo": "stylix", 1871 - "rev": "a6a493119e492e15874caf6f7f8c7e572e64c655", 1821 + "rev": "47571deb317bb1e53fbbe9c3cbf2a941cd94f794", 1872 1822 "type": "github" 1873 1823 }, 1874 1824 "original": { ··· 2151 2101 ] 2152 2102 }, 2153 2103 "locked": { 2154 - "lastModified": 1781413266, 2155 - "narHash": "sha256-442W/86PUnx6XEK7azeUQ7+ie8IolyDj5B7WjcqwCy8=", 2104 + "lastModified": 1782100052, 2105 + "narHash": "sha256-UfyLY3Hfwb3JqxCcj0953GxTFI5dEL85EKEe6DAFiVs=", 2156 2106 "owner": "pyproject-nix", 2157 2107 "repo": "uv2nix", 2158 - "rev": "8a41370bc4d5ab40d29ab405f22320957e47c8a2", 2108 + "rev": "920fc6dfaf9f10ec56de93b184055e1a9f380d5e", 2159 2109 "type": "github" 2160 2110 }, 2161 2111 "original": { ··· 2215 2165 ] 2216 2166 }, 2217 2167 "locked": { 2218 - "lastModified": 1781896963, 2219 - "narHash": "sha256-77IYuReU5V9smjSB4hXBQb6in8ljg6XhJ8Ld66S4L0I=", 2168 + "lastModified": 1782554936, 2169 + "narHash": "sha256-tH3MNTu/o2xzYXnRYsl9/Q5k6mjIrcqWZ+qbqzdN2L8=", 2220 2170 "owner": "0xc000022070", 2221 2171 "repo": "zen-browser-flake", 2222 - "rev": "8c5b06ac3d7157ed46ed770cc1afead935d99c1e", 2172 + "rev": "b3df24cd84ddecf5f13c48be9bdd99cf3bc7e1dc", 2223 2173 "type": "github" 2224 2174 }, 2225 2175 "original": {
+46 -46
modules/desktop/hyprland/appearance.nix
··· 1 - {inputs, ...}: { 2 - flake.modules.homeManager.hyprland = {lib, ...}: let 3 - inherit ((import "${inputs.hyprland}/nix/lib.nix" lib)) toHyprlang; 4 - in { 5 - programs.hylix = { 6 - settings = { 7 - # Window decoration options including blur and shadow. 8 - decoration = { 9 - border_part_of_window = false; 10 - rounding = 0; 11 - 12 - # keep-sorted start 13 - active_opacity = 0.95; 14 - inactive_opacity = 0.95; 15 - # keep-sorted end 1 + { 2 + flake.modules.homeManager.hyprland = { 3 + programs = { 4 + hylix = { 5 + settings = { 6 + # Window decoration options including blur and shadow. 7 + decoration = { 8 + border_part_of_window = false; 9 + rounding = 0; 16 10 17 - # keep-sorted start block=yes newline_separated=yes 18 - blur = { 19 11 # keep-sorted start 20 - input_methods = true; 21 - popups = true; 12 + active_opacity = 0.95; 13 + inactive_opacity = 0.95; 22 14 # keep-sorted end 23 15 24 - # keep-sorted start 25 - passes = 2; 26 - size = 16; 16 + # keep-sorted start block=yes newline_separated=yes 17 + blur = { 18 + # keep-sorted start 19 + input_methods = true; 20 + popups = true; 21 + # keep-sorted end 22 + 23 + # keep-sorted start 24 + passes = 2; 25 + size = 16; 26 + # keep-sorted end 27 + }; 28 + 29 + shadow = { 30 + # keep-sorted start 31 + range = 16; 32 + render_power = 2; 33 + scale = 2; 34 + # keep-sorted end 35 + }; 27 36 # keep-sorted end 28 37 }; 29 38 30 - shadow = { 39 + # General outer and inner gaps and active border color. 40 + general = { 31 41 # keep-sorted start 32 - range = 16; 33 - render_power = 2; 34 - scale = 2; 42 + gaps_in = 4; 43 + gaps_out = 4; 35 44 # keep-sorted end 36 45 }; 37 - # keep-sorted end 38 - }; 39 46 40 - # General outer and inner gaps and active border color. 41 - general = { 42 - # keep-sorted start 43 - gaps_in = 4; 44 - gaps_out = 4; 45 - # keep-sorted end 47 + # Enable smooth resize and window dragging animations. 48 + misc = { 49 + # keep-sorted start 50 + animate_manual_resizes = true; 51 + animate_mouse_windowdragging = true; 52 + # keep-sorted end 53 + }; 46 54 }; 55 + }; 47 56 48 - # Enable smooth resize and window dragging animations. 49 - misc = { 50 - # keep-sorted start 51 - animate_manual_resizes = true; 52 - animate_mouse_windowdragging = true; 53 - # keep-sorted end 54 - }; 57 + hyprland-qt-support = { 58 + enable = true; 59 + settings.roundness = 0; 55 60 }; 56 - }; 57 - 58 - # Style hints for applications that read hypr conf snippets. 59 - xdg.configFile."hypr/application-style.conf".text = toHyprlang {} { 60 - roundness = 0; 61 61 }; 62 62 }; 63 63 }
+15 -33
modules/desktop/hyprland/plugins.nix
··· 35 35 }; 36 36 37 37 flake.overlays.hyprland-plugins = final: prev: let 38 - hyprfocusPatch = final.writeText "hyprfocus-drop-hash-check.patch" '' 39 - diff --git a/main.cpp b/main.cpp 40 - index 900ff33..dc76942 100644 41 - --- a/main.cpp 42 - +++ b/main.cpp 43 - @@ -143,15 +143,6 @@ APICALL EXPORT PLUGIN_DESCRIPTION_INFO PLUGIN_INIT(HANDLE handle) { 44 - APICALL EXPORT PLUGIN_DESCRIPTION_INFO PLUGIN_INIT(HANDLE handle) { 45 - PHANDLE = handle; 46 - 47 - - const std::string HASH = __hyprland_api_get_hash(); 48 - - const std::string CLIENT_HASH = __hyprland_api_get_client_hash(); 49 - - 50 - - if (HASH != CLIENT_HASH) { 51 - - HyprlandAPI::addNotification(PHANDLE, "[hyprwinwrap] Failure in initialization: Version mismatch (headers ver is not equal to running hyprland ver)", 52 - - CHyprColor{1.0, 0.2, 0.2, 1.0}, 5000); 53 - - throw std::runtime_error("[hww] Version mismatch"); 54 - - } 55 - - 56 - static auto P = Event::bus()->m_events.window.active.listen([&](PHLWINDOW w, Desktop::eFocusReason r) { onFocusChange(w, r); }); 38 + inherit (final.stdenv.hostPlatform) system; 57 39 58 - configValues.enable = makeShared<Config::Values::CBoolValue>("plugin:hyprfocus:enable", "enable or disable the plugin", true); 59 - ''; 60 - upstream = inputs.hyprland-plugins.overlays.default final prev; 61 - in 62 - upstream 63 - // { 64 - hyprlandPlugins = 65 - upstream.hyprlandPlugins 66 - // { 67 - hyprfocus = upstream.hyprlandPlugins.hyprfocus.overrideAttrs (old: { 68 - patches = (old.patches or []) ++ [hyprfocusPatch]; 69 - }); 70 - }; 71 - }; 40 + hyprfocus = inputs.hyprland-plugins.packages.${system}.hyprfocus.overrideAttrs (old: { 41 + postPatch = 42 + (old.postPatch or "") 43 + + '' 44 + substituteInPlace main.cpp \ 45 + --replace-fail '#include <hyprland/src/desktop/state/WindowState.hpp>' "" \ 46 + --replace-fail 'Desktop::windowState()->windows()' 'g_pCompositor->m_windows' 47 + ''; 48 + }); 49 + in { 50 + hyprlandPlugins = 51 + prev.hyprlandPlugins 52 + // {inherit hyprfocus;}; 53 + }; 72 54 }
+1 -1
modules/desktop/noctalia/plugins.nix
··· 117 117 web-search = { 118 118 # keep-sorted start 119 119 max_results = 5; 120 - search_engine = "Brave"; 120 + search_engine = "Kagi"; 121 121 show_suggestions = false; 122 122 # keep-sorted end 123 123 };
+4
modules/hosts/euclid/default.nix
··· 36 36 # Use x86-64-v3 CachyOS LTO kernel. 37 37 boot.kernelPackages = pkgs.cachyosKernels.linuxPackages-cachyos-latest-lto-x86_64-v3; 38 38 39 + # Disable UAS for the Samsung T7 to avoid USB transport aborts. 40 + boot.kernelParams = ["usb-storage.quirks=04e8:4001:u"]; 41 + 39 42 # Same-host connection: hawser reaches dockhand directly without public TLS. 40 43 services.hawser.dockhandServerUrl = "ws://127.0.0.1:3000/api/hawser/connect"; 41 44 ··· 129 132 }; 130 133 in { 131 134 # keep-sorted start 135 + "/mnt/copyparty" = mkBtrfsMount "/dev/disk/by-uuid/2262a52f-3110-462e-815a-7717886b8cc7" "copyparty"; 132 136 "/mnt/immich" = mkBtrfsMount "/dev/disk/by-uuid/2262a52f-3110-462e-815a-7717886b8cc7" "immich"; 133 137 "/mnt/media" = mkBtrfsMount "/dev/disk/by-uuid/7bf5484e-67c1-4c67-a20f-cd47b1d6fb21" "root"; 134 138 # keep-sorted end
-1
modules/profiles/personal.nix
··· 117 117 seahorse 118 118 showtime 119 119 spotify 120 - upscayl 121 120 zaread 122 121 zathura 123 122 zen
+5 -4
modules/programs/gui/discord/plugins/communication.nix
··· 12 12 13 13 betterCommands.enable = true; 14 14 15 + betterForwards = { 16 + enable = true; 17 + selfForward = true; 18 + }; 19 + 15 20 betterGifAltText.enable = true; 16 21 17 22 cleanChannelName.enable = true; ··· 47 52 fixSpotifyEmbeds.enable = true; 48 53 49 54 fixYoutubeEmbeds.enable = true; 50 - 51 - forwardAnywhere.enable = true; 52 55 53 56 gifPaste.enable = true; 54 57 ··· 94 97 replyTimestamp.enable = true; 95 98 96 99 searchFix.enable = true; 97 - 98 - selfForward.enable = true; 99 100 100 101 sendTimestamps.enable = true; 101 102
+2 -2
modules/programs/gui/discord/plugins/integrations.nix
··· 11 11 }; 12 12 13 13 replaceGoogleSearch = { 14 - customEngineName = "Brave"; 15 - customEngineUrl = "https://search.brave.com/search?q="; 14 + customEngineName = "Kagi"; 15 + customEngineUrl = "https://kagi.com/search?q="; 16 16 enable = true; 17 17 replacementEngine = "custom"; 18 18 };
-2
modules/programs/gui/discord/plugins/social.nix
··· 8 8 9 9 forceOwnerCrown.enable = true; 10 10 11 - friendsSince.enable = true; 12 - 13 11 friendshipRanks.enable = true; 14 12 15 13 implicitRelationships.enable = true;
+1 -55
modules/programs/gui/discord/themes/snippets.css
··· 91 91 display: none; 92 92 } 93 93 94 - /* Fix overlap. */ 94 + /* Hide unused toolbar buttons. */ 95 95 [class*="toolbar_"] [class*="clickable_"]:has(path[d^="M4 5a3 3 0 0"]), 96 96 #message-save-for-later-upsell, 97 97 [class*="buttonContainer_"] [class*="button_"]:has(path[d^="M17 4H7a1 1 0 0 0-1"]), 98 98 [class*="tabBar_"] div:nth-child(4) { 99 99 display: none; 100 100 } 101 - .alignedRightContent__80679, 102 - [class^="search__"], 103 - [class^="inviteToolbar__"] { 104 - margin-right: 40px; 105 - } 106 - .navBarContent__131a1 > .button_a22cb0 { 107 - margin-right: 195px; 108 - } 109 - .headerBarContent__1a9ce { 110 - margin-right: calc(var(--top-bar-right-margin) / 2); 111 - } 112 - 113 - /* Fix decorations. */ 114 - foreignObject { 115 - mask: none; 116 - } 117 - 118 - /* Fix tag separator line */ 119 - .tagsDivider_d9be46 { 120 - inset-inline-start: 0px; 121 - width: 100% !important; 122 - } 123 - 124 - /* Spotfiy slider grabber. */ 125 - #vc-spotify-progress-bar .grabber_a562c8 { 126 - padding: 0 !important; 127 - height: 100% !important; 128 - width: 20px !important; 129 - margin: -13px !important; 130 - } 131 - .slider_a562c8:hover .grabber_a562c8 { 132 - visibility: visible !important; 133 - } 134 101 135 102 /* Fix quest progress bars. */ 136 103 .progressBar__146e2 { ··· 173 140 height: 32px !important; 174 141 } 175 142 176 - /* Theme reaction button. */ 177 - .reaction__23977.reactionMe__23977 { 178 - border: var(--border-thickness) solid var(--border-hover); 179 - background: var(--mention-background); 180 - } 181 - 182 143 /* Consistent folder size */ 183 144 .folderHeader__48112 { 184 145 width: 40px !important; ··· 200 161 transform-origin: center !important; 201 162 } 202 163 203 - /* Fix equicord switches. */ 204 - .vc-switch-indicator .vc-switch-thumb rect { 205 - rx: var(--radius-lg) !important; 206 - } 207 - 208 164 /* Spotify player slider grabber. */ 209 165 #vc-spotify-progress-bar .grabber_a562c8 { 210 166 padding: 0 !important; ··· 221 177 background-color: var(--accent-1) !important; 222 178 } 223 179 224 - /* Group online rect fix. */ 225 - .container__1ce5d:has(.status_a423bd[style="background-color: rgb(69, 163, 102);"])::after { 226 - background: var(--online-2) !important; 227 - } 228 - 229 180 /* Review padding fix. */ 230 181 .bodySpacerBottom__8a031 { 231 182 display: none !important; ··· 237 188 /* Themed toast progress bar. */ 238 189 .vc-toast-notifications-notification-progressbar { 239 190 background-color: var(--accent-1); 240 - } 241 - 242 - /* Fix for hover buttons. */ 243 - .controlIcon_cf09d8:hover { 244 - color: var(--interactive-text-default) !important; 245 191 } 246 192 247 193 /* Character count color fix. */
-5
modules/programs/gui/upscayl.nix
··· 1 - { 2 - flake.modules.homeManager.upscayl = {pkgs, ...}: { 3 - home.packages = [pkgs.upscayl]; 4 - }; 5 - }
-2
modules/programs/gui/zen/chrome.nix
··· 51 51 "advent-of-code" 52 52 "alternativeto" 53 53 "arch-wiki" 54 - "brave-search" 55 54 "bsky" 56 55 "bstats" 57 56 "chatgpt" ··· 93 92 "regex101" 94 93 "rentry.co" 95 94 "searchix" 96 - "shinigami-eyes" 97 95 "spotify-web" 98 96 "stack-overflow" 99 97 "twitch"
+3 -2
modules/programs/gui/zen/extensions.nix
··· 16 16 sponsorblock 17 17 ublock-origin 18 18 # keep-sorted end 19 + 19 20 # Annoyances. 20 21 # keep-sorted start 21 22 bitwarden ··· 26 27 modrinthify 27 28 pronoundb 28 29 return-youtube-dislikes 29 - shinigami-eyes 30 30 translate-web-pages 31 31 violentmonkey 32 32 wikiwand-wikipedia-modernized 33 33 # keep-sorted end 34 + 35 + kagi-search 34 36 ]; 35 37 }; 36 38 ··· 45 47 in 46 48 (mkExtensionSettings { 47 49 "{76ef94a4-e3d0-4c6f-961a-d38a429a332b}" = "ttv-lol-pro"; 48 - "{3507f56d-2ef5-45c1-b6d7-5297a0ba7642}" = "cookie-remover"; 49 50 "{microslop@4o4}" = "microslop"; 50 51 "@crw-extension-firefox" = "consumer-rights-wiki"; 51 52 })
+5 -5
modules/programs/gui/zen/search.nix
··· 3 3 programs.zen-browser.profiles.default = { 4 4 search = { 5 5 force = true; 6 - default = "brave"; 6 + default = "kagi"; 7 7 engines = let 8 8 nixIcon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; 9 9 in { 10 10 # General search engines. 11 - brave = { 11 + kagi = { 12 12 urls = [ 13 13 { 14 - template = "https://search.brave.com/search"; 14 + template = "https://kagi.com/search"; 15 15 params = [ 16 16 { 17 17 name = "q"; ··· 20 20 ]; 21 21 } 22 22 ]; 23 - iconMapObj."16" = "https://brave.com/favicon.ico"; 24 - definedAliases = ["@b"]; 23 + iconMapObj."16" = "https://kagi.com/favicon.ico"; 24 + definedAliases = ["@k"]; 25 25 }; 26 26 google.metaData.alias = "@g"; 27 27
+6 -1
modules/services/traefik.nix
··· 20 20 }; 21 21 22 22 "traefik/mail" = {}; 23 + 24 + "traefik/porkbun_api_key" = {}; 25 + "traefik/porkbun_secret_api_key" = {}; 23 26 # keep-sorted end 24 27 }; 25 28 26 29 templates."traefik.env".content = '' 27 30 TRAEFIK_ACME_EMAIL=${config.sops.placeholder."traefik/mail"} 31 + PORKBUN_API_KEY=${config.sops.placeholder."traefik/porkbun_api_key"} 32 + PORKBUN_SECRET_API_KEY=${config.sops.placeholder."traefik/porkbun_secret_api_key"} 28 33 ''; 29 34 }; 30 35 ··· 45 50 }; 46 51 47 52 certificatesResolvers.myresolver.acme = { 48 - tlsChallenge = true; 53 + dnsChallenge.provider = "porkbun"; 49 54 email = "\${TRAEFIK_ACME_EMAIL}"; 50 55 storage = "/var/lib/traefik/acme.json"; 51 56 };
+4 -2
secrets.yaml
··· 43 43 traefik: 44 44 mail: ENC[AES256_GCM,data:kU+b4zXyyVmT85TYvV3yaOwsy+DEbw==,iv:aE96ngF6yC+ayp/X0jPcDyr9wHPL0ItJjq4x/9IVhnA=,tag:UqeJHyHVwCMgltCzxFfAaQ==,type:str] 45 45 crowdsec_bouncer_key: ENC[AES256_GCM,data:NogMDioHUe+mKwtpCwF5xhABv9asVg0bbTx5yIVucb5g5OHWD2BO2dykWsg=,iv:cmnFSJXvNStbARyBKNeUdoV/OG04wqQBLYRfn/zXiFA=,tag:nk9+Fr69pl6ciROtBe/Vvg==,type:str] 46 + porkbun_api_key: ENC[AES256_GCM,data:Vj5x3JQxZblKnvmL57FbQG+iLz1EFig4HQs7UIiIuotQ7AqSAyUEyaiO18s3g9Wk8RdGHfclv76CWM8d3TH4c8K8cJE=,iv:aqsWTKh1oUaRYVZMubitlkBuRG0T+9JKk3KVBJ6EvAs=,tag:tyKy3OD6iJ/Tw0fMyJhw1Q==,type:str] 47 + porkbun_secret_api_key: ENC[AES256_GCM,data:rVhnfboulMtD75EizIpZyB+KiBxs5sflCjOFuxYW8cYtg+2WUXNaB0gAdMvHZyW0sJTorOh+6FljcXLGUZVL407T3vs=,iv:yeratb3CXpz1nd/OSu2H1nVj5KNDEl2e40NKB7HDejU=,tag:Iar/Kp6OzJwIp2o6DWhP3Q==,type:str] 46 48 authentik: 47 49 secret_key: ENC[AES256_GCM,data:YxLwQVyVSA3bh6UsYRc8jkI/Ff0Jjqt2cfVyVovTfiyR8vgivpppR2sKq8Q6J1E4rDSL83N3iqU8/wTZKrHhnjyebpcl4oqo6RYIiEx80fU=,iv:RIb84Gic36jzBgOuu55nwBr54AoSO8690VuW0mYHvY4=,tag:iKFjHaz3SVgSNkKQrcM7uQ==,type:str] 48 50 proxy_token: ENC[AES256_GCM,data:04zB2+jMQ55MKv8FK1CeHH1+8wGf4mXd25dg6HHjaLhqYVg3Xf18j3uUxOILYL0Qgn8huWI98KBza3Y/,iv:mLIUqSzWERbYz79axiv6cELEl0BPxHAq4Y4uZAtMtg4=,tag:wjuX9LPRZYjr5uoH9giYaQ==,type:str] ··· 117 119 w2ToACYVigKMSlqPNG9bKcK75XI/iAONG48DQm1Nse3yB9/q3jwd+Q== 118 120 -----END AGE ENCRYPTED FILE----- 119 121 recipient: age1yl52c6aemw9anmfuqayamvsnkvlu6fmy0kk3gzvrraexxd9pr90qvs8pe5 120 - lastmodified: "2026-06-16T20:39:08Z" 121 - mac: ENC[AES256_GCM,data:hHfx2csou5OyJ0wm3PnbEoqDflNPtEI7w9wQHOkmZoq9Y5Ojzn2XMwHeqVTl2WpJB2Whb0uKCpKcdf1vMiyQgMm/YvHpHkjVzwU42RVFw+RnED10aEqMTXLAkFU6bwZ+ndpB4o6KLSXIqLI8IxFspUwWtnqur+DIoCsWxqzrCvA=,iv:ld727m5ohbvfKCcOemSKWA1tUrhBEd7KXnFTPR44RCQ=,tag:6L2CGhgLXp9ypulGxBX9HQ==,type:str] 122 + lastmodified: "2026-06-30T23:06:57Z" 123 + mac: ENC[AES256_GCM,data:aFDS7t6yZw9USgypvUkJFQXmdEGzTtoCVN0+Cnz0D9FVhi+CNNSCAtIMenf86hG4bUzVyCrTHgevpydS6dCs3vMwZZYXbyo2zz1jP2Ud0egwF7EqcOYWo8tK6lUp02M6YIj598sLAWy+EEcUfcO6OOkimgfFtSvblivIt/JltRk=,iv:/ZkWY20AyJQVWHkQpDurBx1SYrBUfCIa0AiBxG7D6tA=,tag:tPlR7QzCbEE2qeDPtWRmrw==,type:str] 122 124 pgp: 123 125 - created_at: "2026-06-02T01:50:38Z" 124 126 enc: |-