my nixos configuration
0
fork

Configure Feed

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

purge hyprland

Thunder 96aa565f a2716c5f

+62 -1524
+55 -603
flake.lock
··· 40 40 "type": "github" 41 41 } 42 42 }, 43 - "aquamarine": { 44 - "inputs": { 45 - "hyprutils": [ 46 - "hyprland", 47 - "hyprutils" 48 - ], 49 - "hyprwayland-scanner": [ 50 - "hyprland", 51 - "hyprwayland-scanner" 52 - ], 53 - "nixpkgs": [ 54 - "hyprland", 55 - "nixpkgs" 56 - ], 57 - "systems": [ 58 - "hyprland", 59 - "systems" 60 - ] 61 - }, 62 - "locked": { 63 - "lastModified": 1758302489, 64 - "narHash": "sha256-NvE/uabYsuR7TbmRkSlOe6DB7UnOpD2/kHGyir2J/6A=", 65 - "owner": "hyprwm", 66 - "repo": "aquamarine", 67 - "rev": "11406cc23afeaaef1ee3ccffb9614e67e2458e29", 68 - "type": "github" 69 - }, 70 - "original": { 71 - "owner": "hyprwm", 72 - "repo": "aquamarine", 73 - "type": "github" 74 - } 75 - }, 76 43 "authentik-go": { 77 44 "flake": false, 78 45 "locked": { ··· 508 475 "flake-compat_5": { 509 476 "flake": false, 510 477 "locked": { 511 - "lastModified": 1747046372, 512 - "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", 513 - "owner": "edolstra", 514 - "repo": "flake-compat", 515 - "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", 516 - "type": "github" 517 - }, 518 - "original": { 519 - "owner": "edolstra", 520 - "repo": "flake-compat", 521 - "type": "github" 522 - } 523 - }, 524 - "flake-compat_6": { 525 - "flake": false, 526 - "locked": { 527 - "lastModified": 1747046372, 528 - "narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", 529 - "owner": "edolstra", 530 - "repo": "flake-compat", 531 - "rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", 532 - "type": "github" 533 - }, 534 - "original": { 535 - "owner": "edolstra", 536 - "repo": "flake-compat", 537 - "type": "github" 538 - } 539 - }, 540 - "flake-compat_7": { 541 - "flake": false, 542 - "locked": { 543 478 "lastModified": 1767039857, 544 479 "narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=", 545 480 "owner": "NixOS", ··· 553 488 "type": "github" 554 489 } 555 490 }, 556 - "flake-compat_8": { 491 + "flake-compat_6": { 557 492 "flake": false, 558 493 "locked": { 559 494 "lastModified": 1767039857, ··· 569 504 "type": "github" 570 505 } 571 506 }, 572 - "flake-compat_9": { 507 + "flake-compat_7": { 573 508 "locked": { 574 509 "lastModified": 1733328505, 575 510 "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=", ··· 744 679 }, 745 680 "flake-utils_2": { 746 681 "inputs": { 747 - "systems": "systems_5" 682 + "systems": "systems_3" 748 683 }, 749 684 "locked": { 750 685 "lastModified": 1731533236, ··· 834 769 "nixos-mailserver", 835 770 "flake-compat" 836 771 ], 837 - "gitignore": "gitignore_5", 772 + "gitignore": "gitignore_3", 838 773 "nixpkgs": [ 839 774 "nixos-mailserver", 840 775 "nixpkgs" ··· 902 837 "gitignore_3": { 903 838 "inputs": { 904 839 "nixpkgs": [ 905 - "hyprland", 906 - "pre-commit-hooks", 907 - "nixpkgs" 908 - ] 909 - }, 910 - "locked": { 911 - "lastModified": 1709087332, 912 - "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", 913 - "owner": "hercules-ci", 914 - "repo": "gitignore.nix", 915 - "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", 916 - "type": "github" 917 - }, 918 - "original": { 919 - "owner": "hercules-ci", 920 - "repo": "gitignore.nix", 921 - "type": "github" 922 - } 923 - }, 924 - "gitignore_4": { 925 - "inputs": { 926 - "nixpkgs": [ 927 - "hyprlux", 928 - "pre-commit-hooks", 929 - "nixpkgs" 930 - ] 931 - }, 932 - "locked": { 933 - "lastModified": 1709087332, 934 - "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", 935 - "owner": "hercules-ci", 936 - "repo": "gitignore.nix", 937 - "rev": "637db329424fd7e46cf4185293b9cc8c88c95394", 938 - "type": "github" 939 - }, 940 - "original": { 941 - "owner": "hercules-ci", 942 - "repo": "gitignore.nix", 943 - "type": "github" 944 - } 945 - }, 946 - "gitignore_5": { 947 - "inputs": { 948 - "nixpkgs": [ 949 840 "nixos-mailserver", 950 841 "git-hooks", 951 842 "nixpkgs" ··· 1006 897 "type": "github" 1007 898 } 1008 899 }, 1009 - "hyprcursor": { 1010 - "inputs": { 1011 - "hyprlang": [ 1012 - "hyprland", 1013 - "hyprlang" 1014 - ], 1015 - "nixpkgs": [ 1016 - "hyprland", 1017 - "nixpkgs" 1018 - ], 1019 - "systems": [ 1020 - "hyprland", 1021 - "systems" 1022 - ] 1023 - }, 1024 - "locked": { 1025 - "lastModified": 1753964049, 1026 - "narHash": "sha256-lIqabfBY7z/OANxHoPeIrDJrFyYy9jAM4GQLzZ2feCM=", 1027 - "owner": "hyprwm", 1028 - "repo": "hyprcursor", 1029 - "rev": "44e91d467bdad8dcf8bbd2ac7cf49972540980a5", 1030 - "type": "github" 1031 - }, 1032 - "original": { 1033 - "owner": "hyprwm", 1034 - "repo": "hyprcursor", 1035 - "type": "github" 1036 - } 1037 - }, 1038 - "hyprgraphics": { 1039 - "inputs": { 1040 - "hyprutils": [ 1041 - "hyprland", 1042 - "hyprutils" 1043 - ], 1044 - "nixpkgs": [ 1045 - "hyprland", 1046 - "nixpkgs" 1047 - ], 1048 - "systems": [ 1049 - "hyprland", 1050 - "systems" 1051 - ] 1052 - }, 1053 - "locked": { 1054 - "lastModified": 1758572180, 1055 - "narHash": "sha256-Is8Rcp99Ynl3JFcU3k2lsmyf8WGacWKZtnVb0mVIZ6M=", 1056 - "owner": "hyprwm", 1057 - "repo": "hyprgraphics", 1058 - "rev": "32e6b8386f7dc70a4cc01607a826a281f3c52364", 1059 - "type": "github" 1060 - }, 1061 - "original": { 1062 - "owner": "hyprwm", 1063 - "repo": "hyprgraphics", 1064 - "type": "github" 1065 - } 1066 - }, 1067 - "hyprland": { 1068 - "inputs": { 1069 - "aquamarine": "aquamarine", 1070 - "hyprcursor": "hyprcursor", 1071 - "hyprgraphics": "hyprgraphics", 1072 - "hyprland-protocols": "hyprland-protocols", 1073 - "hyprland-qtutils": "hyprland-qtutils", 1074 - "hyprlang": "hyprlang", 1075 - "hyprutils": "hyprutils", 1076 - "hyprwayland-scanner": "hyprwayland-scanner", 1077 - "nixpkgs": [ 1078 - "nixpkgs" 1079 - ], 1080 - "pre-commit-hooks": "pre-commit-hooks", 1081 - "systems": "systems_3", 1082 - "xdph": "xdph" 1083 - }, 1084 - "locked": { 1085 - "lastModified": 1758574443, 1086 - "narHash": "sha256-eLU5Zo1L3IFr8LgOsvTcoYW04/K+Sb8OvpwbaTSTGF4=", 1087 - "owner": "hyprwm", 1088 - "repo": "Hyprland", 1089 - "rev": "71a1216abcc7031776630a6d88f105605c4dc1c9", 1090 - "type": "github" 1091 - }, 1092 - "original": { 1093 - "owner": "hyprwm", 1094 - "ref": "v0.51.1", 1095 - "repo": "Hyprland", 1096 - "type": "github" 1097 - } 1098 - }, 1099 - "hyprland-protocols": { 1100 - "inputs": { 1101 - "nixpkgs": [ 1102 - "hyprland", 1103 - "nixpkgs" 1104 - ], 1105 - "systems": [ 1106 - "hyprland", 1107 - "systems" 1108 - ] 1109 - }, 1110 - "locked": { 1111 - "lastModified": 1749046714, 1112 - "narHash": "sha256-kymV5FMnddYGI+UjwIw8ceDjdeg7ToDVjbHCvUlhn14=", 1113 - "owner": "hyprwm", 1114 - "repo": "hyprland-protocols", 1115 - "rev": "613878cb6f459c5e323aaafe1e6f388ac8a36330", 1116 - "type": "github" 1117 - }, 1118 - "original": { 1119 - "owner": "hyprwm", 1120 - "repo": "hyprland-protocols", 1121 - "type": "github" 1122 - } 1123 - }, 1124 - "hyprland-qt-support": { 1125 - "inputs": { 1126 - "hyprlang": [ 1127 - "hyprland", 1128 - "hyprland-qtutils", 1129 - "hyprlang" 1130 - ], 1131 - "nixpkgs": [ 1132 - "hyprland", 1133 - "hyprland-qtutils", 1134 - "nixpkgs" 1135 - ], 1136 - "systems": [ 1137 - "hyprland", 1138 - "hyprland-qtutils", 1139 - "systems" 1140 - ] 1141 - }, 1142 - "locked": { 1143 - "lastModified": 1749154592, 1144 - "narHash": "sha256-DO7z5CeT/ddSGDEnK9mAXm1qlGL47L3VAHLlLXoCjhE=", 1145 - "owner": "hyprwm", 1146 - "repo": "hyprland-qt-support", 1147 - "rev": "4c8053c3c888138a30c3a6c45c2e45f5484f2074", 1148 - "type": "github" 1149 - }, 1150 - "original": { 1151 - "owner": "hyprwm", 1152 - "repo": "hyprland-qt-support", 1153 - "type": "github" 1154 - } 1155 - }, 1156 - "hyprland-qtutils": { 1157 - "inputs": { 1158 - "hyprland-qt-support": "hyprland-qt-support", 1159 - "hyprlang": [ 1160 - "hyprland", 1161 - "hyprlang" 1162 - ], 1163 - "hyprutils": [ 1164 - "hyprland", 1165 - "hyprland-qtutils", 1166 - "hyprlang", 1167 - "hyprutils" 1168 - ], 1169 - "nixpkgs": [ 1170 - "hyprland", 1171 - "nixpkgs" 1172 - ], 1173 - "systems": [ 1174 - "hyprland", 1175 - "systems" 1176 - ] 1177 - }, 1178 - "locked": { 1179 - "lastModified": 1757694755, 1180 - "narHash": "sha256-j+w5QUUr2QT/jkxgVKecGYV8J7fpzXCMgzEEr6LG9ug=", 1181 - "owner": "hyprwm", 1182 - "repo": "hyprland-qtutils", 1183 - "rev": "5ffdfc13ed03df1dae5084468d935f0a3f2c9a4c", 1184 - "type": "github" 1185 - }, 1186 - "original": { 1187 - "owner": "hyprwm", 1188 - "repo": "hyprland-qtutils", 1189 - "type": "github" 1190 - } 1191 - }, 1192 - "hyprlang": { 1193 - "inputs": { 1194 - "hyprutils": [ 1195 - "hyprland", 1196 - "hyprutils" 1197 - ], 1198 - "nixpkgs": [ 1199 - "hyprland", 1200 - "nixpkgs" 1201 - ], 1202 - "systems": [ 1203 - "hyprland", 1204 - "systems" 1205 - ] 1206 - }, 1207 - "locked": { 1208 - "lastModified": 1756810301, 1209 - "narHash": "sha256-wgZ3VW4VVtjK5dr0EiK9zKdJ/SOqGIBXVG85C3LVxQA=", 1210 - "owner": "hyprwm", 1211 - "repo": "hyprlang", 1212 - "rev": "3d63fb4a42c819f198deabd18c0c2c1ded1de931", 1213 - "type": "github" 1214 - }, 1215 - "original": { 1216 - "owner": "hyprwm", 1217 - "repo": "hyprlang", 1218 - "type": "github" 1219 - } 1220 - }, 1221 - "hyprlux": { 1222 - "inputs": { 1223 - "nixpkgs": "nixpkgs_8", 1224 - "pre-commit-hooks": "pre-commit-hooks_2", 1225 - "systems": "systems_4" 1226 - }, 1227 - "locked": { 1228 - "lastModified": 1762684639, 1229 - "narHash": "sha256-SP8S6nFgkQv59m6+GA/t+mMQJVhXjCh5I+w5XaC+CGk=", 1230 - "owner": "amadejkastelic", 1231 - "repo": "Hyprlux", 1232 - "rev": "4d74a80b5ab7ed072ad0d52081162fb2c80efa41", 1233 - "type": "github" 1234 - }, 1235 - "original": { 1236 - "owner": "amadejkastelic", 1237 - "repo": "Hyprlux", 1238 - "type": "github" 1239 - } 1240 - }, 1241 - "hyprsplit": { 1242 - "inputs": { 1243 - "hyprland": [ 1244 - "hyprland" 1245 - ] 1246 - }, 1247 - "locked": { 1248 - "lastModified": 1758656567, 1249 - "narHash": "sha256-7cnfq7fXgJHkmHyvRwx8UsUdUwUEN4A1vUGgsSb4SmI=", 1250 - "owner": "shezdy", 1251 - "repo": "hyprsplit", 1252 - "rev": "aa9519b94f598a2497d9ef09615a54963d65df75", 1253 - "type": "github" 1254 - }, 1255 - "original": { 1256 - "owner": "shezdy", 1257 - "ref": "v0.51.1", 1258 - "repo": "hyprsplit", 1259 - "type": "github" 1260 - } 1261 - }, 1262 - "hyprutils": { 1263 - "inputs": { 1264 - "nixpkgs": [ 1265 - "hyprland", 1266 - "nixpkgs" 1267 - ], 1268 - "systems": [ 1269 - "hyprland", 1270 - "systems" 1271 - ] 1272 - }, 1273 - "locked": { 1274 - "lastModified": 1756117388, 1275 - "narHash": "sha256-oRDel6pNl/T2tI+nc/USU9ZP9w08dxtl7hiZxa0C/Wc=", 1276 - "owner": "hyprwm", 1277 - "repo": "hyprutils", 1278 - "rev": "b2ae3204845f5f2f79b4703b441252d8ad2ecfd0", 1279 - "type": "github" 1280 - }, 1281 - "original": { 1282 - "owner": "hyprwm", 1283 - "repo": "hyprutils", 1284 - "type": "github" 1285 - } 1286 - }, 1287 - "hyprwayland-scanner": { 1288 - "inputs": { 1289 - "nixpkgs": [ 1290 - "hyprland", 1291 - "nixpkgs" 1292 - ], 1293 - "systems": [ 1294 - "hyprland", 1295 - "systems" 1296 - ] 1297 - }, 1298 - "locked": { 1299 - "lastModified": 1755184602, 1300 - "narHash": "sha256-RCBQN8xuADB0LEgaKbfRqwm6CdyopE1xIEhNc67FAbw=", 1301 - "owner": "hyprwm", 1302 - "repo": "hyprwayland-scanner", 1303 - "rev": "b3b0f1f40ae09d4447c20608e5a4faf8bf3c492d", 1304 - "type": "github" 1305 - }, 1306 - "original": { 1307 - "owner": "hyprwm", 1308 - "repo": "hyprwayland-scanner", 1309 - "type": "github" 1310 - } 1311 - }, 1312 900 "leptos-kotiboksi": { 1313 901 "inputs": { 1314 902 "crane": "crane", 1315 903 "flake-utils": "flake-utils_2", 1316 - "nixpkgs": "nixpkgs_9", 904 + "nixpkgs": "nixpkgs_8", 1317 905 "rust-overlay": "rust-overlay" 1318 906 }, 1319 907 "locked": { ··· 1333 921 "meowdzbot": { 1334 922 "inputs": { 1335 923 "crane": "crane_2", 1336 - "nixpkgs": "nixpkgs_11", 924 + "nixpkgs": "nixpkgs_10", 1337 925 "rust-overlay": "rust-overlay_2" 1338 926 }, 1339 927 "locked": { ··· 1353 941 "naersk": { 1354 942 "inputs": { 1355 943 "fenix": "fenix", 1356 - "nixpkgs": "nixpkgs_13" 944 + "nixpkgs": "nixpkgs_12" 1357 945 }, 1358 946 "locked": { 1359 947 "lastModified": 1769799857, ··· 1399 987 "inputs": { 1400 988 "cachyos-kernel": "cachyos-kernel", 1401 989 "cachyos-kernel-patches": "cachyos-kernel-patches", 1402 - "flake-compat": "flake-compat_7", 990 + "flake-compat": "flake-compat_5", 1403 991 "flake-parts": "flake-parts_6", 1404 - "nixpkgs": "nixpkgs_14" 992 + "nixpkgs": "nixpkgs_13" 1405 993 }, 1406 994 "locked": { 1407 995 "lastModified": 1774982062, ··· 1436 1024 "nixos-mailserver": { 1437 1025 "inputs": { 1438 1026 "blobs": "blobs", 1439 - "flake-compat": "flake-compat_8", 1027 + "flake-compat": "flake-compat_6", 1440 1028 "git-hooks": "git-hooks_3", 1441 - "nixpkgs": "nixpkgs_15" 1029 + "nixpkgs": "nixpkgs_14" 1442 1030 }, 1443 1031 "locked": { 1444 1032 "lastModified": 1774999302, ··· 1550 1138 }, 1551 1139 "nixpkgs-xr": { 1552 1140 "inputs": { 1553 - "flake-compat": "flake-compat_9", 1141 + "flake-compat": "flake-compat_7", 1554 1142 "flake-utils": "flake-utils_3", 1555 - "nixpkgs": "nixpkgs_17", 1143 + "nixpkgs": "nixpkgs_16", 1556 1144 "nvfetcher": "nvfetcher", 1557 - "systems": "systems_6", 1145 + "systems": "systems_4", 1558 1146 "treefmt-nix": "treefmt-nix" 1559 1147 }, 1560 1148 "locked": { ··· 1573 1161 }, 1574 1162 "nixpkgs_10": { 1575 1163 "locked": { 1576 - "lastModified": 1744536153, 1577 - "narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=", 1578 - "owner": "NixOS", 1579 - "repo": "nixpkgs", 1580 - "rev": "18dd725c29603f582cf1900e0d25f9f1063dbf11", 1581 - "type": "github" 1582 - }, 1583 - "original": { 1584 - "owner": "NixOS", 1585 - "ref": "nixpkgs-unstable", 1586 - "repo": "nixpkgs", 1587 - "type": "github" 1588 - } 1589 - }, 1590 - "nixpkgs_11": { 1591 - "locked": { 1592 1164 "lastModified": 1761880412, 1593 1165 "narHash": "sha256-QoJjGd4NstnyOG4mm4KXF+weBzA2AH/7gn1Pmpfcb0A=", 1594 1166 "owner": "NixOS", ··· 1603 1175 "type": "github" 1604 1176 } 1605 1177 }, 1606 - "nixpkgs_12": { 1178 + "nixpkgs_11": { 1607 1179 "locked": { 1608 1180 "lastModified": 1744536153, 1609 1181 "narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=", ··· 1619 1191 "type": "github" 1620 1192 } 1621 1193 }, 1622 - "nixpkgs_13": { 1194 + "nixpkgs_12": { 1623 1195 "locked": { 1624 1196 "lastModified": 1752077645, 1625 1197 "narHash": "sha256-HM791ZQtXV93xtCY+ZxG1REzhQenSQO020cu6rHtAPk=", ··· 1635 1207 "type": "github" 1636 1208 } 1637 1209 }, 1638 - "nixpkgs_14": { 1210 + "nixpkgs_13": { 1639 1211 "locked": { 1640 1212 "lastModified": 1774935083, 1641 1213 "narHash": "sha256-Mh6bLcYAcENBAZk3RoMPMFCGGMZmfaGMERE4siZOgP4=", ··· 1651 1223 "type": "github" 1652 1224 } 1653 1225 }, 1654 - "nixpkgs_15": { 1226 + "nixpkgs_14": { 1655 1227 "locked": { 1656 1228 "lastModified": 1774935083, 1657 1229 "narHash": "sha256-Mh6bLcYAcENBAZk3RoMPMFCGGMZmfaGMERE4siZOgP4=", ··· 1667 1239 "type": "github" 1668 1240 } 1669 1241 }, 1670 - "nixpkgs_16": { 1242 + "nixpkgs_15": { 1671 1243 "locked": { 1672 1244 "lastModified": 1774977170, 1673 1245 "narHash": "sha256-krPlp24X6GPRNbjn/1elIjC6EP04Pru06I2fjFK4LGs=", ··· 1680 1252 "url": "https://channels.nixos.org/nixos-unstable-small/nixexprs.tar.xz" 1681 1253 } 1682 1254 }, 1683 - "nixpkgs_17": { 1255 + "nixpkgs_16": { 1684 1256 "locked": { 1685 1257 "lastModified": 1774709303, 1686 1258 "narHash": "sha256-D3Q07BbIA2KnTcSXIqqu9P586uWxN74zNoCH3h2ESHg=", ··· 1696 1268 "type": "github" 1697 1269 } 1698 1270 }, 1699 - "nixpkgs_18": { 1271 + "nixpkgs_17": { 1700 1272 "locked": { 1701 1273 "lastModified": 1774709303, 1702 1274 "narHash": "sha256-D3Q07BbIA2KnTcSXIqqu9P586uWxN74zNoCH3h2ESHg=", ··· 1712 1284 "type": "github" 1713 1285 } 1714 1286 }, 1715 - "nixpkgs_19": { 1287 + "nixpkgs_18": { 1716 1288 "locked": { 1717 1289 "lastModified": 1744536153, 1718 1290 "narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=", ··· 1728 1300 "type": "github" 1729 1301 } 1730 1302 }, 1731 - "nixpkgs_2": { 1303 + "nixpkgs_19": { 1732 1304 "locked": { 1733 - "lastModified": 1771848320, 1734 - "narHash": "sha256-0MAd+0mun3K/Ns8JATeHT1sX28faLII5hVLq0L3BdZU=", 1305 + "lastModified": 1761907660, 1306 + "narHash": "sha256-kJ8lIZsiPOmbkJypG+B5sReDXSD1KGu2VEPNqhRa/ew=", 1735 1307 "owner": "NixOS", 1736 1308 "repo": "nixpkgs", 1737 - "rev": "2fc6539b481e1d2569f25f8799236694180c0993", 1309 + "rev": "2fb006b87f04c4d3bdf08cfdbc7fab9c13d94a15", 1738 1310 "type": "github" 1739 1311 }, 1740 1312 "original": { ··· 1744 1316 "type": "github" 1745 1317 } 1746 1318 }, 1747 - "nixpkgs_20": { 1319 + "nixpkgs_2": { 1748 1320 "locked": { 1749 - "lastModified": 1761907660, 1750 - "narHash": "sha256-kJ8lIZsiPOmbkJypG+B5sReDXSD1KGu2VEPNqhRa/ew=", 1321 + "lastModified": 1771848320, 1322 + "narHash": "sha256-0MAd+0mun3K/Ns8JATeHT1sX28faLII5hVLq0L3BdZU=", 1751 1323 "owner": "NixOS", 1752 1324 "repo": "nixpkgs", 1753 - "rev": "2fb006b87f04c4d3bdf08cfdbc7fab9c13d94a15", 1325 + "rev": "2fc6539b481e1d2569f25f8799236694180c0993", 1754 1326 "type": "github" 1755 1327 }, 1756 1328 "original": { ··· 1760 1332 "type": "github" 1761 1333 } 1762 1334 }, 1763 - "nixpkgs_21": { 1335 + "nixpkgs_20": { 1764 1336 "locked": { 1765 1337 "lastModified": 1744536153, 1766 1338 "narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=", ··· 1776 1348 "type": "github" 1777 1349 } 1778 1350 }, 1779 - "nixpkgs_22": { 1351 + "nixpkgs_21": { 1780 1352 "locked": { 1781 1353 "lastModified": 1774610258, 1782 1354 "narHash": "sha256-HaThtroVD9wRdx7KQk0B75JmFcXlMUoEdDFNOMOlsOs=", ··· 1792 1364 "type": "github" 1793 1365 } 1794 1366 }, 1795 - "nixpkgs_23": { 1367 + "nixpkgs_22": { 1796 1368 "locked": { 1797 1369 "lastModified": 1772542754, 1798 1370 "narHash": "sha256-WGV2hy+VIeQsYXpsLjdr4GvHv5eECMISX1zKLTedhdg=", ··· 1890 1462 }, 1891 1463 "nixpkgs_8": { 1892 1464 "locked": { 1893 - "lastModified": 1762363567, 1894 - "narHash": "sha256-YRqMDEtSMbitIMj+JLpheSz0pwEr0Rmy5mC7myl17xs=", 1895 - "owner": "nixos", 1465 + "lastModified": 1766736597, 1466 + "narHash": "sha256-BASnpCLodmgiVn0M1MU2Pqyoz0aHwar/0qLkp7CjvSQ=", 1467 + "owner": "NixOS", 1896 1468 "repo": "nixpkgs", 1897 - "rev": "ae814fd3904b621d8ab97418f1d0f2eb0d3716f4", 1469 + "rev": "f560ccec6b1116b22e6ed15f4c510997d99d5852", 1898 1470 "type": "github" 1899 1471 }, 1900 1472 "original": { 1901 - "owner": "nixos", 1902 - "ref": "nixos-unstable", 1473 + "owner": "NixOS", 1474 + "ref": "nixos-25.11", 1903 1475 "repo": "nixpkgs", 1904 1476 "type": "github" 1905 1477 } 1906 1478 }, 1907 1479 "nixpkgs_9": { 1908 1480 "locked": { 1909 - "lastModified": 1766736597, 1910 - "narHash": "sha256-BASnpCLodmgiVn0M1MU2Pqyoz0aHwar/0qLkp7CjvSQ=", 1481 + "lastModified": 1744536153, 1482 + "narHash": "sha256-awS2zRgF4uTwrOKwwiJcByDzDOdo3Q1rPZbiHQg/N38=", 1911 1483 "owner": "NixOS", 1912 1484 "repo": "nixpkgs", 1913 - "rev": "f560ccec6b1116b22e6ed15f4c510997d99d5852", 1485 + "rev": "18dd725c29603f582cf1900e0d25f9f1063dbf11", 1914 1486 "type": "github" 1915 1487 }, 1916 1488 "original": { 1917 1489 "owner": "NixOS", 1918 - "ref": "nixos-25.11", 1490 + "ref": "nixpkgs-unstable", 1919 1491 "repo": "nixpkgs", 1920 1492 "type": "github" 1921 1493 } ··· 1923 1495 "nur": { 1924 1496 "inputs": { 1925 1497 "flake-parts": "flake-parts_7", 1926 - "nixpkgs": "nixpkgs_18" 1498 + "nixpkgs": "nixpkgs_17" 1927 1499 }, 1928 1500 "locked": { 1929 1501 "lastModified": 1775022269, ··· 1984 1556 "type": "github" 1985 1557 } 1986 1558 }, 1987 - "pre-commit-hooks": { 1988 - "inputs": { 1989 - "flake-compat": "flake-compat_5", 1990 - "gitignore": "gitignore_3", 1991 - "nixpkgs": [ 1992 - "hyprland", 1993 - "nixpkgs" 1994 - ] 1995 - }, 1996 - "locked": { 1997 - "lastModified": 1758108966, 1998 - "narHash": "sha256-ytw7ROXaWZ7OfwHrQ9xvjpUWeGVm86pwnEd1QhzawIo=", 1999 - "owner": "cachix", 2000 - "repo": "git-hooks.nix", 2001 - "rev": "54df955a695a84cd47d4a43e08e1feaf90b1fd9b", 2002 - "type": "github" 2003 - }, 2004 - "original": { 2005 - "owner": "cachix", 2006 - "repo": "git-hooks.nix", 2007 - "type": "github" 2008 - } 2009 - }, 2010 - "pre-commit-hooks_2": { 2011 - "inputs": { 2012 - "flake-compat": "flake-compat_6", 2013 - "gitignore": "gitignore_4", 2014 - "nixpkgs": [ 2015 - "hyprlux", 2016 - "nixpkgs" 2017 - ] 2018 - }, 2019 - "locked": { 2020 - "lastModified": 1762441963, 2021 - "narHash": "sha256-j+rNQ119ffYUkYt2YYS6rnd6Jh/crMZmbqpkGLXaEt0=", 2022 - "owner": "cachix", 2023 - "repo": "pre-commit-hooks.nix", 2024 - "rev": "8e7576e79b88c16d7ee3bbd112c8d90070832885", 2025 - "type": "github" 2026 - }, 2027 - "original": { 2028 - "owner": "cachix", 2029 - "repo": "pre-commit-hooks.nix", 2030 - "type": "github" 2031 - } 2032 - }, 2033 1559 "pyproject-build-systems": { 2034 1560 "inputs": { 2035 1561 "nixpkgs": [ ··· 2091 1617 "emacs": "emacs", 2092 1618 "flake-parts": "flake-parts_5", 2093 1619 "home-manager": "home-manager_2", 2094 - "hyprland": "hyprland", 2095 - "hyprlux": "hyprlux", 2096 - "hyprsplit": "hyprsplit", 2097 1620 "leptos-kotiboksi": "leptos-kotiboksi", 2098 1621 "meowdzbot": "meowdzbot", 2099 1622 "naersk": "naersk", 2100 1623 "nix-cachyos-kernel": "nix-cachyos-kernel", 2101 1624 "nixos-hardware": "nixos-hardware", 2102 1625 "nixos-mailserver": "nixos-mailserver", 2103 - "nixpkgs": "nixpkgs_16", 1626 + "nixpkgs": "nixpkgs_15", 2104 1627 "nixpkgs-unstable": "nixpkgs-unstable", 2105 1628 "nixpkgs-xr": "nixpkgs-xr", 2106 1629 "nur": "nur", ··· 2130 1653 }, 2131 1654 "rust-overlay": { 2132 1655 "inputs": { 2133 - "nixpkgs": "nixpkgs_10" 1656 + "nixpkgs": "nixpkgs_9" 2134 1657 }, 2135 1658 "locked": { 2136 1659 "lastModified": 1766803264, ··· 2148 1671 }, 2149 1672 "rust-overlay_2": { 2150 1673 "inputs": { 2151 - "nixpkgs": "nixpkgs_12" 1674 + "nixpkgs": "nixpkgs_11" 2152 1675 }, 2153 1676 "locked": { 2154 1677 "lastModified": 1762051177, ··· 2166 1689 }, 2167 1690 "rust-overlay_3": { 2168 1691 "inputs": { 2169 - "nixpkgs": "nixpkgs_19" 1692 + "nixpkgs": "nixpkgs_18" 2170 1693 }, 2171 1694 "locked": { 2172 1695 "lastModified": 1775013181, ··· 2184 1707 }, 2185 1708 "rust-overlay_4": { 2186 1709 "inputs": { 2187 - "nixpkgs": "nixpkgs_21" 1710 + "nixpkgs": "nixpkgs_20" 2188 1711 }, 2189 1712 "locked": { 2190 1713 "lastModified": 1762051177, ··· 2203 1726 "sodexobot": { 2204 1727 "inputs": { 2205 1728 "crane": "crane_3", 2206 - "nixpkgs": "nixpkgs_20", 1729 + "nixpkgs": "nixpkgs_19", 2207 1730 "rust-overlay": "rust-overlay_4" 2208 1731 }, 2209 1732 "locked": { ··· 2222 1745 }, 2223 1746 "sops-nix": { 2224 1747 "inputs": { 2225 - "nixpkgs": "nixpkgs_22" 1748 + "nixpkgs": "nixpkgs_21" 2226 1749 }, 2227 1750 "locked": { 2228 1751 "lastModified": 1774910634, ··· 2270 1793 }, 2271 1794 "systems_3": { 2272 1795 "locked": { 2273 - "lastModified": 1689347949, 2274 - "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", 2275 - "owner": "nix-systems", 2276 - "repo": "default-linux", 2277 - "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", 2278 - "type": "github" 2279 - }, 2280 - "original": { 2281 - "owner": "nix-systems", 2282 - "repo": "default-linux", 2283 - "type": "github" 2284 - } 2285 - }, 2286 - "systems_4": { 2287 - "locked": { 2288 - "lastModified": 1689347949, 2289 - "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", 2290 - "owner": "nix-systems", 2291 - "repo": "default-linux", 2292 - "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", 2293 - "type": "github" 2294 - }, 2295 - "original": { 2296 - "owner": "nix-systems", 2297 - "repo": "default-linux", 2298 - "type": "github" 2299 - } 2300 - }, 2301 - "systems_5": { 2302 - "locked": { 2303 1796 "lastModified": 1681028828, 2304 1797 "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", 2305 1798 "owner": "nix-systems", ··· 2313 1806 "type": "github" 2314 1807 } 2315 1808 }, 2316 - "systems_6": { 1809 + "systems_4": { 2317 1810 "locked": { 2318 1811 "lastModified": 1689347949, 2319 1812 "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", ··· 2328 1821 "type": "github" 2329 1822 } 2330 1823 }, 2331 - "systems_7": { 1824 + "systems_5": { 2332 1825 "locked": { 2333 1826 "lastModified": 1681028828, 2334 1827 "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", ··· 2409 1902 }, 2410 1903 "vicinae": { 2411 1904 "inputs": { 2412 - "nixpkgs": "nixpkgs_23", 2413 - "systems": "systems_7" 1905 + "nixpkgs": "nixpkgs_22", 1906 + "systems": "systems_5" 2414 1907 }, 2415 1908 "locked": { 2416 1909 "lastModified": 1774900456, ··· 2423 1916 "original": { 2424 1917 "owner": "vicinaehq", 2425 1918 "repo": "vicinae", 2426 - "type": "github" 2427 - } 2428 - }, 2429 - "xdph": { 2430 - "inputs": { 2431 - "hyprland-protocols": [ 2432 - "hyprland", 2433 - "hyprland-protocols" 2434 - ], 2435 - "hyprlang": [ 2436 - "hyprland", 2437 - "hyprlang" 2438 - ], 2439 - "hyprutils": [ 2440 - "hyprland", 2441 - "hyprutils" 2442 - ], 2443 - "hyprwayland-scanner": [ 2444 - "hyprland", 2445 - "hyprwayland-scanner" 2446 - ], 2447 - "nixpkgs": [ 2448 - "hyprland", 2449 - "nixpkgs" 2450 - ], 2451 - "systems": [ 2452 - "hyprland", 2453 - "systems" 2454 - ] 2455 - }, 2456 - "locked": { 2457 - "lastModified": 1755354946, 2458 - "narHash": "sha256-zdov5f/GcoLQc9qYIS1dUTqtJMeDqmBmo59PAxze6e4=", 2459 - "owner": "hyprwm", 2460 - "repo": "xdg-desktop-portal-hyprland", 2461 - "rev": "a10726d6a8d0ef1a0c645378f983b6278c42eaa0", 2462 - "type": "github" 2463 - }, 2464 - "original": { 2465 - "owner": "hyprwm", 2466 - "repo": "xdg-desktop-portal-hyprland", 2467 1919 "type": "github" 2468 1920 } 2469 1921 }
-14
flake.nix
··· 4 4 nixConfig = { 5 5 substituters = [ 6 6 "https://cache.nixos.org" 7 - "https://hyprland.cachix.org" 8 7 "https://nix-community.cachix.org" 9 8 "https://meowos.cachix.org" # meowos binary cache 10 9 "https://vicinae.cachix.org" ··· 12 11 ]; 13 12 trusted-public-keys = [ 14 13 "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" # default nixos TODO useless? 15 - "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" # hyprland 16 14 "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" # nix-community 17 15 "meowos.cachix.org-1:QOXuuFPMN5TszgX8+nqd8X+BZG84toh5wK8j1IBBDH4=" 18 16 "vicinae.cachix.org-1:1kDrfienkGHPYbkpNj1mWTr7Fm1+zcenzgTizIcI3oc=" ··· 63 61 rust-overlay.url = "github:oxalica/rust-overlay"; 64 62 65 63 naersk.url = "github:nix-community/naersk"; 66 - 67 - hyprland = { 68 - url = "github:hyprwm/Hyprland/v0.51.1"; 69 - inputs.nixpkgs.follows = "nixpkgs"; 70 - }; 71 - 72 - hyprsplit = { 73 - url = "github:shezdy/hyprsplit/v0.51.1"; 74 - inputs.hyprland.follows = "hyprland"; 75 - }; 76 - 77 - hyprlux.url = "github:amadejkastelic/Hyprlux"; 78 64 79 65 vicinae.url = "github:vicinaehq/vicinae"; 80 66
-2
flake/mksystem.nix
··· 26 26 inputs.home-manager.nixosModules.home-manager 27 27 inputs.sops-nix.nixosModules.default 28 28 inputs.disko.nixosModules.default 29 - inputs.hyprland.nixosModules.default 30 29 inputs.authentik-nix.nixosModules.default 31 30 inputs.catppuccin.nixosModules.default 32 31 inputs.emacs.nixosModules.ewm ··· 41 40 home-manager = { 42 41 extraSpecialArgs = {inherit inputs mlib;}; 43 42 sharedModules = [ 44 - inputs.hyprlux.homeManagerModules.default 45 43 inputs.emacs.homeModules.default 46 44 inputs.vicinae.homeManagerModules.default 47 45 inputs.catppuccin.homeModules.default
-4
hosts/desktop/default.nix
··· 95 95 user = "thunder"; 96 96 97 97 workstation.environment = ["niri"]; 98 - workstation.hyprland.extraAutostart = [ 99 - "${pkgs.ckb-next}/bin/ckb-next -b" 100 - ]; 101 98 102 99 workstation.extraWaybarModules = { 103 100 "custom/qbittorrent" = let ··· 188 185 height = 1080; 189 186 # crt 190 187 # xorgName = "HDMI-1"; 191 - # hyprlandExclude = false; 192 188 # edid = ./crt-edited.bin; 193 189 # customModes = [ 194 190 # {
+1 -1
hosts/digiboksi.nix
··· 21 21 22 22 home.enable = true; 23 23 workstation.enable = true; 24 - workstation.environment = ["hyprland"]; 24 + workstation.environment = ["niri"]; 25 25 26 26 monitors."HDMI-A-1" = { 27 27 width = 1360;
-2
hosts/framework/default.nix
··· 76 76 mHome.browser.firefox.enable = true; 77 77 mHome.setup.fullLanguages = true; 78 78 79 - wayland.windowManager.hyprland.settings.xwayland.force_zero_scaling = true; 80 - 81 79 home.packages = with pkgs; [ 82 80 distrobox 83 81
+1 -29
hosts/t440p/default.nix
··· 25 25 extraGroups = ["docker"]; 26 26 }; 27 27 28 - security.pki.certificates = [ 29 - '' 30 - -----BEGIN CERTIFICATE----- 31 - MIIDdzCCAl+gAwIBAgIQZqyAKU9rZpVPfh7Yfh2LxTANBgkqhkiG9w0BAQUFADBC 32 - MRIwEAYKCZImiZPyLGQBGRYCZmkxFzAVBgoJkiaJk/IsZAEZFgdjZW50cmlhMRMw 33 - EQYDVQQDEwpjZW50cmlhLUNBMB4XDTE1MTIwODEwMDMwMVoXDTQwMTIwODEwMTMw 34 - MFowQjESMBAGCgmSJomT8ixkARkWAmZpMRcwFQYKCZImiZPyLGQBGRYHY2VudHJp 35 - YTETMBEGA1UEAxMKY2VudHJpYS1DQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC 36 - AQoCggEBAJ5oNRf1Q7SMuZOCTqz0NWx/6mL7HinOmAYxWtX0MolZvumGUEVD711g 37 - wjmD4n2rgFz6j/afNA6EM7a+tgFDnWNwSxzZkopqu5pkif9/kWu1edqbyHmJRAC3 38 - ul8mUQUSdWaAW/oGM8CkGqozg3F/lusUsohoVhpkWwVNEhZSBtu8Z/rissPA7pXA 39 - gG9yhpr28CfwW9Rg64Gq2tDQtxr+xVt7lYVJe/dCggtvyBgTn9AFe/NCiocGfqOw 40 - 47y2Q0M/NpE1tnsFhyzWpspmE0236F3Z2qfDwopQsNgjr0mT1atPJpYKOHfBhT1l 41 - GtIDVizqB7v/feryBWXOjAVnFOMgPMECAwEAAaNpMGcwEwYJKwYBBAGCNxQCBAYe 42 - BABDAEEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYE 43 - FNe8NC6s4083zu5iFogjHtbrEeTfMBAGCSsGAQQBgjcVAQQDAgEAMA0GCSqGSIb3 44 - DQEBBQUAA4IBAQArJVsKfE/TEI3qypF/VevKFQmbutGj4IdnziREDg//ROtIltnj 45 - 21eQScPWIvMlxPhponjohgXYG8MaRL7n02e6ugxVRVlG4J2BtmBsa+mdjceWcGwj 46 - J3n3RuxDAjIyxbwhJ/gC3JaBBKJ9AEcgcwhlf7fa7+4KAVfjhHmNS+ACrGmm2kef 47 - 6NHlou4vDw7toCmOJ1s6AJhy7z8mp54NOm0FJEeNXdEMvujcTHdMTixXjbse6FWK 48 - PjT5a0LdlUY2ZdYbskECp4nPm83LeKppPv13Quq/YZAtHvFXwDCDgEN3bMFEaMwY 49 - Wlyku1axVbOOXygANEc0ueAZZHXzyERKB+B6 50 - -----END CERTIFICATE----- 51 - '' 52 - ]; 53 - 54 28 virtualisation.docker.enable = true; 55 29 56 30 home-manager.sharedModules = [ ··· 58 32 home.stateVersion = "25.05"; 59 33 mHome.browser.firefox.enable = true; 60 34 mHome.setup.fullLanguages = true; 61 - 62 - wayland.windowManager.hyprland.settings.animations.enabled = lib.mkForce false; 63 35 64 36 home.packages = with pkgs; [ 65 37 vscode ··· 78 50 meow = { 79 51 fullSetup = true; 80 52 workstation.enable = true; 81 - workstation.environment = ["hyprland"]; 53 + workstation.environment = ["niri"]; 82 54 83 55 user = "thunder"; 84 56
+3 -90
modules/monitor.nix
··· 1 1 { 2 2 config, 3 - mlib, 4 3 lib, 5 4 pkgs, 6 - inputs, 7 5 ... 8 6 }: let 9 7 inherit (lib) mkIf mkMerge mkOption floor; 10 - inherit (lib.attrsets) attrValues listToAttrs mapAttrs'; 11 - inherit (lib.lists) head length elem filter sublist; 8 + inherit (lib.attrsets) attrValues; 9 + inherit (lib.lists) length elem filter sublist; 12 10 inherit (lib.strings) splitString concatStrings concatStringsSep; 13 - inherit (mlib) homeModule mkOpt; 14 11 15 - inherit (lib.types) attrsOf attrs listOf submodule str int float bool nullOr path; 12 + inherit (lib.types) attrsOf listOf submodule str int float bool nullOr path; 16 13 17 14 ifElseEmpty = t: v: 18 15 if t ··· 107 104 description = "Custom edid binary"; 108 105 }; 109 106 110 - hyprlandExtra = mkOption { 111 - type = str; 112 - default = ""; 113 - description = "Extra config for hyprland"; 114 - }; 115 - 116 - hyprlandExclude = mkOption { 117 - type = bool; 118 - default = false; 119 - description = "Exclude from hyprland config"; 120 - }; 121 - 122 107 niriCustom = mkOption { 123 108 type = bool; 124 109 default = false; ··· 163 148 s: with s; "drm.edid_firmware=${name}:edid/${name}.bin" 164 149 ) 165 150 edids; 166 - 167 - # environment.systemPackages = [ 168 - # pkgs.mpkgs.cru 169 - # ]; 170 151 }) 171 152 { 172 153 services.xserver.xrandrHeads = map (m: ··· 236 217 } 237 218 ]; 238 219 } 239 - ) 240 - 241 - ( 242 - mkIf (elem "hyprland" config.meow.workstation.environment) 243 - ( 244 - homeModule 245 - ({ 246 - lib, 247 - pkgs, 248 - ... 249 - }: let 250 - monitorsWithModes = filter (m: m.customModes != null) (attrValues cfg); 251 - 252 - modeSwitcher = 253 - pkgs.writers.writeBash "modemenu" 254 - (let 255 - monitorSwitchScripts = listToAttrs (map 256 - (m: rec { 257 - inherit (m) name x y customModes; 258 - 259 - value = pkgs.writers.writeBash "${name}_modemenu" '' 260 - pos=${toString x}x${toString y} 261 - 262 - case $(echo -e "Disable\n${concatStringsSep "\n" (map (mode: mode.name) customModes)}" | ${lib.getExe pkgs.tofi} --prompt-text "Select mode: ") in 263 - "Disable") 264 - hyprctl keyword monitor "${name}, disabled" 265 - ;; 266 - ${concatStringsSep "\n" (map (m: ''"${m.name}") hyprctl keyword monitor "${name}, ${m.mode}, $pos, 1" ;;'') customModes)} 267 - esac 268 - ''; 269 - }) 270 - monitorsWithModes); 271 - in 272 - if (length monitorsWithModes == 1) 273 - then "${monitorSwitchScripts."${(head monitorsWithModes).name}"}" 274 - else '' 275 - case $(echo -e "${concatStringsSep "\n" (map (m: m.name) monitorsWithModes)}" | ${lib.getExe pkgs.tofi} --prompt-text "Select monitor: ") in 276 - ${concatStringsSep "\n" (map (m: with m; "\"${name}\") ${monitorSwitchScripts.${name}} ;;") monitorsWithModes)} 277 - esac 278 - ''); 279 - in { 280 - wayland.windowManager.hyprland = { 281 - settings = { 282 - monitor = mkIf (cfg != {}) (map (m: 283 - with m; 284 - mkIf (!hyprlandExclude) 285 - "${name}, ${ 286 - if refresh != null 287 - then "${toString width}x${toString height}@${toString refresh}" 288 - else "highrr" 289 - }, ${toString x}x${toString y}, ${toString scale}${ 290 - if disableVrr 291 - then ", vrr, 0" 292 - else "" 293 - }${ 294 - if (hyprlandExtra != "") 295 - then ", ${hyprlandExtra}" 296 - else "" 297 - }") 298 - (attrValues cfg)); 299 - 300 - bind = [ 301 - (mkIf (length monitorsWithModes > 0) "$mod, C, exec, ${modeSwitcher}") 302 - ]; 303 - }; 304 - }; 305 - }) 306 - ) 307 220 ) 308 221 ]; 309 222 }
+1 -1
modules/old-tv/default.nix
··· 100 100 ''; 101 101 }; 102 102 103 - hyprland = builtins.elem "hyprland" config.meow.workstation.environment; 103 + hyprland = builtins.elem "hyprland" true; 104 104 in [ 105 105 ({ 106 106 config,
+1 -2
modules/workstation/environment/default.nix
··· 14 14 dm = config.meow.workstation.displayManager; 15 15 in { 16 16 options = { 17 - meow.workstation.environment = mkOpt (listOf (enum ["hyprland" "niri"])) [] { 17 + meow.workstation.environment = mkOpt (listOf (enum ["niri"])) [] { 18 18 description = "The list of environments to configure and install."; 19 19 }; 20 20 ··· 23 23 }; 24 24 }; 25 25 imports = [ 26 - ./hyprland 27 26 ./niri 28 27 ./waybar.nix 29 28 ];
-68
modules/workstation/environment/hyprland/anyrun.nix
··· 1 - { 2 - pkgs, 3 - lib, 4 - config, 5 - ... 6 - }: let 7 - inherit (lib) mkIf; 8 - inherit (builtins) elem; 9 - 10 - work = config.meow.workstation.enable; 11 - env = config.meow.workstation.environment; 12 - in { 13 - config = mkIf (work && elem "hyprland" env) { 14 - meow.home.modules = [ 15 - { 16 - programs.anyrun = { 17 - enable = true; 18 - 19 - config = { 20 - x.fraction = 0.5; 21 - y.fraction = 0.5; 22 - width.fraction = 0.5; 23 - height.fraction = 0.5; 24 - 25 - closeOnClick = true; 26 - 27 - plugins = map (l: "${pkgs.anyrun}/lib/lib${l}.so") [ 28 - "applications" 29 - "rink" 30 - "websearch" 31 - "shell" 32 - "nix_run" 33 - ]; 34 - }; 35 - 36 - extraConfigFiles = { 37 - "keybinds.ron".text = '' 38 - Config( 39 - keybinds: [ 40 - Keybind( 41 - key: "<Control>j", 42 - action: "Down", 43 - ), 44 - Keybind( 45 - key: "<Control>k", 46 - action: "Up", 47 - ), 48 - Keybind( 49 - key: "<Control>g", 50 - action: "Close", 51 - ), 52 - Keybind( 53 - key: "Escape", 54 - action: "Close", 55 - ), 56 - Keybind( 57 - key: "Return", 58 - action: "Select", 59 - ), 60 - ], 61 - ) 62 - ''; 63 - }; 64 - }; 65 - } 66 - ]; 67 - }; 68 - }
-325
modules/workstation/environment/hyprland/default.nix
··· 1 - # TODO move this shit out of here 2 - { 3 - config, 4 - lib, 5 - pkgs, 6 - mlib, 7 - inputs, 8 - ... 9 - }: let 10 - inherit (lib) mkIf; 11 - inherit (mlib) mkOpt; 12 - inherit (lib.types) listOf str; 13 - inherit (builtins) elem; 14 - 15 - work = config.meow.workstation.enable; 16 - env = config.meow.workstation.environment; 17 - in { 18 - options = { 19 - meow.workstation.hyprland = { 20 - extraConfig = mkOpt str "" { 21 - description = "Extra configuration to add to the hyprland config file."; 22 - }; 23 - extraAutostart = mkOpt (listOf str) [] { 24 - description = "Extra entries to exec-once."; 25 - }; 26 - }; 27 - }; 28 - imports = [ 29 - ./nsxiv.nix 30 - ./hyprlock.nix 31 - ./anyrun.nix 32 - ]; 33 - 34 - config = mkIf (work && elem "hyprland" env) { 35 - programs.hyprland.enable = true; 36 - programs.hyprland.withUWSM = true; 37 - 38 - services.displayManager.sessionPackages = let 39 - hypr = inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}; 40 - in [ 41 - hypr.hyprland 42 - ]; 43 - 44 - xdg.autostart.enable = true; 45 - xdg.portal.extraPortals = with pkgs; [ 46 - xdg-desktop-portal 47 - xdg-desktop-portal-gtk 48 - ]; 49 - 50 - xdg.portal.config = { 51 - common.default = ["hyprland" "gtk"]; 52 - hyprland = { 53 - default = ["hyprland" "gtk"]; 54 - "org.freedesktop.impl.portal.Secret" = ["gnome-keyring"]; 55 - "org.freedesktop.impl.portal.OpenURI" = ["gtk"]; 56 - }; 57 - }; 58 - 59 - meow.home.modules = [ 60 - (let 61 - cfg = config.meow.workstation.hyprland; 62 - hyprlandPackage = config.programs.hyprland.package; 63 - in 64 - {config, ...}: let 65 - terminal = "alacritty"; 66 - 67 - screenshot = pkgs.mpkgs.screenshot; 68 - in { 69 - # Conflicts on other environments, so it's launched manually instead 70 - services.hyprpaper.enable = lib.mkForce false; 71 - 72 - xdg.configFile."hypr/hyprpaper.conf".text = '' 73 - preload = ~/.local/share/bg 74 - wallpaper = ,~/.local/share/bg 75 - splash = false 76 - ''; 77 - 78 - home.packages = [ 79 - pkgs.blueman 80 - pkgs.nautilus 81 - pkgs.eog 82 - pkgs.file-roller 83 - ]; 84 - 85 - programs.hyprlux = { 86 - enable = true; 87 - 88 - systemd = { 89 - enable = true; 90 - target = "hyprland-session.target"; 91 - }; 92 - 93 - night_light = { 94 - enabled = false; 95 - }; 96 - 97 - vibrance_configs = [ 98 - { 99 - window_class = "csgo_linux64"; 100 - window_title = ""; 101 - strength = 50; 102 - } 103 - ]; 104 - }; 105 - 106 - programs.waybar.enable = true; 107 - programs.alacritty.enable = true; 108 - services.swaync.enable = true; 109 - 110 - xdg.configFile."swappy/config".text = '' 111 - [Default] 112 - save_dir=${config.xdg.userDirs.pictures}/screenshots 113 - save_filename_format=annotated-%Y-%m-%d_%H-%M-%S.png 114 - ''; 115 - 116 - wayland.windowManager.hyprland = { 117 - enable = true; 118 - systemd.enable = true; 119 - xwayland.enable = true; 120 - package = hyprlandPackage; 121 - 122 - extraConfig = cfg.extraConfig; 123 - 124 - plugins = [pkgs.hyprsplit]; 125 - 126 - settings = { 127 - "$mod" = "SUPER"; 128 - "$shiftmod" = "SUPER_SHIFT"; 129 - 130 - plugin.hyprsplit = { 131 - num_workspaces = 9; 132 - persistent_workspaces = true; 133 - }; 134 - 135 - debug.disable_logs = false; 136 - # fix gamescope 137 - debug.full_cm_proto = true; 138 - 139 - ecosystem.no_update_news = true; 140 - 141 - workspace = [ 142 - "f[1], gapsout:0, gapsin:0" 143 - ]; 144 - 145 - windowrulev2 = [ 146 - # "workspace 9 silent,class:(steam)" 147 - "workspace 7 silent,class:(gajim)" 148 - "workspace 6 silent,class:(easyeffects)" 149 - 150 - # "fullscreen,class:(cs2)" 151 - "immediate,class:(.gamescope-wrapped)" 152 - "stayfocused, title:^()$,class:^(steam)$" 153 - 154 - # remove borders when fullscreen 155 - "bordersize 0, flaoting:0, onworkspace:f[1]" 156 - ]; 157 - 158 - env = [ 159 - "XCURSOR_SIZE,24" 160 - "XDG_CURRENT_DESKTOP,Hyprland" 161 - "XDG_SESSION_TYPE,wayland" 162 - "XDG_SESSION_DESKTOP,Hyprland" 163 - 164 - # "EDITOR,emacsclient -c -a ''" 165 - 166 - # "QT_QPA_PLATFORMTHEME,qt5ct" 167 - 168 - # "WLR_DRM_NO_ATOMIC,1" 169 - ]; 170 - 171 - exec-once = 172 - [ 173 - # "${pkgs.swaynotificationcenter}/bin/swaync" 174 - "${pkgs.hyprpaper}/bin/hyprpaper" 175 - "${pkgs.waybar}/bin/waybar" 176 - "${pkgs.swayosd}/bin/swayosd-server" 177 - ] 178 - ++ cfg.extraAutostart; 179 - 180 - input = { 181 - kb_layout = "us,fi"; 182 - kb_options = "grp:win_space_toggle"; 183 - 184 - repeat_rate = 50; 185 - repeat_delay = 300; 186 - 187 - follow_mouse = 1; 188 - 189 - touchpad = { 190 - natural_scroll = true; 191 - disable_while_typing = true; 192 - }; 193 - 194 - accel_profile = "flat"; 195 - sensitivity = 0.0; 196 - }; 197 - 198 - device = [ 199 - { 200 - name = "tpps/2-ibm-trackpoint"; 201 - accel_profile = "adaptive"; 202 - sensitivity = 0.0; 203 - } 204 - { 205 - name = "synps/2-synaptics-touchpad"; 206 - accel_profile = "adaptive"; 207 - sensitivity = 0.0; 208 - } 209 - { 210 - name = "synaptics-tm3053-004"; 211 - accel_profile = "adaptive"; 212 - sensitivity = -0.3; 213 - } 214 - ]; 215 - 216 - misc = { 217 - disable_hyprland_logo = true; 218 - force_default_wallpaper = 0; 219 - vrr = 0; 220 - }; 221 - 222 - render = { 223 - direct_scanout = true; 224 - }; 225 - 226 - general = { 227 - layout = "master"; 228 - 229 - allow_tearing = true; 230 - }; 231 - 232 - master = { 233 - new_status = "master"; 234 - new_on_top = true; 235 - mfact = 0.5; 236 - }; 237 - 238 - binde = [ 239 - "$mod, H, splitratio, -0.1" 240 - "$mod, J, layoutmsg, cyclenext" 241 - "$mod, K, layoutmsg, cycleprev" 242 - "$mod, L, splitratio, +0.1" 243 - ",XF86AudioMute, exec, ${pkgs.swayosd}/bin/swayosd-client --output-volume mute-toggle" 244 - ",XF86AudioRaiseVolume, exec, ${pkgs.swayosd}/bin/swayosd-client --output-volume 3" 245 - ",XF86AudioLowerVolume, exec, ${pkgs.swayosd}/bin/swayosd-client --output-volume -3" 246 - ",XF86MonBrightnessUp, exec, ${pkgs.swayosd}/bin/swayosd-client --brightness=+5" 247 - ",XF86MonBrightnessDown, exec, ${pkgs.swayosd}/bin/swayosd-client --brightness=-5" 248 - ]; 249 - 250 - # bindr = [ 251 - # "SUPER, SUPER_L, exec, anyrun" 252 - # ]; 253 - 254 - bindm = [ 255 - "$mod, mouse:272, movewindow" 256 - "$mod, mouse:273, resizewindow" 257 - ]; 258 - 259 - bind = [ 260 - "$mod, return, exec, ${terminal}" 261 - "$mod, W, exec, firefox" 262 - "$mod, D, exec, anyrun" 263 - "$mod, E, exec, emacsclient -c -a ''" 264 - "$mod, semicolon, exec, emacsclient -c -a '' -e '(meow/eshell)'" 265 - "$mod, M, exec, ${terminal} -e ${pkgs.ncmpcpp}/bin/ncmpcpp" 266 - "$shiftmod, M, exec, ${terminal} -e ${pkgs.pulsemixer}/bin/pulsemixer" 267 - "$mod, B, exec, ${terminal} -e ${pkgs.btop}/bin/btop" 268 - "$shiftmod, B, exec, ${terminal} -e nvtop" 269 - 270 - "$mod, N, exec, swaync-client -op" 271 - 272 - ",XF86AudioPlay, exec, ${pkgs.mpc}/bin/mpc toggle" 273 - ",XF86AudioNext, exec, ${pkgs.mpc}/bin/mpc next" 274 - ",XF86AudioPrev, exec, ${pkgs.mpc}/bin/mpc prev" 275 - "$mod,P, exec, ${pkgs.mpc}/bin/mpc toggle" 276 - "$mod,bracketright, exec, ${pkgs.mpc}/bin/mpc next" 277 - "$mod,bracketleft, exec, ${pkgs.mpc}/bin/mpc prev" 278 - 279 - "$shiftmod, return, layoutmsg, swapwithmaster master" 280 - 281 - ",Print, exec, ${screenshot}/bin/screenshot -c" 282 - "SHIFT, Print, exec, ${screenshot}/bin/screenshot" 283 - 284 - # ",End, pass, ^(info\.mumble\.Mumble)$" 285 - # ",End, pass, ^(Mumble)$" 286 - # ",End, pass, ^(discord)$" 287 - 288 - "$mod, Q, killactive" 289 - "$shiftmod, Q, exit" 290 - 291 - "$shiftmod, space, togglefloating" 292 - "$mod, F, fullscreen, 1" 293 - "$shiftmod, F, fullscreen" 294 - 295 - "$mod, period, focusmonitor, r" 296 - "$mod, comma, focusmonitor, l" 297 - "$shiftmod, period, movewindow, mon:r" 298 - "$shiftmod, comma, movewindow, mon:l" 299 - 300 - "$mod, 1, split:workspace, 1" 301 - "$mod, 2, split:workspace, 2" 302 - "$mod, 3, split:workspace, 3" 303 - "$mod, 4, split:workspace, 4" 304 - "$mod, 5, split:workspace, 5" 305 - "$mod, 6, split:workspace, 6" 306 - "$mod, 7, split:workspace, 7" 307 - "$mod, 8, split:workspace, 8" 308 - "$mod, 9, split:workspace, 9" 309 - 310 - "$shiftmod, 1, split:movetoworkspacesilent, 1" 311 - "$shiftmod, 2, split:movetoworkspacesilent, 2" 312 - "$shiftmod, 3, split:movetoworkspacesilent, 3" 313 - "$shiftmod, 4, split:movetoworkspacesilent, 4" 314 - "$shiftmod, 5, split:movetoworkspacesilent, 5" 315 - "$shiftmod, 6, split:movetoworkspacesilent, 6" 316 - "$shiftmod, 7, split:movetoworkspacesilent, 7" 317 - "$shiftmod, 8, split:movetoworkspacesilent, 8" 318 - "$shiftmod, 9, split:movetoworkspacesilent, 9" 319 - ]; 320 - }; 321 - }; 322 - }) 323 - ]; 324 - }; 325 - }
-108
modules/workstation/environment/hyprland/hyprlock.nix
··· 1 - { 2 - pkgs, 3 - lib, 4 - config, 5 - ... 6 - }: let 7 - inherit (lib) mkIf; 8 - inherit (builtins) elem; 9 - 10 - work = config.meow.workstation.enable; 11 - env = config.meow.workstation.environment; 12 - in { 13 - config = mkIf (work && elem "hyprland" env) { 14 - programs.hyprlock.enable = true; 15 - services.hypridle.enable = true; 16 - 17 - meow.home.modules = [ 18 - { 19 - services.hypridle = { 20 - enable = true; 21 - settings = { 22 - general = { 23 - lock_cmd = "pidof hyprlock >/dev/null || hyprlock"; 24 - before_sleep_cmd = "loginctl lock-session"; 25 - after_sleep_cmd = "hyprctl dispatch dpms on"; 26 - }; 27 - 28 - auth = { 29 - fingerprint.enabled = true; 30 - }; 31 - 32 - # 5 min: lock. 10 min: screen off. 60 min: suspend. 33 - listener = [ 34 - { 35 - timeout = 300; 36 - "on-timeout" = "loginctl lock-session"; 37 - "on-resume" = "hyprctl dispatch dpms on"; 38 - } 39 - { 40 - timeout = 600; 41 - "on-timeout" = "hyprctl dispatch dpms off"; 42 - "on-resume" = "hyprctl dispatch dpms on"; 43 - } 44 - { 45 - timeout = 3600; 46 - "on-timeout" = "systemctl suspend"; 47 - } 48 - ]; 49 - }; 50 - }; 51 - 52 - programs.hyprlock = { 53 - enable = true; 54 - 55 - settings = { 56 - general = { 57 - disable_loading_bar = true; 58 - grace = 300; 59 - hide_cursor = true; 60 - no_fade_in = false; 61 - }; 62 - 63 - background = [ 64 - { 65 - path = "~/.local/share/bg"; 66 - blur_passes = 3; 67 - blur_size = 8; 68 - } 69 - ]; 70 - 71 - label = [ 72 - { 73 - text = ''cmd[update:1000] date "+%H:%M"''; 74 - font_size = 120; 75 - position = "0, -10"; 76 - halign = "center"; 77 - valign = "center"; 78 - } 79 - { 80 - text = ''cmd[update:60000] date "+%A • %b %d"''; 81 - font_size = 18; 82 - position = "0, 70"; 83 - halign = "center"; 84 - valign = "center"; 85 - } 86 - ]; 87 - 88 - "input-field" = [ 89 - { 90 - size = "280, 60"; 91 - position = "0, -140"; 92 - rounding = 12; 93 - dots_center = true; 94 - fade_on_empty = false; 95 - 96 - placeholder_text = "<i>Type password…</i>"; 97 - font_color = "rgb(230,230,230)"; 98 - inner_color = "rgba(0,0,0,0.35)"; 99 - outer_color = "rgba(255,255,255,0.20)"; 100 - outline_thickness = 2; 101 - } 102 - ]; 103 - }; 104 - }; 105 - } 106 - ]; 107 - }; 108 - }
-63
modules/workstation/environment/hyprland/nsxiv.nix
··· 1 - { 2 - pkgs, 3 - lib, 4 - config, 5 - ... 6 - }: let 7 - inherit (lib) mkIf elem listToAttrs; 8 - 9 - work = config.meow.workstation.enable; 10 - env = config.meow.workstation.environment; 11 - in { 12 - config = mkIf (work && elem "hyprland" env) { 13 - environment.systemPackages = [pkgs.nsxiv]; 14 - 15 - programs.fish.shellAliases = { 16 - "sxiv" = "nsxiv"; 17 - }; 18 - 19 - meow.home.modules = [ 20 - ({config, ...}: { 21 - xdg.mime.enable = true; 22 - xdg.desktopEntries.nsxiv = { 23 - name = "nsxiv"; 24 - type = "Application"; 25 - genericName = "Image Viewer"; 26 - noDisplay = true; 27 - exec = "${pkgs.nsxiv}/bin/nsxiv %F"; 28 - mimeType = [ 29 - "image/bmp" 30 - "image/gif" 31 - "image/jpeg" 32 - "image/jpg" 33 - "image/png" 34 - "image/tiff" 35 - "image/x-bmp" 36 - "image/x-portable-anymap" 37 - "image/x-portable-bitmap" 38 - "image/x-portable-graymap" 39 - "image/x-tga" 40 - "image/x-xpixmap" 41 - "image/webp" 42 - "image/heic" 43 - "image/svg+xml" 44 - "application/postscript" 45 - "image/gp2" 46 - "image/jxl" 47 - "image/avif" 48 - "image/heif" 49 - ]; 50 - }; 51 - xdg.mimeApps = { 52 - enable = true; 53 - defaultApplications = listToAttrs (map 54 - (mime: { 55 - name = mime; 56 - value = ["nsxiv.desktop"]; 57 - }) 58 - config.xdg.desktopEntries.nsxiv.mimeType); 59 - }; 60 - }) 61 - ]; 62 - }; 63 - }
-197
modules/workstation/rice/glass/default.nix
··· 27 27 transparent_background_colors = false; 28 28 }; 29 29 }; 30 - 31 - wayland.windowManager.hyprland.settings = { 32 - general = { 33 - gaps_in = 5; 34 - gaps_out = 20; 35 - border_size = 1; 36 - }; 37 - 38 - decoration = { 39 - rounding = 7; 40 - 41 - blur = { 42 - enabled = false; 43 - size = 3; 44 - passes = 1; 45 - }; 46 - 47 - shadow = { 48 - enabled = true; 49 - range = 6; 50 - render_power = 4; 51 - }; 52 - }; 53 - 54 - animations.enabled = true; 55 - }; 56 - 57 - programs.anyrun.extraCss = let 58 - colors = config.meow.workstation.theme.palette.withHashtag; 59 - in '' 60 - /* AnyRun CSS styled to match your Waybar look */ 61 - 62 - /* --- Color tokens (same as your Waybar) --- */ 63 - /* prettier-ignore-start */ 64 - @define-color fg ${colors.base05}; 65 - @define-color base00 ${colors.base00}; 66 - @define-color base01 ${colors.base01}; 67 - @define-color base02 ${colors.base02}; 68 - @define-color border ${colors.base02}; 69 - @define-color borderHover ${colors.base03}; 70 - @define-color accent ${colors.base0D}; 71 - @define-color muted ${colors.base04}; 72 - @define-color danger ${colors.base08}; 73 - @define-color warn ${colors.base0A}; 74 - /* prettier-ignore-end */ 75 - 76 - /* --- Convenience mappings for this sheet --- */ 77 - @define-color theme_bg alpha(@base00, 0.88); 78 - @define-color pill_bg alpha(@base01, 0.7); 79 - @define-color pill_bg_hover alpha(@base02, 0.8); 80 - 81 - /* Keep compatibility with defaults that reference theme_* variables */ 82 - @define-color theme_bg_color @theme_bg; 83 - @define-color theme_selected_bg_color @accent; 84 - 85 - /* --- Base typography --- */ 86 - * { 87 - border: none; 88 - font-family: 89 - Inter, System-ui, "Symbols Nerd Font", sans-serif; 90 - font-size: 13.5px; 91 - font-weight: 500; 92 - min-height: 0; 93 - color: @fg; 94 - } 95 - 96 - /* Float the window; compositor can blur the background if enabled */ 97 - window { 98 - background: transparent; 99 - } 100 - 101 - /* Glassy container like your Waybar root box */ 102 - box.main { 103 - padding: 6px; 104 - margin: 10px 14px 0 14px; 105 - border-radius: 14px; 106 - border: 1px solid @border; 107 - background-color: @theme_bg; 108 - box-shadow: 109 - 0 18px 40px rgba(0, 0, 0, 0.35), 110 - 0 2px 6px rgba(0, 0, 0, 0.22); 111 - } 112 - 113 - /* Search entry styled like a “pill” module */ 114 - text { 115 - min-height: 30px; 116 - padding: 6px 10px; 117 - border-radius: 12px; 118 - background: @pill_bg; 119 - border: 1px solid @border; 120 - transition: 121 - background 160ms ease, 122 - border-color 160ms ease, 123 - color 160ms ease, 124 - box-shadow 160ms ease; 125 - } 126 - 127 - text:focus { 128 - background: @pill_bg_hover; 129 - border-color: @borderHover; 130 - box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04); 131 - } 132 - 133 - /* Matches container: transparent so pills stand out */ 134 - .matches { 135 - background-color: transparent; 136 - border-radius: 12px; 137 - margin-top: 6px; 138 - } 139 - 140 - /* Each plugin section spacing */ 141 - box.plugin:first-child { 142 - margin-top: 6px; 143 - } 144 - 145 - box.plugin.info { 146 - min-width: 200px; 147 - background: @pill_bg; 148 - border: 1px solid @border; 149 - border-radius: 12px; 150 - padding: 4px 10px; 151 - } 152 - 153 - /* Plugin lists keep the glass background visible */ 154 - list.plugin { 155 - background-color: transparent; 156 - } 157 - 158 - /* Text sizes and emphasis */ 159 - label.match.description { 160 - font-size: 10px; 161 - color: @muted; 162 - } 163 - 164 - label.plugin.info { 165 - font-size: 14px; 166 - color: @fg; 167 - } 168 - 169 - /* Individual match rows as modern pills */ 170 - .match { 171 - background: @pill_bg; 172 - border: 1px solid @border; 173 - border-radius: 12px; 174 - padding: 6px 10px; 175 - margin: 4px 0; 176 - transition: 177 - background 160ms ease, 178 - border-color 160ms ease, 179 - color 160ms ease, 180 - box-shadow 160ms ease; 181 - } 182 - 183 - .match:hover { 184 - background: @pill_bg_hover; 185 - border-color: @borderHover; 186 - box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04); 187 - } 188 - 189 - /* Selected: subtle accent cue, keep it glassy */ 190 - .match:selected { 191 - background: @pill_bg_hover; 192 - border-color: @borderHover; 193 - border-left: 4px solid @accent; 194 - animation: fade 0.1s linear; 195 - } 196 - 197 - /* Optional: emphasize primary label on selection */ 198 - .match:selected label { 199 - color: @fg; 200 - } 201 - 202 - /* State-like colors if any plugin uses them */ 203 - .match.warning label { 204 - color: @warn; 205 - } 206 - .match.critical label { 207 - color: @danger; 208 - } 209 - 210 - /* Entry + list edges align nicely inside the container */ 211 - text, 212 - .matches { 213 - margin-left: 2px; 214 - margin-right: 2px; 215 - } 216 - 217 - /* Fade-in animation like your Waybar tooltip blink cadence */ 218 - @keyframes fade { 219 - 0% { 220 - opacity: 0; 221 - } 222 - 100% { 223 - opacity: 1; 224 - } 225 - } 226 - ''; 227 30 } 228 31 ]; 229 32 };
-13
modules/workstation/rice/glass/waybar.nix
··· 37 37 height = 36; 38 38 spacing = 8; 39 39 40 - "hyprland/workspaces" = { 41 - format = "{icon}"; 42 - format-icons = { 43 - urgent = ""; 44 - active = ""; 45 - visible = ""; 46 - default = ""; 47 - empty = ""; 48 - }; 49 - }; 50 - "hyprland/language" = { 51 - format = " {short}"; 52 - }; 53 40 "idle_inhibitor" = { 54 41 format = "{icon}"; 55 42 format-icons = {
-2
pkgs/default.nix
··· 4 4 dgr = callPackage ./dgr.nix {}; 5 5 sable = callPackage ./sable.nix {}; 6 6 kodi = callPackage ./kodi {}; 7 - screenshot = callPackage ./screenshot {}; 8 - wl_screenshot = callPackage ./wl_screenshot.nix {}; 9 7 }