Deephack's Hyperland config based on omarchy-nix from Henry Sipp and in turn of course inspired by Omarchy.

Working on tidying up the config. #1

merged opened by deephackontech.bsky.social targeting main from push-qzsrnuwwxyuk
Labels

None yet.

Participants 1
AT URI
at://did:plc:bielovapzmvz6zd2kzuibgvw/sh.tangled.repo.pull/3mbmun2g3ua22
+90 -213
Diff #2
+9 -5
config.nix
··· 48 48 type = lib.types.listOf lib.types.str; 49 49 default = [ ]; 50 50 }; 51 - scale = lib.mkOption { 52 - type = lib.types.int; 53 - default = 2; 54 - description = "Display scale factor (1 for 1x displays, 2 for 2x displays)"; 55 - }; 56 51 quick_app_bindings = lib.mkOption { 57 52 type = lib.types.listOf lib.types.str; 58 53 description = "A list of single keystroke key bindings to launch common apps."; ··· 71 66 "SUPER, slash, exec, $passwordManager" 72 67 ]; 73 68 }; 69 + windows_rules = lib.mkOption { 70 + type = lib.types.listOf lib.types.str; 71 + default = [ ]; 72 + description = "A list of window rules to apply to windows"; 73 + }; 74 + pyprland_config = lib.mkOption { 75 + type = lib.types.str; 76 + default = ""; 77 + }; 74 78 exclude_packages = lib.mkOption { 75 79 type = lib.types.listOf lib.types.package; 76 80 default = [ ];
+73 -162
flake.lock
··· 20 20 ] 21 21 }, 22 22 "locked": { 23 - "lastModified": 1764714051, 24 - "narHash": "sha256-AjcMlM3UoavFoLzr0YrcvsIxALShjyvwe+o7ikibpCM=", 23 + "lastModified": 1765900596, 24 + "narHash": "sha256-+hn8v9jkkLP9m+o0Nm5SiEq10W0iWDSotH2XfjU45fA=", 25 25 "owner": "hyprwm", 26 26 "repo": "aquamarine", 27 - "rev": "a43bedcceced5c21ad36578ed823e6099af78214", 27 + "rev": "d83c97f8f5c0aae553c1489c7d9eff3eadcadace", 28 28 "type": "github" 29 29 }, 30 30 "original": { ··· 81 81 "type": "github" 82 82 } 83 83 }, 84 - "flake-utils": { 85 - "inputs": { 86 - "systems": "systems_2" 87 - }, 88 - "locked": { 89 - "lastModified": 1710146030, 90 - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", 91 - "owner": "numtide", 92 - "repo": "flake-utils", 93 - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", 94 - "type": "github" 95 - }, 96 - "original": { 97 - "owner": "numtide", 98 - "repo": "flake-utils", 99 - "type": "github" 100 - } 101 - }, 102 84 "gitignore": { 103 85 "inputs": { 104 86 "nixpkgs": [ ··· 128 110 ] 129 111 }, 130 112 "locked": { 131 - "lastModified": 1766682973, 132 - "narHash": "sha256-GKO35onS711ThCxwWcfuvbIBKXwriahGqs+WZuJ3v9E=", 113 + "lastModified": 1767556355, 114 + "narHash": "sha256-RDTUBDQBi9D4eD9iJQWtUDN/13MDLX+KmE+TwwNUp2s=", 133 115 "owner": "nix-community", 134 116 "repo": "home-manager", 135 - "rev": "91cdb0e2d574c64fae80d221f4bf09d5592e9ec2", 117 + "rev": "f894bc4ffde179d178d8deb374fcf9855d1a82b7", 136 118 "type": "github" 137 119 }, 138 120 "original": { ··· 208 190 "hyprland-protocols": "hyprland-protocols", 209 191 "hyprlang": "hyprlang", 210 192 "hyprutils": "hyprutils", 211 - "hyprwayland-scanner": "hyprwayland-scanner_2", 193 + "hyprwayland-scanner": "hyprwayland-scanner", 194 + "hyprwire": "hyprwire", 212 195 "nixpkgs": "nixpkgs", 213 196 "pre-commit-hooks": "pre-commit-hooks", 214 197 "systems": "systems", 215 198 "xdph": "xdph" 216 199 }, 217 200 "locked": { 218 - "lastModified": 1764802770, 219 - "narHash": "sha256-Rncrk4730flMTSczFG/MQFRgYcTaSdsJr3DGDlKEG48=", 201 + "lastModified": 1767388857, 202 + "narHash": "sha256-h70Tlpce8NEkwWqw/DDpeOKPzPyfq7P2t0HtGM5Z3Cw=", 220 203 "owner": "hyprwm", 221 204 "repo": "Hyprland", 222 - "rev": "386376400119dd46a767c9f8c8791fd22c7b6e61", 205 + "rev": "ab1d80f3d6aebd57a0971b53a1993b1c1dfe0b09", 223 206 "type": "github" 224 207 }, 225 208 "original": { 226 209 "owner": "hyprwm", 227 - "ref": "v0.52.2", 210 + "ref": "v0.53.1", 228 211 "repo": "Hyprland", 229 212 "type": "github" 230 213 } ··· 248 231 "hyprland", 249 232 "hyprutils" 250 233 ], 251 - "hyprwayland-scanner": "hyprwayland-scanner", 234 + "hyprwayland-scanner": [ 235 + "hyprland", 236 + "hyprwayland-scanner" 237 + ], 252 238 "nixpkgs": [ 253 239 "hyprland", 254 240 "nixpkgs" ··· 259 245 ] 260 246 }, 261 247 "locked": { 262 - "lastModified": 1764801417, 263 - "narHash": "sha256-9RBShG2FNfBWz4Y+O/w86Iwmgu+JrNkhjsY4fsGpRtw=", 248 + "lastModified": 1765643131, 249 + "narHash": "sha256-CCGohW5EBIRy4B7vTyBMqPgsNcaNenVad/wszfddET0=", 264 250 "owner": "hyprwm", 265 251 "repo": "hyprland-guiutils", 266 - "rev": "fff53f22dc3a5926221a00028a85acb18fb65799", 252 + "rev": "e50ae912813bdfa8372d62daf454f48d6df02297", 267 253 "type": "github" 268 254 }, 269 255 "original": { ··· 284 270 ] 285 271 }, 286 272 "locked": { 287 - "lastModified": 1759610243, 288 - "narHash": "sha256-+KEVnKBe8wz+a6dTLq8YDcF3UrhQElwsYJaVaHXJtoI=", 273 + "lastModified": 1765214753, 274 + "narHash": "sha256-P9zdGXOzToJJgu5sVjv7oeOGPIIwrd9hAUAP3PsmBBs=", 289 275 "owner": "hyprwm", 290 276 "repo": "hyprland-protocols", 291 - "rev": "bd153e76f751f150a09328dbdeb5e4fab9d23622", 277 + "rev": "3f3860b869014c00e8b9e0528c7b4ddc335c21ab", 292 278 "type": "github" 293 279 }, 294 280 "original": { ··· 390 376 ] 391 377 }, 392 378 "locked": { 393 - "lastModified": 1764637132, 394 - "narHash": "sha256-vSyiKCzSY48kA3v39GFu6qgRfigjKCU/9k1KTK475gg=", 379 + "lastModified": 1766160771, 380 + "narHash": "sha256-roINUGikWRqqgKrD4iotKbGj3ZKJl3hjMz5l/SyKrHw=", 395 381 "owner": "hyprwm", 396 382 "repo": "hyprutils", 397 - "rev": "2f2413801beee37303913fc3c964bbe92252a963", 383 + "rev": "5ac060bfcf2f12b3a6381156ebbc13826a05b09f", 398 384 "type": "github" 399 385 }, 400 386 "original": { ··· 407 393 "inputs": { 408 394 "nixpkgs": [ 409 395 "hyprland", 410 - "hyprland-guiutils", 411 396 "nixpkgs" 412 397 ], 413 398 "systems": [ 414 399 "hyprland", 415 - "hyprland-guiutils", 416 400 "systems" 417 401 ] 418 402 }, ··· 430 414 "type": "github" 431 415 } 432 416 }, 433 - "hyprwayland-scanner_2": { 417 + "hyprwire": { 434 418 "inputs": { 419 + "hyprutils": [ 420 + "hyprland", 421 + "hyprutils" 422 + ], 435 423 "nixpkgs": [ 436 424 "hyprland", 437 425 "nixpkgs" ··· 442 430 ] 443 431 }, 444 432 "locked": { 445 - "lastModified": 1763640274, 446 - "narHash": "sha256-Uan1Nl9i4TF/kyFoHnTq1bd/rsWh4GAK/9/jDqLbY5A=", 433 + "lastModified": 1766253200, 434 + "narHash": "sha256-26qPwrd3od+xoYVywSB7hC2cz9ivN46VPLlrsXyGxvE=", 447 435 "owner": "hyprwm", 448 - "repo": "hyprwayland-scanner", 449 - "rev": "f6cf414ca0e16a4d30198fd670ec86df3c89f671", 436 + "repo": "hyprwire", 437 + "rev": "1079777525b30a947c8d657fac158e00ae85de9d", 450 438 "type": "github" 451 439 }, 452 440 "original": { 453 441 "owner": "hyprwm", 454 - "repo": "hyprwayland-scanner", 442 + "repo": "hyprwire", 455 443 "type": "github" 456 444 } 457 445 }, ··· 474 462 "type": "github" 475 463 } 476 464 }, 477 - "nix-github-actions": { 478 - "inputs": { 479 - "nixpkgs": [ 480 - "pyprland", 481 - "poetry2nix", 482 - "nixpkgs" 483 - ] 484 - }, 485 - "locked": { 486 - "lastModified": 1703863825, 487 - "narHash": "sha256-rXwqjtwiGKJheXB43ybM8NwWB8rO2dSRrEqes0S7F5Y=", 488 - "owner": "nix-community", 489 - "repo": "nix-github-actions", 490 - "rev": "5163432afc817cf8bd1f031418d1869e4c9d5547", 491 - "type": "github" 492 - }, 493 - "original": { 494 - "owner": "nix-community", 495 - "repo": "nix-github-actions", 496 - "type": "github" 497 - } 498 - }, 499 465 "nixpkgs": { 500 466 "locked": { 501 - "lastModified": 1764667669, 502 - "narHash": "sha256-7WUCZfmqLAssbDqwg9cUDAXrSoXN79eEEq17qhTNM/Y=", 467 + "lastModified": 1766070988, 468 + "narHash": "sha256-G/WVghka6c4bAzMhTwT2vjLccg/awmHkdKSd2JrycLc=", 503 469 "owner": "NixOS", 504 470 "repo": "nixpkgs", 505 - "rev": "418468ac9527e799809c900eda37cbff999199b6", 471 + "rev": "c6245e83d836d0433170a16eb185cefe0572f8b8", 506 472 "type": "github" 507 473 }, 508 474 "original": { ··· 529 495 }, 530 496 "nixpkgs_2": { 531 497 "locked": { 532 - "lastModified": 1766651565, 533 - "narHash": "sha256-QEhk0eXgyIqTpJ/ehZKg9IKS7EtlWxF3N7DXy42zPfU=", 498 + "lastModified": 1767379071, 499 + "narHash": "sha256-EgE0pxsrW9jp9YFMkHL9JMXxcqi/OoumPJYwf+Okucw=", 534 500 "owner": "NixOS", 535 501 "repo": "nixpkgs", 536 - "rev": "3e2499d5539c16d0d173ba53552a4ff8547f4539", 502 + "rev": "fb7944c166a3b630f177938e478f0378e64ce108", 537 503 "type": "github" 538 504 }, 539 505 "original": { ··· 575 541 "type": "github" 576 542 } 577 543 }, 578 - "poetry2nix": { 579 - "inputs": { 580 - "flake-utils": "flake-utils", 581 - "nix-github-actions": "nix-github-actions", 582 - "nixpkgs": [ 583 - "pyprland", 584 - "nixpkgs" 585 - ], 586 - "systems": "systems_3", 587 - "treefmt-nix": "treefmt-nix" 588 - }, 589 - "locked": { 590 - "lastModified": 1718881664, 591 - "narHash": "sha256-ZULRSiURptz6Da+yECzQDS30IIEAEOYyIAv5rs+p9Fg=", 592 - "owner": "nix-community", 593 - "repo": "poetry2nix", 594 - "rev": "5392004e2b350afda0dd5e92ccd53ab9b1261947", 595 - "type": "github" 596 - }, 597 - "original": { 598 - "owner": "nix-community", 599 - "repo": "poetry2nix", 600 - "type": "github" 601 - } 602 - }, 603 544 "pre-commit-hooks": { 604 545 "inputs": { 605 546 "flake-compat": "flake-compat", ··· 610 551 ] 611 552 }, 612 553 "locked": { 613 - "lastModified": 1763988335, 614 - "narHash": "sha256-QlcnByMc8KBjpU37rbq5iP7Cp97HvjRP0ucfdh+M4Qc=", 554 + "lastModified": 1765911976, 555 + "narHash": "sha256-t3T/xm8zstHRLx+pIHxVpQTiySbKqcQbK+r+01XVKc0=", 615 556 "owner": "cachix", 616 557 "repo": "git-hooks.nix", 617 - "rev": "50b9238891e388c9fdc6a5c49e49c42533a1b5ce", 558 + "rev": "b68b780b69702a090c8bb1b973bab13756cc7a27", 618 559 "type": "github" 619 560 }, 620 561 "original": { ··· 627 568 "inputs": { 628 569 "flake-compat": "flake-compat_2", 629 570 "nixpkgs": "nixpkgs_3", 630 - "poetry2nix": "poetry2nix", 631 - "systems": "systems_4" 571 + "pyproject-nix": "pyproject-nix", 572 + "systems": "systems_2" 632 573 }, 633 574 "locked": { 634 - "lastModified": 1764799142, 635 - "narHash": "sha256-dh5F7odsmejflH4zdaY0hX58of+TwmgBgbUNErq52X4=", 575 + "lastModified": 1767543672, 576 + "narHash": "sha256-B40zfGUOZ9x+6RFVj+BoZ4cj8GWx1FHcRZt0xkmRwn4=", 636 577 "owner": "hyprland-community", 637 578 "repo": "pyprland", 638 - "rev": "e82637d73207abd634a96ea21fa937455374d131", 579 + "rev": "a05c189f2c2e535f5f7374e7d7212d476fd4b02f", 639 580 "type": "github" 640 581 }, 641 582 "original": { 642 583 "owner": "hyprland-community", 584 + "ref": "2.6.0", 643 585 "repo": "pyprland", 644 - "rev": "e82637d73207abd634a96ea21fa937455374d131", 586 + "type": "github" 587 + } 588 + }, 589 + "pyproject-nix": { 590 + "inputs": { 591 + "nixpkgs": [ 592 + "pyprland", 593 + "nixpkgs" 594 + ] 595 + }, 596 + "locked": { 597 + "lastModified": 1764134915, 598 + "narHash": "sha256-xaKvtPx6YAnA3HQVp5LwyYG1MaN4LLehpQI8xEdBvBY=", 599 + "owner": "nix-community", 600 + "repo": "pyproject.nix", 601 + "rev": "2c8df1383b32e5443c921f61224b198a2282a657", 602 + "type": "github" 603 + }, 604 + "original": { 605 + "owner": "nix-community", 606 + "repo": "pyproject.nix", 645 607 "type": "github" 646 608 } 647 609 }, ··· 671 633 } 672 634 }, 673 635 "systems_2": { 674 - "locked": { 675 - "lastModified": 1681028828, 676 - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", 677 - "owner": "nix-systems", 678 - "repo": "default", 679 - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", 680 - "type": "github" 681 - }, 682 - "original": { 683 - "owner": "nix-systems", 684 - "repo": "default", 685 - "type": "github" 686 - } 687 - }, 688 - "systems_3": { 689 - "locked": { 690 - "lastModified": 1681028828, 691 - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", 692 - "owner": "nix-systems", 693 - "repo": "default", 694 - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", 695 - "type": "github" 696 - }, 697 - "original": { 698 - "id": "systems", 699 - "type": "indirect" 700 - } 701 - }, 702 - "systems_4": { 703 636 "locked": { 704 637 "lastModified": 1689347949, 705 638 "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", ··· 714 647 "type": "github" 715 648 } 716 649 }, 717 - "systems_5": { 650 + "systems_3": { 718 651 "locked": { 719 652 "lastModified": 1689347949, 720 653 "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", ··· 729 662 "type": "github" 730 663 } 731 664 }, 732 - "treefmt-nix": { 733 - "inputs": { 734 - "nixpkgs": [ 735 - "pyprland", 736 - "poetry2nix", 737 - "nixpkgs" 738 - ] 739 - }, 740 - "locked": { 741 - "lastModified": 1718522839, 742 - "narHash": "sha256-ULzoKzEaBOiLRtjeY3YoGFJMwWSKRYOic6VNw2UyTls=", 743 - "owner": "numtide", 744 - "repo": "treefmt-nix", 745 - "rev": "68eb1dc333ce82d0ab0c0357363ea17c31ea1f81", 746 - "type": "github" 747 - }, 748 - "original": { 749 - "owner": "numtide", 750 - "repo": "treefmt-nix", 751 - "type": "github" 752 - } 753 - }, 754 665 "wiremix": { 755 666 "inputs": { 756 667 "nixpkgs": "nixpkgs_4", 757 - "systems": "systems_5" 668 + "systems": "systems_3" 758 669 }, 759 670 "locked": { 760 671 "lastModified": 1763004074,
+1 -1
flake.nix
··· 4 4 nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; 5 5 hyprland.url = "github:hyprwm/Hyprland/v0.53.1"; 6 6 nix-colors.url = "github:misterio77/nix-colors"; 7 - pyprland.url = "github:hyprland-community/pyprland/e82637d73207abd634a96ea21fa937455374d131"; 7 + pyprland.url = "github:hyprland-community/pyprland/2.6.0"; 8 8 wiremix.url = "github:tsowell/wiremix"; 9 9 home-manager = { 10 10 url = "github:nix-community/home-manager";
-10
modules/home-manager/hyprland/bindings.nix
··· 17 17 # End active session 18 18 "SUPER, ESCAPE, exec, hyprlock" 19 19 "SUPER SHIFT, ESCAPE, exec, ~/.local/share/hyperdeepnix/bin/powermenu.sh" 20 - # "SUPER CTRL, ESCAPE, exec, reboot" 21 - # "SUPER SHIFT CTRL, ESCAPE, exec, systemctl poweroff" 22 20 "SUPER, K, exec, ~/.local/share/hyperdeepnix/bin/hyperdeepnix-show-keybindings" 23 21 24 22 # Control tiling ··· 85 83 "SUPER ALT, left, movewindoworgroup, l" 86 84 "SUPER ALT, right, movewindoworgroup, r" 87 85 88 - # Scratchpad binds 89 - "SUPER, grave, exec, pypr toggle term" 90 - "SUPER, T, exec, pypr toggle task" 91 - "SUPER, Q, exec, pypr toggle timr" 92 - 93 - # More profiles 94 - "SUPER SHIFT, B, exec, $browser -P Itancan" 95 - 96 86 # Screenshots 97 87 ", PRINT, exec, hyprshot -m region -o ~/Pictures/Screenshots" 98 88 "SHIFT, PRINT, exec, hyprshot -m window -o ~/Pictures/Screenshots"
+4 -11
modules/home-manager/hyprland/windows.nix
··· 3 3 }: 4 4 { 5 5 wayland.windowManager.hyprland.settings = { 6 - windowrule = [ 6 + windowrule = cfg.windows_rules ++ [ 7 7 # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more 8 8 "match:class *, suppress_event maximize" 9 9 10 - 11 10 # Settings management 12 11 "match:class ^(org.pulseaudio.pavucontrol|blueberry.py)$, float on" 13 12 14 13 # Just dash of transparency 15 14 "match:class *, opacity 0.97 0.9" 16 15 17 - # Opacity for scratchpad 18 - "match:class ^(com.markd.termscratch|com.markd.taskscratch|com.markd.timrscratch)$, opacity 0.8 0.8" 19 - 20 - # Zed editor rules 21 - "match:class ^(dev.zed.Zed)$, group set" 22 - 23 16 # Image viewer rules 24 17 "match:class swayimg, float on" 25 18 ··· 27 20 #"nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0" 28 21 29 22 # Float in the middle for clipse clipboard manager 30 - "match:class ^(com.markd.clipse|com.markd.nmtui)$, float on" 31 - "match:class ^(com.markd.clipse|com.markd.nmtui)$, size 1433 744" 32 - "match:class ^(com.markd.clipse|com.markd.nmtui)$, stay_focused on" 23 + "match:class ^(com.markd.clipse)$, float on" 24 + "match:class ^(com.markd.clipse)$, size 1433 744" 25 + "match:class ^(com.markd.clipse)$, stay_focused on" 33 26 ]; 34 27 35 28 layerrule = [
+3 -24
modules/home-manager/pyprland.nix
··· 2 2 config, 3 3 pkgs, 4 4 ... 5 - }: { 5 + }: 6 + { 6 7 home.file = { 7 8 ".config/hypr/pyprland.toml" = { 8 - text = '' 9 - [pyprland] 10 - plugins = [ "scratchpads" ] 11 - 12 - [scratchpads.term] 13 - command = "kitty --title=scratchpad --class=com.markd.termscratch bash" 14 - class = "com.markd.termscratch" 15 - size = "80% 40%" 16 - animation = "fromTop" 17 - 18 - [scratchpads.task] 19 - command = "kitty --title=scratchpad --class=com.markd.taskscratch taskwarrior-tui" 20 - class = "com.markd.taskscratch" 21 - size = "50% 90%" 22 - animation = "fromRight" 23 - 24 - [scratchpads.timr] 25 - command = "kitty --title=scratchpad --class=com.markd.timrscratch timr-tui --notification on --blink on" 26 - class = "com.markd.timrscratch" 27 - size = "40% 40%" 28 - position = "1% 3%" 29 - animation = "fromLeft" 30 - ''; 9 + text = config.hyperdeepnix.pyprland_config; 31 10 }; 32 11 }; 33 12 }

History

7 rounds 1 comment
sign up or login to add to the discussion
1 commit
expand
Working on tidying up the config.
expand 0 comments
pull request successfully merged
1 commit
expand
Working on tidying up the config.
expand 1 comment

Some very silly typos here. At least I'm learning how jujutsu works!

1 commit
expand
Working on tidying up the config.
expand 0 comments
1 commit
expand
Working on tidying up the config.
expand 0 comments
1 commit
expand
Working on tidying up the config.
expand 0 comments
1 commit
expand
Working on tidying up the config.
expand 0 comments
1 commit
expand
Working on tidying up the config.
expand 0 comments