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

Configure Feed

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

fixes

Adam0 (Jun 1, 2026, 4:48 AM +0200) 8b7820b7 245a228d

+258 -597
+100 -81
flake.lock
··· 616 616 "type": "github" 617 617 } 618 618 }, 619 + "hylix": { 620 + "inputs": { 621 + "flake-parts": [ 622 + "flake-parts" 623 + ], 624 + "import-tree": [ 625 + "import-tree" 626 + ], 627 + "nixpkgs": [ 628 + "nixpkgs" 629 + ], 630 + "systems": "systems", 631 + "treefmt-nix": [ 632 + "treefmt-nix" 633 + ] 634 + }, 635 + "locked": { 636 + "lastModified": 1780279599, 637 + "narHash": "sha256-ZCj+xW1MTm4fiDWalREvbDVG+UFM9RmhObeHQ49sIHI=", 638 + "owner": "adam01110", 639 + "repo": "hylix", 640 + "rev": "ee990d20a41b80b2294631c64d6db0630e0b3c8a", 641 + "type": "github" 642 + }, 643 + "original": { 644 + "owner": "adam01110", 645 + "repo": "hylix", 646 + "type": "github" 647 + } 648 + }, 619 649 "hyprcursor": { 620 650 "inputs": { 621 651 "hyprlang": [ ··· 687 717 "hyprwire": "hyprwire", 688 718 "nixpkgs": "nixpkgs_3", 689 719 "pre-commit-hooks": "pre-commit-hooks", 690 - "systems": "systems", 720 + "systems": "systems_2", 691 721 "xdph": "xdph" 692 722 }, 693 723 "locked": { ··· 1073 1103 "nixpkgs": "nixpkgs_4" 1074 1104 }, 1075 1105 "locked": { 1076 - "lastModified": 1780084541, 1077 - "narHash": "sha256-1dfrj9KRVjYdRQV677wHJVqSi1+IseAofINIIpPO+7E=", 1106 + "lastModified": 1780253365, 1107 + "narHash": "sha256-wcJ+6+Z+mfzBjClI0XsjOoGSW6o1RldVj6UETLzK+GQ=", 1078 1108 "owner": "xddxdd", 1079 1109 "repo": "nix-cachyos-kernel", 1080 - "rev": "bc4719a00b3e52764b947cb3c7f15a8b8769432e", 1110 + "rev": "236462fb93cb56e26e6a6801ba5edb6dad66be0d", 1081 1111 "type": "github" 1082 1112 }, 1083 1113 "original": { ··· 1131 1161 ] 1132 1162 }, 1133 1163 "locked": { 1134 - "lastModified": 1779604987, 1135 - "narHash": "sha256-ZQ5z+fVhxYKtIFwtqGp5O0PD84BM1riASvqDaN5Xs+s=", 1164 + "lastModified": 1780210899, 1165 + "narHash": "sha256-4axz3OBPTKa6LIkXV8n0lc63MQU+et2CB5DGobEAi6k=", 1136 1166 "owner": "nix-community", 1137 1167 "repo": "nix-index-database", 1138 - "rev": "8fba98c80b48fa013820e0163c5096922fea4ddd", 1168 + "rev": "97df9dc0b7c924344b793a15c1e8e4522ebb854e", 1139 1169 "type": "github" 1140 1170 }, 1141 1171 "original": { ··· 1158 1188 "nixpkgs": [ 1159 1189 "nixpkgs" 1160 1190 ], 1161 - "systems": "systems_2", 1191 + "systems": "systems_3", 1162 1192 "treefmt-nix": [ 1163 1193 "treefmt-nix" 1164 1194 ] 1165 1195 }, 1166 1196 "locked": { 1167 - "lastModified": 1780022359, 1168 - "narHash": "sha256-7J0o3HP5NiyEfz4jDk/exKPXUhq18sVMOoacyzknu1w=", 1197 + "lastModified": 1780279278, 1198 + "narHash": "sha256-5+fPFdAOvGFNbFLPNcVDXbFVcO7BO89QGxhpHIqUBFU=", 1169 1199 "owner": "adam01110", 1170 1200 "repo": "nix-userstyles", 1171 - "rev": "839544e33428a069c7c64370bd9c4ca7646432ff", 1201 + "rev": "9d7aa5a44cb3ee15786ae1f117b0c7f1405e67ab", 1172 1202 "type": "github" 1173 1203 }, 1174 1204 "original": { ··· 1187 1217 "nixpkgs-nixcord": "nixpkgs-nixcord" 1188 1218 }, 1189 1219 "locked": { 1190 - "lastModified": 1780138931, 1191 - "narHash": "sha256-hiF5Dnufa8jtENCnk0p6yjDaA01d2yCwiTMpxfKDCN4=", 1220 + "lastModified": 1780158792, 1221 + "narHash": "sha256-tAGrRIQOi11zwl7UOLKkNsy3owVTE+/lDU1MJT9K2Qw=", 1192 1222 "owner": "kaylorben", 1193 1223 "repo": "nixcord", 1194 - "rev": "f8d55b5f6ce6548f31fa6941c66b78e4ae23c5de", 1224 + "rev": "d0a08d06b3a00b1038b1780366180068af7c1489", 1195 1225 "type": "github" 1196 1226 }, 1197 1227 "original": { ··· 1200 1230 "type": "github" 1201 1231 } 1202 1232 }, 1203 - "nixhypr": { 1204 - "inputs": { 1205 - "hyprland": [ 1206 - "hyprland" 1207 - ], 1208 - "nixpkgs": [ 1209 - "nixpkgs" 1210 - ], 1211 - "treefmt-nix": [ 1212 - "treefmt-nix" 1213 - ] 1214 - }, 1215 - "locked": { 1216 - "lastModified": 1778139329, 1217 - "narHash": "sha256-Se3RyYawVa5c98wKYBiDOX7+2vQJaTSxCnWjk6sKb9o=", 1218 - "owner": "karol-broda", 1219 - "repo": "nixhypr", 1220 - "rev": "983159d34bb7a46c0bfaf9491ea00290b102210e", 1221 - "type": "github" 1222 - }, 1223 - "original": { 1224 - "owner": "karol-broda", 1225 - "repo": "nixhypr", 1226 - "type": "github" 1227 - } 1228 - }, 1229 1233 "nixpkgs": { 1230 1234 "locked": { 1231 1235 "lastModified": 1773222311, ··· 1335 1339 }, 1336 1340 "nixpkgs_4": { 1337 1341 "locked": { 1338 - "lastModified": 1780011192, 1339 - "narHash": "sha256-luHrZG6I7Mwdt413XoDOYBpp9z1z6X23/5SNktwjM+k=", 1342 + "lastModified": 1780206209, 1343 + "narHash": "sha256-33WNQ5sssy+8+xhUz953aEnjR1Oh828j0DgLU1TfMqE=", 1340 1344 "owner": "NixOS", 1341 1345 "repo": "nixpkgs", 1342 - "rev": "3242faf14b7611a62ce0f0071619438a08b65c12", 1346 + "rev": "45cf63e030188dd38532669b2450182bfc2d4653", 1343 1347 "type": "github" 1344 1348 }, 1345 1349 "original": { ··· 1407 1411 "nixpkgs": [ 1408 1412 "nixpkgs" 1409 1413 ], 1410 - "systems": "systems_3", 1414 + "systems": "systems_4", 1411 1415 "treefmt-nix": "treefmt-nix" 1412 1416 }, 1413 1417 "locked": { 1414 - "lastModified": 1779588472, 1415 - "narHash": "sha256-CVonDVo41DqdqS/kNeXFatwEuTltyXcppm9zkVOnrsM=", 1418 + "lastModified": 1780194487, 1419 + "narHash": "sha256-M+YtjKCTkHrkplNaKVyaxfa8hAWjRF6wFOUBAZvxQ4U=", 1416 1420 "owner": "noctalia-dev", 1417 1421 "repo": "noctalia-qs", 1418 - "rev": "70fea8a39a908e395de63024a4dfdb829bff1ffe", 1422 + "rev": "07398e12b54f194e3a2d47c87e3fd10b8eeaa27d", 1419 1423 "type": "github" 1420 1424 }, 1421 1425 "original": { ··· 1434 1438 ] 1435 1439 }, 1436 1440 "locked": { 1437 - "lastModified": 1780175453, 1438 - "narHash": "sha256-UipLVrwxjoe2FDWJFlF+DkD+axkSl7wdEUTGFvjni4E=", 1441 + "lastModified": 1780281641, 1442 + "narHash": "sha256-M/+hUKoKbHXpV0xGVfELbN1Ds1aoe3pL5p5/t46YhVo=", 1439 1443 "owner": "nix-community", 1440 1444 "repo": "NUR", 1441 - "rev": "8988ccefb87af04b296c4d1cb2127a15ffb86d4d", 1445 + "rev": "30f9ae2f04174de63ba8bcf3580ca90843b28a01", 1442 1446 "type": "github" 1443 1447 }, 1444 1448 "original": { ··· 1458 1462 "nixpkgs": [ 1459 1463 "nixpkgs" 1460 1464 ], 1461 - "systems": "systems_4" 1465 + "systems": "systems_5" 1462 1466 }, 1463 1467 "locked": { 1464 1468 "lastModified": 1779458887, ··· 1486 1490 "nixpkgs": [ 1487 1491 "nixpkgs" 1488 1492 ], 1489 - "systems": "systems_5", 1493 + "systems": "systems_6", 1490 1494 "treefmt-nix": [ 1491 1495 "treefmt-nix" 1492 1496 ] ··· 1559 1563 "flake-file": "flake-file", 1560 1564 "flake-parts": "flake-parts_2", 1561 1565 "home-manager": "home-manager", 1566 + "hylix": "hylix", 1562 1567 "hyprland": "hyprland", 1563 1568 "hyprland-plugins": "hyprland-plugins", 1564 1569 "import-tree": "import-tree", ··· 1568 1573 "nix-index-database": "nix-index-database", 1569 1574 "nix-userstyles": "nix-userstyles", 1570 1575 "nixcord": "nixcord", 1571 - "nixhypr": "nixhypr", 1572 1576 "nixpkgs": "nixpkgs_6", 1573 1577 "noctalia": "noctalia", 1574 1578 "noctalia-qs": "noctalia-qs", ··· 1650 1654 "nixpkgs": [ 1651 1655 "nixpkgs" 1652 1656 ], 1653 - "systems": "systems_6" 1657 + "systems": "systems_7" 1654 1658 }, 1655 1659 "locked": { 1656 - "lastModified": 1779824049, 1657 - "narHash": "sha256-dWHVUjP03KSVG1PaLKA6j9EdxWSxSQvipMUIcSyuA/U=", 1660 + "lastModified": 1780213729, 1661 + "narHash": "sha256-rdeBztPA6tiKp6gG4ihZAzeYGC9mYa2tAU4UIOLcZM0=", 1658 1662 "owner": "Gerg-L", 1659 1663 "repo": "spicetify-nix", 1660 - "rev": "1362178e5f5f7a848c49fe9dee004ef8824f100a", 1664 + "rev": "c679f3fa9fbe86903486a8f7ad71f99e26481d71", 1661 1665 "type": "github" 1662 1666 }, 1663 1667 "original": { ··· 1683 1687 "nur": [ 1684 1688 "nur" 1685 1689 ], 1686 - "systems": "systems_7", 1690 + "systems": "systems_8", 1687 1691 "tinted-kitty": "tinted-kitty", 1688 1692 "tinted-schemes": "tinted-schemes", 1689 1693 "tinted-tmux": "tinted-tmux", 1690 1694 "tinted-zed": "tinted-zed" 1691 1695 }, 1692 1696 "locked": { 1693 - "lastModified": 1780079634, 1694 - "narHash": "sha256-VVyCrzwLitvxZGx48FgzvlbLYGQU99GsaQnZmwqZoUo=", 1697 + "lastModified": 1780256506, 1698 + "narHash": "sha256-wEXN/OoZt9HfsKBL6694p2Y9xRlwfUbdn/M107U8fVU=", 1695 1699 "owner": "danth", 1696 1700 "repo": "stylix", 1697 - "rev": "ca07e0644716a7c13e91c6d92d169fc81889c589", 1701 + "rev": "8ed48a41087feeb66372ff718021a9512fc552b3", 1698 1702 "type": "github" 1699 1703 }, 1700 1704 "original": { ··· 1705 1709 }, 1706 1710 "systems": { 1707 1711 "locked": { 1712 + "lastModified": 1681028828, 1713 + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", 1714 + "owner": "nix-systems", 1715 + "repo": "default", 1716 + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", 1717 + "type": "github" 1718 + }, 1719 + "original": { 1720 + "owner": "nix-systems", 1721 + "repo": "default", 1722 + "type": "github" 1723 + } 1724 + }, 1725 + "systems_2": { 1726 + "locked": { 1708 1727 "lastModified": 1689347949, 1709 1728 "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", 1710 1729 "owner": "nix-systems", ··· 1718 1737 "type": "github" 1719 1738 } 1720 1739 }, 1721 - "systems_2": { 1740 + "systems_3": { 1722 1741 "locked": { 1723 1742 "lastModified": 1681028828, 1724 1743 "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", ··· 1733 1752 "type": "github" 1734 1753 } 1735 1754 }, 1736 - "systems_3": { 1755 + "systems_4": { 1737 1756 "locked": { 1738 1757 "lastModified": 1689347949, 1739 1758 "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", ··· 1748 1767 "type": "github" 1749 1768 } 1750 1769 }, 1751 - "systems_4": { 1752 - "locked": { 1753 - "lastModified": 1681028828, 1754 - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", 1755 - "owner": "nix-systems", 1756 - "repo": "default", 1757 - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", 1758 - "type": "github" 1759 - }, 1760 - "original": { 1761 - "owner": "nix-systems", 1762 - "repo": "default", 1763 - "type": "github" 1764 - } 1765 - }, 1766 1770 "systems_5": { 1767 1771 "locked": { 1768 1772 "lastModified": 1681028828, ··· 1794 1797 } 1795 1798 }, 1796 1799 "systems_7": { 1800 + "locked": { 1801 + "lastModified": 1681028828, 1802 + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", 1803 + "owner": "nix-systems", 1804 + "repo": "default", 1805 + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", 1806 + "type": "github" 1807 + }, 1808 + "original": { 1809 + "owner": "nix-systems", 1810 + "repo": "default", 1811 + "type": "github" 1812 + } 1813 + }, 1814 + "systems_8": { 1797 1815 "locked": { 1798 1816 "lastModified": 1681028828, 1799 1817 "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", ··· 1900 1918 ] 1901 1919 }, 1902 1920 "locked": { 1903 - "lastModified": 1775636079, 1904 - "narHash": "sha256-pc20NRoMdiar8oPQceQT47UUZMBTiMdUuWrYu2obUP0=", 1921 + "lastModified": 1780220602, 1922 + "narHash": "sha256-eynAfOmbmxJnkp7YewvCEbShNnnYJ9gLLqkzsYtBPeM=", 1905 1923 "owner": "numtide", 1906 1924 "repo": "treefmt-nix", 1907 - "rev": "790751ff7fd3801feeaf96d7dc416a8d581265ba", 1925 + "rev": "db947814a175b7ca6ded66e21383d938df01c227", 1908 1926 "type": "github" 1909 1927 }, 1910 1928 "original": {
+5 -3
flake.nix
··· 51 51 url = "github:kaylorben/nixcord"; 52 52 inputs.flake-parts.follows = "flake-parts"; 53 53 }; 54 - nixhypr = { 55 - url = "github:karol-broda/nixhypr"; 54 + hylix = { 55 + url = "github:adam01110/hylix"; 56 56 inputs = { 57 - hyprland.follows = "hyprland"; 57 + flake-file.follows = "flake-file"; 58 + flake-parts.follows = "flake-parts"; 59 + import-tree.follows = "import-tree"; 58 60 nixpkgs.follows = "nixpkgs"; 59 61 treefmt-nix.follows = "treefmt-nix"; 60 62 };
+10
lib/hylix.nix
··· 1 + _: { 2 + mkHylixBindGroup = category: binds: { 3 + inherit 4 + # keep-sorted start 5 + binds 6 + category 7 + # keep-sorted end 8 + ; 9 + }; 10 + }
-16
lib/nixhypr.nix
··· 1 - _: { 2 - mkNixhyprBind = description: keys: dispatcher: 3 - { 4 - inherit description keys; 5 - } 6 - // dispatcher; 7 - 8 - mkNixhyprBindGroup = category: binds: { 9 - inherit 10 - # keep-sorted start 11 - binds 12 - category 13 - # keep-sorted end 14 - ; 15 - }; 16 - }
+1 -1
modules/desktop/hyprland/appearance.nix
··· 2 2 flake.modules.homeManager.hyprland = {lib, ...}: let 3 3 inherit ((import "${inputs.hyprland}/nix/lib.nix" lib)) toHyprlang; 4 4 in { 5 - programs.nixhypr = { 5 + programs.hylix = { 6 6 settings = { 7 7 # Window decoration options including blur and shadow. 8 8 decoration = {
+15 -8
modules/desktop/hyprland/default.nix
··· 2 2 flake-file.inputs = { 3 3 hyprland.url = "github:hyprwm/Hyprland?ref=v0.55.2"; 4 4 5 - nixhypr = { 6 - url = "github:karol-broda/nixhypr"; 5 + hylix = { 6 + url = "github:adam01110/hylix"; 7 7 inputs = { 8 8 # keep-sorted start 9 - hyprland.follows = "hyprland"; 9 + flake-parts.follows = "flake-parts"; 10 + import-tree.follows = "import-tree"; 10 11 nixpkgs.follows = "nixpkgs"; 11 12 treefmt-nix.follows = "treefmt-nix"; 12 13 # keep-sorted end ··· 44 45 }; 45 46 }; 46 47 47 - flake.modules.homeManager.hyprland = {self, ...}: { 48 - imports = with self.modules.homeManager; [ 48 + flake.modules.homeManager.hyprland = { 49 + # keep-sorted start 50 + inputs, 51 + self, 52 + # keep-sorted end 53 + ... 54 + }: { 55 + imports = [ 49 56 # keep-sorted start 50 - nixhypr 51 - uwsm 57 + inputs.hylix.homeManagerModules.default 58 + self.modules.homeManager.uwsm 52 59 # keep-sorted end 53 60 ]; 54 61 ··· 61 68 portalPackage = null; 62 69 }; 63 70 64 - programs.nixhypr.enable = true; 71 + programs.hylix.enable = true; 65 72 }; 66 73 }; 67 74 }
+2 -9
modules/desktop/hyprland/general.nix
··· 1 1 { 2 2 flake.modules.homeManager.hyprland = { 3 - programs.nixhypr.settings = { 3 + programs.hylix.settings = { 4 4 # keep-sorted start block=yes newline_separated=yes 5 5 # Suppress noisy logs and watchdog timeouts. 6 6 debug = { ··· 78 78 }; 79 79 80 80 # Renderer tweaks. 81 - render = { 82 - # keep-sorted start 83 - new_render_scheduling = true; 84 - use_shader_blur_blend = true; 85 - # keep-sorted end 86 - 87 - ctm_animation = 0; 88 - }; 81 + render.ctm_animation = 0; 89 82 90 83 # Keep xwayland windows scaled correctly. 91 84 xwayland.force_zero_scaling = true;
+3 -3
modules/desktop/hyprland/gestures.nix
··· 21 21 overzicht = getExe config.programs.overzicht.package; 22 22 # keep-sorted end 23 23 24 - cfg = config.programs.nixhypr.touch.enable; 24 + cfg = config.programs.hylix.touch.enable; 25 25 in { 26 - options.programs.nixhypr.touch.enable = mkEnableOption "Enable touch-specific configuration"; 26 + options.programs.hylix.touch.enable = mkEnableOption "Enable touch-specific configuration"; 27 27 28 28 config = mkIf cfg { 29 - programs.nixhypr = { 29 + programs.hylix = { 30 30 gestures = [ 31 31 { 32 32 direction = "horizontal";
+3 -3
modules/desktop/hyprland/keybinds/applications.nix
··· 8 8 # keep-sorted end 9 9 ... 10 10 }: let 11 - inherit (lib.self) mkNixhyprBindGroup; 11 + inherit (lib.self) mkHylixBindGroup; 12 12 in { 13 13 imports = with self.modules.homeManager; [ 14 14 # keep-sorted start block=yes ··· 34 34 35 35 app = command: "${runapp} ${command}"; 36 36 in { 37 - programs.nixhypr.bindGroups = [ 38 - (mkNixhyprBindGroup "Applications" [ 37 + programs.hylix.bindGroups = [ 38 + (mkHylixBindGroup "Applications" [ 39 39 # keep-sorted start block=yes newline_separated=yes 40 40 { 41 41 description = "Browser";
+3 -3
modules/desktop/hyprland/keybinds/brightness.nix
··· 14 14 optionals 15 15 # keep-sorted end 16 16 ; 17 - inherit (lib.self) mkNixhyprBindGroup; 17 + inherit (lib.self) mkHylixBindGroup; 18 18 19 19 cfg = config.hyprland.brightness; 20 20 ··· 22 22 in { 23 23 options.hyprland.brightness.enable = mkEnableOption "function-row brightness keybindings"; 24 24 25 - config.programs.nixhypr.bindGroups = [ 26 - (mkNixhyprBindGroup "Brightness" (optionals cfg.enable [ 25 + config.programs.hylix.bindGroups = [ 26 + (mkHylixBindGroup "Brightness" (optionals cfg.enable [ 27 27 # keep-sorted start block=yes newline_separated=yes 28 28 { 29 29 description = "Brightness down";
+1 -1
modules/desktop/hyprland/keybinds/default.nix
··· 13 13 # keep-sorted end 14 14 ]; 15 15 16 - config.programs.nixhypr.settings.binds.movefocus_cycles_fullscreen = true; 16 + config.programs.hylix.settings.binds.movefocus_cycles_fullscreen = true; 17 17 }; 18 18 }
+3 -3
modules/desktop/hyprland/keybinds/groups.nix
··· 6 6 # keep-sorted start 7 7 hyprlandDirections 8 8 hyprlandGroupNumbers 9 - mkNixhyprBindGroup 9 + mkHylixBindGroup 10 10 # keep-sorted end 11 11 ; 12 12 in { 13 - config.programs.nixhypr.bindGroups = [ 14 - (mkNixhyprBindGroup "Groups" (concatLists [ 13 + config.programs.hylix.bindGroups = [ 14 + (mkHylixBindGroup "Groups" (concatLists [ 15 15 [ 16 16 # keep-sorted start block=yes newline_separated=yes 17 17 {
+3 -3
modules/desktop/hyprland/keybinds/layout-and-resize.nix
··· 5 5 (lib.self) 6 6 # keep-sorted start 7 7 hyprlandDirections 8 - mkNixhyprBindGroup 8 + mkHylixBindGroup 9 9 # keep-sorted end 10 10 ; 11 11 in { 12 - config.programs.nixhypr.bindGroups = [ 13 - (mkNixhyprBindGroup "Layout And Resize" (concatLists [ 12 + config.programs.hylix.bindGroups = [ 13 + (mkHylixBindGroup "Layout And Resize" (concatLists [ 14 14 (map (direction: { 15 15 description = "Resize ${direction.label}"; 16 16
+3 -3
modules/desktop/hyprland/keybinds/media.nix
··· 7 7 ... 8 8 }: let 9 9 inherit (lib) getExe'; 10 - inherit (lib.self) mkNixhyprBindGroup; 10 + inherit (lib.self) mkHylixBindGroup; 11 11 12 12 noctalia = "${getExe' config.programs.noctalia-shell.package "noctalia-shell"} ipc call"; 13 13 in { 14 - config.programs.nixhypr.bindGroups = [ 15 - (mkNixhyprBindGroup "Media" [ 14 + config.programs.hylix.bindGroups = [ 15 + (mkHylixBindGroup "Media" [ 16 16 # keep-sorted start block=yes newline_separated=yes 17 17 { 18 18 description = "Mute";
+3 -3
modules/desktop/hyprland/keybinds/screenshots-and-color.nix
··· 9 9 ... 10 10 }: let 11 11 inherit (lib) getExe; 12 - inherit (lib.self) mkNixhyprBindGroup; 12 + inherit (lib.self) mkHylixBindGroup; 13 13 14 14 # keep-sorted start 15 15 hyprpicker = getExe pkgs.hyprpicker; ··· 19 19 in { 20 20 imports = [self.modules.homeManager.xdgDirs]; 21 21 22 - config.programs.nixhypr.bindGroups = [ 23 - (mkNixhyprBindGroup "Screenshots And Color" [ 22 + config.programs.hylix.bindGroups = [ 23 + (mkHylixBindGroup "Screenshots And Color" [ 24 24 # keep-sorted start block=yes newline_separated=yes 25 25 { 26 26 description = "Color picker";
+3 -3
modules/desktop/hyprland/keybinds/shell.nix
··· 7 7 ... 8 8 }: let 9 9 inherit (lib) getExe'; 10 - inherit (lib.self) mkNixhyprBindGroup; 10 + inherit (lib.self) mkHylixBindGroup; 11 11 12 12 noctalia = "${getExe' config.programs.noctalia-shell.package "noctalia-shell"} ipc call"; 13 13 in { 14 - config.programs.nixhypr.bindGroups = [ 15 - (mkNixhyprBindGroup "Shell" [ 14 + config.programs.hylix.bindGroups = [ 15 + (mkHylixBindGroup "Shell" [ 16 16 # keep-sorted start block=yes newline_separated=yes 17 17 { 18 18 description = "Clipboard";
+3 -3
modules/desktop/hyprland/keybinds/system.nix
··· 13 13 getExe' 14 14 # keep-sorted end 15 15 ; 16 - inherit (lib.self) mkNixhyprBindGroup; 16 + inherit (lib.self) mkHylixBindGroup; 17 17 18 18 # keep-sorted start 19 19 noctalia = "${getExe' config.programs.noctalia-shell.package "noctalia-shell"} ipc call"; 20 20 overzicht = "${getExe config.programs.overzicht.package} ipc call"; 21 21 # keep-sorted end 22 22 in { 23 - config.programs.nixhypr.bindGroups = [ 24 - (mkNixhyprBindGroup "System" [ 23 + config.programs.hylix.bindGroups = [ 24 + (mkHylixBindGroup "System" [ 25 25 # keep-sorted start block=yes newline_separated=yes 26 26 { 27 27 description = "Keybind cheatsheet";
+3 -3
modules/desktop/hyprland/keybinds/window-focus.nix
··· 4 4 (lib.self) 5 5 # keep-sorted start 6 6 hyprlandDirections 7 - mkNixhyprBindGroup 7 + mkHylixBindGroup 8 8 # keep-sorted end 9 9 ; 10 10 in { 11 - config.programs.nixhypr.bindGroups = [ 12 - (mkNixhyprBindGroup "Window Focus" (map (direction: { 11 + config.programs.hylix.bindGroups = [ 12 + (mkHylixBindGroup "Window Focus" (map (direction: { 13 13 description = "Focus ${direction.label}"; 14 14 15 15 keys = ["SUPER" direction.key];
+3 -3
modules/desktop/hyprland/keybinds/window-management.nix
··· 1 1 { 2 2 flake.modules.homeManager.hyprland = {lib, ...}: let 3 - inherit (lib.self) mkNixhyprBindGroup; 3 + inherit (lib.self) mkHylixBindGroup; 4 4 in { 5 - config.programs.nixhypr.bindGroups = [ 6 - (mkNixhyprBindGroup "Window Management" [ 5 + config.programs.hylix.bindGroups = [ 6 + (mkHylixBindGroup "Window Management" [ 7 7 # keep-sorted start block=yes newline_separated=yes 8 8 { 9 9 description = "Close window";
+3 -3
modules/desktop/hyprland/keybinds/window-move.nix
··· 4 4 (lib.self) 5 5 # keep-sorted start 6 6 hyprlandDirections 7 - mkNixhyprBindGroup 7 + mkHylixBindGroup 8 8 # keep-sorted end 9 9 ; 10 10 in { 11 - config.programs.nixhypr.bindGroups = [ 12 - (mkNixhyprBindGroup "Window Move" (map (direction: { 11 + config.programs.hylix.bindGroups = [ 12 + (mkHylixBindGroup "Window Move" (map (direction: { 13 13 description = "Move window ${direction.label}"; 14 14 15 15 keys = ["SUPER" "SHIFT" direction.key];
+5 -5
modules/desktop/hyprland/keybinds/workspaces.nix
··· 4 4 (lib.self) 5 5 # keep-sorted start 6 6 hyprlandWorkspaceNumbers 7 - mkNixhyprBindGroup 7 + mkHylixBindGroup 8 8 # keep-sorted end 9 9 ; 10 10 in { 11 - config.programs.nixhypr.bindGroups = [ 12 - (mkNixhyprBindGroup "Workspaces" (map (workspace: { 11 + config.programs.hylix.bindGroups = [ 12 + (mkHylixBindGroup "Workspaces" (map (workspace: { 13 13 description = "Workspace ${toString workspace}"; 14 14 15 15 keys = ["SUPER" (toString workspace)]; ··· 17 17 }) 18 18 hyprlandWorkspaceNumbers)) 19 19 20 - (mkNixhyprBindGroup "Move To Workspace" (map (workspace: { 20 + (mkHylixBindGroup "Move To Workspace" (map (workspace: { 21 21 description = "Move to workspace ${toString workspace}"; 22 22 23 23 keys = ["SUPER" "SHIFT" (toString workspace)]; ··· 25 25 }) 26 26 hyprlandWorkspaceNumbers)) 27 27 28 - (mkNixhyprBindGroup "Move To Workspace Silent" (map (workspace: { 28 + (mkHylixBindGroup "Move To Workspace Silent" (map (workspace: { 29 29 description = "Move to workspace ${toString workspace} (silent)"; 30 30 31 31 keys = ["SUPER" "CTRL" (toString workspace)];
+2 -4
modules/desktop/hyprland/plugins.nix
··· 13 13 }; 14 14 15 15 flake.modules.homeManager.hyprland = { 16 - # keep-sorted start 17 16 lib, 18 17 pkgs, 19 - # keep-sorted end 20 18 ... 21 19 }: let 22 20 inherit (lib) mkOrder; ··· 25 23 26 24 wayland.windowManager.hyprland.plugins = [pkgs.hyprlandPlugins.hyprfocus]; 27 25 28 - programs.nixhypr = { 29 - _generatedConfig = mkOrder 875 '' 26 + programs.hylix = { 27 + _generatedConfig = mkOrder 899 '' 30 28 -- Expose hyprsplit for keybind dispatchers. 31 29 hyprsplit = dofile("${pkgs.nur.repos.adam0.hyprsplit}/init.lua") 32 30 hyprsplit.config({ num_workspaces = 8 })
+33 -12
modules/desktop/hyprland/rules.nix
··· 22 22 equibop = getExe config.programs.nixcord.equibop.package; 23 23 grim = getExe pkgs.grim; 24 24 hyprctl = getExe' osConfig.programs.hyprland.package "hyprctl"; 25 + hyprfocus = "${pkgs.hyprlandPlugins.hyprfocus}/lib/libhyprfocus.so"; 25 26 hyprpicker = getExe pkgs.hyprpicker; 26 - quickshell = getExe' inputs.noctalia-qs.packages.${pkgs.stdenv.hostPlatform.system}.quickshell ".quickshell-wrapped"; 27 + noctalia-qs = getExe' inputs.noctalia-qs.packages.${pkgs.stdenv.hostPlatform.system}.quickshell ".quickshell-wrapped"; 28 + overzicht = getExe config.programs.overzicht.package; 29 + quickshell = getExe pkgs.quickshell; 27 30 xdg-desktop-portal-hyprland = getExe' osConfig.programs.hyprland.portalPackage ".xdg-desktop-portal-hyprland-wrapped"; 28 31 # keep-sorted end 29 32 in { 30 - programs.nixhypr = { 33 + programs.hylix = { 31 34 permissions = [ 32 35 { 33 - allow = "allow"; 34 36 binary = escapeRegex hyprctl; 37 + mode = "allow"; 38 + type = "plugin"; 39 + } 40 + 41 + { 42 + binary = escapeRegex hyprfocus; 43 + mode = "allow"; 35 44 type = "plugin"; 36 45 } 37 46 38 47 # keep-sorted start block=yes newline_separated=yes 39 48 { 49 + binary = escapeRegex equibop; 50 + mode = "allow"; 51 + type = "screencopy"; 52 + } 53 + 54 + { 55 + binary = escapeRegex grim; 56 + mode = "allow"; 40 57 type = "screencopy"; 41 - allow = "allow"; 42 - binary = escapeRegex equibop; 43 58 } 44 59 45 60 { 61 + binary = escapeRegex hyprpicker; 62 + mode = "allow"; 46 63 type = "screencopy"; 47 - allow = "allow"; 48 - binary = escapeRegex grim; 49 64 } 50 65 51 66 { 67 + binary = escapeRegex noctalia-qs; 68 + mode = "allow"; 52 69 type = "screencopy"; 53 - allow = "allow"; 54 - binary = escapeRegex hyprpicker; 55 70 } 56 71 57 72 { 73 + binary = escapeRegex overzicht; 74 + mode = "allow"; 58 75 type = "screencopy"; 59 - allow = "allow"; 76 + } 77 + 78 + { 60 79 binary = escapeRegex quickshell; 80 + mode = "allow"; 81 + type = "screencopy"; 61 82 } 62 83 63 84 { 85 + binary = escapeRegex xdg-desktop-portal-hyprland; 86 + mode = "allow"; 64 87 type = "screencopy"; 65 - allow = "allow"; 66 - binary = escapeRegex xdg-desktop-portal-hyprland; 67 88 } 68 89 # keep-sorted end 69 90 ];
+1 -1
modules/desktop/noctalia/general.nix
··· 4 4 # Use sharp corners (no rounding) for consistent design. 5 5 radius = 0; 6 6 7 - cfgTouch = config.programs.nixhypr.touch.enable or false; 7 + cfgTouch = config.programs.hylix.touch.enable or false; 8 8 in { 9 9 # keep-sorted start 10 10 animationSpeed = 2;
+28
modules/desktop/noctalia/plugins.nix
··· 22 22 inherit (config.xdg) stateHome; 23 23 cfgBattery = config.programs.noctalia-shell.battery.enable; 24 24 videosDir = config.xdg.userDirs.videos; 25 + 26 + colors = config.lib.stylix.colors.withHashtag; 25 27 in { 26 28 imports = with self.modules; [ 27 29 # keep-sorted start 28 30 generic.vars 29 31 homeManager.sops 32 + homeManager.stylixBase 30 33 homeManager.xdgDirs 31 34 # keep-sorted end 32 35 ]; ··· 84 87 }; 85 88 86 89 github-feed = mkOutOfStoreSymlink config.sops.templates."noctalia-github-config".path; 90 + 91 + keybind-cheatsheet = with colors; { 92 + # keep-sorted start 93 + windowWidth = 1600; 94 + hyprlandParserMode = "lua"; 95 + # keep-sorted end 96 + 97 + # keep-sorted start 98 + descriptionTextColor = base00; 99 + keyTextAlt = base00; 100 + keyTextCtrl = base00; 101 + keyTextDefault = base00; 102 + keyTextMouse = base00; 103 + keyTextNumeric = base00; 104 + keyTextPrint = base00; 105 + keyTextShift = base00; 106 + keyTextSuper = base00; 107 + keyTextXF86 = base00; 108 + keyColorMouse = base0E; 109 + keyColorAlt = base08; 110 + keyColorXF86 = base0D; 111 + keyColorPrint = base0D; 112 + keyColorNumeric = base0D; 113 + # keep-sorted end 114 + }; 87 115 88 116 nvim-session-provider.sessionDir = "${stateHome}/nvf/sessions"; 89 117
+10 -12
modules/desktop/tablet.nix
··· 9 9 inherit 10 10 (lib) 11 11 # keep-sorted start 12 - attrNames 13 12 filter 14 13 head 15 14 mkIf 16 15 # keep-sorted end 17 16 ; 18 17 19 - monitors = config.hyprland.monitors or {}; 20 - candidates = filter ( 21 - name: (monitors.${name}.position or null) == "0x0" 22 - ) (attrNames monitors); 18 + monitors = config.programs.hylix.monitors or []; 19 + candidates = 20 + filter ( 21 + monitor: (monitor.position or null) == "0x0" 22 + ) 23 + monitors; 23 24 in { 24 25 imports = [ 25 26 { ··· 29 30 ]; 30 31 31 32 config = mkIf (candidates != []) { 32 - programs.nixhypr.devices = [ 33 - { 34 - name = "opentabletdriver-virtual-artist-tablet"; 35 - output = head candidates; 36 - transform = 0; 37 - } 38 - ]; 33 + programs.hylix.settings.input.tablet = { 34 + inherit ((head candidates)) output; 35 + transform = 0; 36 + }; 39 37 }; 40 38 }; 41 39
-1
modules/development/treefmt.nix
··· 44 44 "*.mdx" 45 45 ]; 46 46 47 - # Keep sops and direnv files out of formatting and linting. 48 47 global.excludes = [ 49 48 # keep-sorted start 50 49 ".direnv/*"
+1 -1
modules/hosts/desktop/home.nix
··· 20 20 programs.btop.gpuBackends = ["rocm"]; 21 21 22 22 # Configure dual monitor setup. 23 - programs.nixhypr.monitors = [ 23 + programs.hylix.monitors = [ 24 24 { 25 25 output = "DP-1"; 26 26 mode = "1920x1080@144";
+2 -2
modules/hosts/laptop/home.nix
··· 23 23 # keep-sorted end 24 24 ]; 25 25 26 - # keep-sorted start block=yes newline_separated=yes 27 26 # Enable laptop hardware features. 28 27 programs.nixcord.equibop.camera.enable = true; 29 28 29 + # keep-sorted start block=yes newline_separated=yes 30 30 # Enable laptop-specific hyprland features. 31 - programs.nixhypr = { 31 + programs.hylix = { 32 32 # keep-sorted start block=yes newline_separated=yes 33 33 monitors = [ 34 34 {
+1 -1
modules/hosts/vm/home.nix
··· 19 19 20 20 # keep-sorted start block=yes newline_separated=yes 21 21 # Configure the vm display settings. 22 - programs.nixhypr.monitors = [ 22 + programs.hylix.monitors = [ 23 23 { 24 24 output = "Virtual-1"; 25 25 mode = "1920x1080@60";
-159
modules/nixhypr/animations.nix
··· 1 - {inputs, ...}: { 2 - flake.modules.homeManager.nixhypr = { 3 - lib, 4 - config, 5 - ... 6 - }: let 7 - inherit 8 - (lib) 9 - # keep-sorted start 10 - concatStringsSep 11 - filterAttrs 12 - mapAttrsToList 13 - mkIf 14 - mkMerge 15 - mkOption 16 - mkOrder 17 - optionalAttrs 18 - types 19 - # keep-sorted end 20 - ; 21 - 22 - nixhyprLib = import "${inputs.nixhypr}/lib" {inherit lib;}; 23 - inherit (nixhyprLib) ordering toLua; 24 - 25 - cfg = config.programs.nixhypr; 26 - 27 - curveType = types.submodule { 28 - options = { 29 - type = mkOption { 30 - description = "Curve type."; 31 - type = types.enum ["bezier" "spring"]; 32 - }; 33 - 34 - points = mkOption { 35 - default = null; 36 - description = "Bezier control points [x1, y1, x2, y2]."; 37 - type = types.nullOr (types.listOf types.float); 38 - }; 39 - 40 - mass = mkOption { 41 - default = null; 42 - description = "Spring mass."; 43 - type = types.nullOr (types.either types.int types.float); 44 - }; 45 - 46 - stiffness = mkOption { 47 - default = null; 48 - description = "Spring stiffness."; 49 - type = types.nullOr (types.either types.int types.float); 50 - }; 51 - 52 - dampening = mkOption { 53 - default = null; 54 - description = "Spring dampening."; 55 - type = types.nullOr (types.either types.int types.float); 56 - }; 57 - }; 58 - }; 59 - 60 - animationType = types.submodule { 61 - options = { 62 - leaf = mkOption { 63 - description = "Animation leaf name."; 64 - type = types.str; 65 - }; 66 - 67 - enabled = mkOption { 68 - default = true; 69 - description = "Whether this animation is enabled."; 70 - type = types.bool; 71 - }; 72 - 73 - speed = mkOption { 74 - default = null; 75 - description = "Animation speed."; 76 - type = types.nullOr (types.either types.int types.float); 77 - }; 78 - 79 - bezier = mkOption { 80 - default = null; 81 - description = "Name of a bezier curve to use."; 82 - type = types.nullOr types.str; 83 - }; 84 - 85 - spring = mkOption { 86 - default = null; 87 - description = "Name of a spring curve to use."; 88 - type = types.nullOr types.str; 89 - }; 90 - 91 - style = mkOption { 92 - default = null; 93 - description = "Animation style."; 94 - type = types.nullOr types.str; 95 - }; 96 - }; 97 - }; 98 - 99 - buildCurve = name: curve: let 100 - table = 101 - if curve.type == "bezier" 102 - then { 103 - type = "bezier"; 104 - points = [ 105 - [ 106 - (builtins.elemAt curve.points 0) 107 - (builtins.elemAt curve.points 1) 108 - ] 109 - [ 110 - (builtins.elemAt curve.points 2) 111 - (builtins.elemAt curve.points 3) 112 - ] 113 - ]; 114 - } 115 - else 116 - filterAttrs (_: value: value != null) { 117 - inherit (curve) dampening mass stiffness type; 118 - }; 119 - in "hl.curve(\"${name}\", ${toLua table})"; 120 - 121 - curveLines = concatStringsSep "\n" (mapAttrsToList buildCurve cfg.animations.curves); 122 - 123 - buildAnimation = animation: let 124 - table = 125 - {inherit (animation) enabled leaf;} 126 - // optionalAttrs (animation.speed != null) {inherit (animation) speed;} 127 - // optionalAttrs (animation.bezier != null) {inherit (animation) bezier;} 128 - // optionalAttrs (animation.spring != null) {inherit (animation) spring;} 129 - // optionalAttrs (animation.style != null) {inherit (animation) style;}; 130 - in "hl.animation(${toLua table})"; 131 - 132 - animationLines = concatStringsSep "\n" (map buildAnimation cfg.animations.animations); 133 - in { 134 - disabledModules = ["${inputs.nixhypr}/modules/animations.nix"]; 135 - 136 - options.programs.nixhypr.animations = { 137 - curves = mkOption { 138 - default = {}; 139 - description = "Named animation curves."; 140 - type = types.attrsOf curveType; 141 - }; 142 - 143 - animations = mkOption { 144 - default = []; 145 - description = "Animation configurations."; 146 - type = types.listOf animationType; 147 - }; 148 - }; 149 - 150 - config = mkMerge [ 151 - (mkIf (cfg.animations.curves != {}) { 152 - programs.nixhypr._generatedConfig = mkOrder ordering.curves curveLines; 153 - }) 154 - (mkIf (cfg.animations.animations != []) { 155 - programs.nixhypr._generatedConfig = mkOrder ordering.animations animationLines; 156 - }) 157 - ]; 158 - }; 159 - }
-194
modules/nixhypr/binds.nix
··· 1 - {inputs, ...}: { 2 - flake.modules.homeManager.nixhypr = { 3 - # keep-sorted start 4 - config, 5 - lib, 6 - # keep-sorted end 7 - ... 8 - }: let 9 - inherit 10 - (lib) 11 - # keep-sorted start 12 - concatMap 13 - concatStringsSep 14 - filterAttrs 15 - foldl' 16 - mkIf 17 - mkOption 18 - mkOrder 19 - types 20 - # keep-sorted end 21 - ; 22 - 23 - nixhyprLib = import "${inputs.nixhypr}/lib" {inherit lib;}; 24 - inherit (nixhyprLib) ordering toLua; 25 - 26 - cfg = config.programs.nixhypr; 27 - 28 - bindType = types.submodule { 29 - options = { 30 - # keep-sorted start block=yes newline_separated=yes 31 - action = mkOption { 32 - description = "Hyprland dispatcher action, such as `window.close` or `focus`."; 33 - 34 - type = types.nullOr types.str; 35 - default = null; 36 - }; 37 - 38 - args = mkOption { 39 - description = "Arguments for the action dispatcher."; 40 - 41 - type = types.anything; 42 - default = null; 43 - }; 44 - 45 - category = mkOption { 46 - description = "Optional Noctalia keybind-cheatsheet category."; 47 - 48 - type = types.nullOr types.str; 49 - default = null; 50 - }; 51 - 52 - description = mkOption { 53 - description = "Optional bind description."; 54 - 55 - type = types.nullOr types.str; 56 - default = null; 57 - }; 58 - 59 - exec = mkOption { 60 - description = "Command to execute, as shorthand for `hl.dsp.exec_cmd`."; 61 - 62 - type = types.nullOr types.str; 63 - default = null; 64 - }; 65 - 66 - keys = mkOption { 67 - description = "Key combination, such as `[ \"SUPER\" \"q\" ]`."; 68 - 69 - type = types.listOf types.str; 70 - }; 71 - 72 - lua = mkOption { 73 - description = "Raw Lua dispatcher expression."; 74 - 75 - type = types.nullOr types.str; 76 - default = null; 77 - }; 78 - 79 - options = mkOption { 80 - description = "Bind options, such as `repeating`, `locked`, or `description`."; 81 - 82 - type = types.attrsOf types.anything; 83 - default = {}; 84 - }; 85 - # keep-sorted end 86 - }; 87 - }; 88 - 89 - bindGroupType = types.submodule { 90 - options = { 91 - # keep-sorted start block=yes newline_separated=yes 92 - binds = mkOption { 93 - description = "Keybindings in this group."; 94 - 95 - type = types.listOf bindType; 96 - default = []; 97 - }; 98 - 99 - category = mkOption { 100 - description = "Noctalia keybind-cheatsheet category."; 101 - 102 - type = types.str; 103 - }; 104 - # keep-sorted end 105 - }; 106 - }; 107 - 108 - cleanAttrs = filterAttrs (_: value: value != null); 109 - 110 - buildDispatcher = bind: 111 - if bind.exec != null 112 - then "hl.dsp.exec_cmd(${toLua bind.exec})" 113 - else if bind.lua != null 114 - then bind.lua 115 - else if bind.action != null 116 - then let 117 - argsStr = 118 - if bind.args != null 119 - then "(${toLua bind.args})" 120 - else "()"; 121 - in "hl.dsp.${bind.action}${argsStr}" 122 - else throw "bind must have one of: exec, action, lua"; 123 - 124 - buildBindLine = bind: let 125 - keysStr = concatStringsSep " + " bind.keys; 126 - dispatcher = buildDispatcher bind; 127 - bindOptions = cleanAttrs (bind.options // {inherit (bind) description;}); 128 - in 129 - if bindOptions != {} 130 - then "hl.bind(${toLua keysStr}, ${dispatcher}, ${toLua bindOptions})" 131 - else "hl.bind(${toLua keysStr}, ${dispatcher})"; 132 - 133 - buildBind = state: bind: let 134 - categoryChanged = bind.category != null && bind.category != state.category; 135 - nextIndex = 136 - if categoryChanged 137 - then state.index + 1 138 - else state.index; 139 - categoryLine = 140 - if categoryChanged 141 - then ["-- ${toString nextIndex}. ${bind.category}"] 142 - else []; 143 - in { 144 - category = 145 - if categoryChanged 146 - then bind.category 147 - else state.category; 148 - index = nextIndex; 149 - lines = state.lines ++ categoryLine ++ [(buildBindLine bind)]; 150 - }; 151 - 152 - groupedBinds = concatMap (group: 153 - map (bind: 154 - bind 155 - // { 156 - category = 157 - if bind.category != null 158 - then bind.category 159 - else group.category; 160 - }) 161 - group.binds) 162 - cfg.bindGroups; 163 - 164 - allBinds = cfg.binds ++ groupedBinds; 165 - 166 - built = 167 - foldl' buildBind { 168 - category = null; 169 - index = 0; 170 - lines = []; 171 - } 172 - allBinds; 173 - in { 174 - disabledModules = ["${inputs.nixhypr}/modules/binds.nix"]; 175 - 176 - options.programs.nixhypr.binds = mkOption { 177 - description = "Keybindings."; 178 - 179 - type = types.listOf bindType; 180 - default = []; 181 - }; 182 - 183 - options.programs.nixhypr.bindGroups = mkOption { 184 - description = "Grouped keybindings."; 185 - 186 - type = types.listOf bindGroupType; 187 - default = []; 188 - }; 189 - 190 - config = mkIf (allBinds != []) { 191 - programs.nixhypr._generatedConfig = mkOrder ordering.binds (concatStringsSep "\n" built.lines); 192 - }; 193 - }; 194 - }
-44
modules/nixhypr/default.nix
··· 1 - {inputs, ...}: { 2 - flake.modules.homeManager.nixhypr = { 3 - # keep-sorted start 4 - config, 5 - lib, 6 - # keep-sorted end 7 - ... 8 - }: let 9 - inherit 10 - (lib) 11 - # keep-sorted start 12 - concatStringsSep 13 - mkEnableOption 14 - mkIf 15 - mkOption 16 - types 17 - # keep-sorted end 18 - ; 19 - 20 - cfg = config.programs.nixhypr; 21 - in { 22 - imports = ["${inputs.nixhypr}/modules"]; 23 - 24 - options.programs.nixhypr = { 25 - enable = mkEnableOption "nixhypr hyprland lua config generator"; 26 - 27 - extraLuaSnippets = mkOption { 28 - description = "Lua snippets concatenated into nixhypr's extraLua."; 29 - 30 - type = types.listOf types.lines; 31 - default = []; 32 - }; 33 - }; 34 - 35 - config = mkIf cfg.enable { 36 - wayland.windowManager.hyprland = { 37 - configType = "lua"; 38 - extraConfig = cfg._generatedConfig; 39 - }; 40 - 41 - programs.nixhypr.extraLua = concatStringsSep "\n" cfg.extraLuaSnippets; 42 - }; 43 - }; 44 - }
-1
modules/programs/tui/opencode/plugins.nix
··· 14 14 dynamic-context-pruning.enable = true; 15 15 ignore.enable = true; 16 16 lazy-mcp.enable = true; 17 - oc-tps.enable = true; 18 17 unmoji.enable = true; 19 18 # keep-sorted end 20 19
+5 -5
modules/programs/tui/television/nix-search.nix
··· 107 107 sources = { 108 108 # Home Manager-backed sources. 109 109 # keep-sorted start block=yes newline_separated=yes 110 + hylix = { 111 + rawDoc = mkHomeManagerDoc inputs.hylix.homeManagerModules.default; 112 + prefixes = ["programs.hylix"]; 113 + }; 114 + 110 115 nix-flatpak = { 111 116 rawDoc = mkHomeManagerDoc inputs.nix-flatpak.homeManagerModules.nix-flatpak; 112 117 prefixes = ["services.flatpak"]; ··· 123 128 nixcord = { 124 129 rawDoc = mkHomeManagerDoc inputs.nixcord.homeModules.nixcord; 125 130 prefixes = ["programs.nixcord"]; 126 - }; 127 - 128 - nixhypr = { 129 - rawDoc = mkHomeManagerDoc inputs.nixhypr.homeManagerModules.default; 130 - prefixes = ["programs.nixhypr"]; 131 131 }; 132 132 133 133 noctalia = {