From d22801168faca98b36c46ee75936f1c2d29c67ee Mon Sep 17 00:00:00 2001 From: cnst Date: Mon, 20 Oct 2025 18:16:59 +0200 Subject: [PATCH] feat(hypr): add swapping window bind --- flake.lock | 102 +++++++++---------- modules/nixos/programs/hyprland/keybinds.nix | 34 ++++--- modules/nixos/services/kanata/default.nix | 6 +- 3 files changed, 72 insertions(+), 70 deletions(-) diff --git a/flake.lock b/flake.lock index bd54bcab..30eaa4c9 100644 --- a/flake.lock +++ b/flake.lock @@ -8,11 +8,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1754433428, - "narHash": "sha256-NA/FT2hVhKDftbHSwVnoRTFhes62+7dxZbxj5Gxvghs=", + "lastModified": 1760836749, + "narHash": "sha256-wyT7Pl6tMFbFrs8Lk/TlEs81N6L+VSybPfiIgzU8lbQ=", "owner": "ryantm", "repo": "agenix", - "rev": "9edb1787864c4f59ae5074ad498b6272b3ec308d", + "rev": "2f0f812f69f3eb4140157fe15e12739adf82e32a", "type": "github" }, "original": { @@ -83,11 +83,11 @@ ] }, "locked": { - "lastModified": 1759499898, - "narHash": "sha256-UNzYHLWfkSzLHDep5Ckb5tXc0fdxwPIrT+MY4kpQttM=", + "lastModified": 1760101617, + "narHash": "sha256-8jf/3ZCi+B7zYpIyV04+3wm72BD7Z801IlOzsOACR7I=", "owner": "hyprwm", "repo": "aquamarine", - "rev": "655e067f96fd44b3f5685e17f566b0e4d535d798", + "rev": "1826a9923881320306231b1c2090379ebf9fa4f8", "type": "github" }, "original": { @@ -212,11 +212,11 @@ "rust-analyzer-src": "rust-analyzer-src" }, "locked": { - "lastModified": 1760769695, - "narHash": "sha256-eU4HnBCVuBg+c5UninnTh65VrbkkQ8HOjCaC3NDZLYM=", + "lastModified": 1760942671, + "narHash": "sha256-LyO+TwzM7C8TJJkgbqC+BMnPiJX8XHQJmssTWS2Ze9k=", "owner": "nix-community", "repo": "fenix", - "rev": "f4cb0863b5d772b7b378ea456ac86c359303dfa7", + "rev": "b5e669194d67dbd4c659c40bb67476d9285b9a13", "type": "github" }, "original": { @@ -332,11 +332,11 @@ ] }, "locked": { - "lastModified": 1759362264, - "narHash": "sha256-wfG0S7pltlYyZTM+qqlhJ7GMw2fTF4mLKCIVhLii/4M=", + "lastModified": 1760948891, + "narHash": "sha256-TmWcdiUUaWk8J4lpjzu4gCGxWY6/Ok7mOK4fIFfBuU4=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "758cf7296bee11f1706a574c77d072b8a7baa881", + "rev": "864599284fc7c0ba6357ed89ed5e2cd5040f0c04", "type": "github" }, "original": { @@ -571,11 +571,11 @@ }, "hardware": { "locked": { - "lastModified": 1760106635, - "narHash": "sha256-2GoxVaKWTHBxRoeUYSjv0AfSOx4qw5CWSFz2b+VolKU=", + "lastModified": 1760958188, + "narHash": "sha256-2m1S4jl+GEDtlt2QqeHil8Ny456dcGSKJAM7q3j/BFU=", "owner": "nixos", "repo": "nixos-hardware", - "rev": "9ed85f8afebf2b7478f25db0a98d0e782c0ed903", + "rev": "d6645c340ef7d821602fd2cd199e8d1eed10afbc", "type": "github" }, "original": { @@ -590,11 +590,11 @@ "rust-overlay": "rust-overlay_2" }, "locked": { - "lastModified": 1760540014, - "narHash": "sha256-aRHbYRS0xekHabEMer6YsHsYHbEFZpMXgUP0Q6GEGSU=", + "lastModified": 1760970177, + "narHash": "sha256-wV9ecNQTN1UDg2YPZGAZAU+E/KnO8eECsCbP1mT0PC8=", "owner": "helix-editor", "repo": "helix", - "rev": "f6f8634eb07f35f02bd2881666925a90513f6f3b", + "rev": "2abefacad1cc18010bcc29093642e0ec082fe4ae", "type": "github" }, "original": { @@ -610,11 +610,11 @@ ] }, "locked": { - "lastModified": 1760662441, - "narHash": "sha256-mlDqR1Ntgs9uYYEAUR1IhamKBO0lxoNS4zGLzEZaY0A=", + "lastModified": 1760973044, + "narHash": "sha256-Ij3H0qkzZ66X9934kH0JYoI3b/F2vamrDD9abT5Pi70=", "owner": "nix-community", "repo": "home-manager", - "rev": "722792af097dff5790f1a66d271a47759f477755", + "rev": "c3a5e5f0df6f53aa4b51adc0107796cc407c641c", "type": "github" }, "original": { @@ -710,11 +710,11 @@ ] }, "locked": { - "lastModified": 1759490292, - "narHash": "sha256-T6iWzDOXp8Wv0KQOCTHpBcmAOdHJ6zc/l9xaztW6Ivc=", + "lastModified": 1760445448, + "narHash": "sha256-fXGjL6dw31FPFRrmIemzGiNSlfvEJTJNsmadZi+qNhI=", "owner": "hyprwm", "repo": "hyprgraphics", - "rev": "9431db625cd9bb66ac55525479dce694101d6d7a", + "rev": "50fb9f069219f338a11cf0bcccb9e58357d67757", "type": "github" }, "original": { @@ -803,11 +803,11 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1760787273, - "narHash": "sha256-yIM3sTR6KN+ZmzX0bxYw/4PKZTbPliDTZO9yJXaqOzA=", + "lastModified": 1760959370, + "narHash": "sha256-tqZWNOZg9P1gpWiHNGtZTTb/UK+2E5LFmFpfEIArTqE=", "owner": "hyprwm", "repo": "hyprland", - "rev": "6607c6440d4e3e7313e421f6258b52e6b7982170", + "rev": "46dab01bcc47b2e29f36cd4d35d04091e4134a67", "type": "github" }, "original": { @@ -874,11 +874,11 @@ ] }, "locked": { - "lastModified": 1749046714, - "narHash": "sha256-kymV5FMnddYGI+UjwIw8ceDjdeg7ToDVjbHCvUlhn14=", + "lastModified": 1759610243, + "narHash": "sha256-+KEVnKBe8wz+a6dTLq8YDcF3UrhQElwsYJaVaHXJtoI=", "owner": "hyprwm", "repo": "hyprland-protocols", - "rev": "613878cb6f459c5e323aaafe1e6f388ac8a36330", + "rev": "bd153e76f751f150a09328dbdeb5e4fab9d23622", "type": "github" }, "original": { @@ -1278,11 +1278,11 @@ ] }, "locked": { - "lastModified": 1760579393, - "narHash": "sha256-YuXbuaJ/2EZ1FePhz1eTyo/b+kpiEmw4lj6wX0u0Q/0=", + "lastModified": 1760942919, + "narHash": "sha256-/CoMM0vhhihs5/9QLXgL/kkyALBa9XyVTSkN9Htxtjc=", "owner": "fufexan", "repo": "nix-gaming", - "rev": "7d002241668a738df3973a6c07ef5d79e5508b24", + "rev": "6fa7d37d878cceeaa3c88e2606dbadf15c8022ad", "type": "github" }, "original": { @@ -1411,11 +1411,11 @@ }, "nixpkgs_6": { "locked": { - "lastModified": 1759381078, - "narHash": "sha256-gTrEEp5gEspIcCOx9PD8kMaF1iEmfBcTbO0Jag2QhQs=", + "lastModified": 1760878510, + "narHash": "sha256-K5Osef2qexezUfs0alLvZ7nQFTGS9DL2oTVsIXsqLgs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "7df7ff7d8e00218376575f0acdcc5d66741351ee", + "rev": "5e2a59a5b1a82f89f2c7e598302a9cacebb72a67", "type": "github" }, "original": { @@ -1443,11 +1443,11 @@ }, "nixpkgs_8": { "locked": { - "lastModified": 1760524057, - "narHash": "sha256-EVAqOteLBFmd7pKkb0+FIUyzTF61VKi7YmvP1tw4nEw=", + "lastModified": 1760878510, + "narHash": "sha256-K5Osef2qexezUfs0alLvZ7nQFTGS9DL2oTVsIXsqLgs=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "544961dfcce86422ba200ed9a0b00dd4b1486ec5", + "rev": "5e2a59a5b1a82f89f2c7e598302a9cacebb72a67", "type": "github" }, "original": { @@ -1505,11 +1505,11 @@ ] }, "locked": { - "lastModified": 1758108966, - "narHash": "sha256-ytw7ROXaWZ7OfwHrQ9xvjpUWeGVm86pwnEd1QhzawIo=", + "lastModified": 1760663237, + "narHash": "sha256-BflA6U4AM1bzuRMR8QqzPXqh8sWVCNDzOdsxXEguJIc=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "54df955a695a84cd47d4a43e08e1feaf90b1fd9b", + "rev": "ca5b894d3e3e151ffc1db040b6ce4dcc75d31c37", "type": "github" }, "original": { @@ -1626,11 +1626,11 @@ "rust-analyzer-src": { "flake": false, "locked": { - "lastModified": 1760714286, - "narHash": "sha256-WOt9KquZ1BXjMcVyHpMeliqNRL6BfRvBHFGfRDriDx4=", + "lastModified": 1760898410, + "narHash": "sha256-bTMk3D0V+6t3qOjXUfWSwjztEuLoAsgtAtqp6/wwfOc=", "owner": "rust-lang", "repo": "rust-analyzer", - "rev": "1e20331e42449dfc0b44bce84147a06772d045d7", + "rev": "c7e7eb9dc42df01016d795b0fd3a9ae87b7ada1c", "type": "github" }, "original": { @@ -1815,11 +1815,11 @@ ] }, "locked": { - "lastModified": 1760120816, - "narHash": "sha256-gq9rdocpmRZCwLS5vsHozwB6b5nrOBDNc2kkEaTXHfg=", + "lastModified": 1760945191, + "narHash": "sha256-ZRVs8UqikBa4Ki3X4KCnMBtBW0ux1DaT35tgsnB1jM4=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "761ae7aff00907b607125b2f57338b74177697ed", + "rev": "f56b1934f5f8fcab8deb5d38d42fd692632b47c2", "type": "github" }, "original": { @@ -1903,11 +1903,11 @@ ] }, "locked": { - "lastModified": 1755354946, - "narHash": "sha256-zdov5f/GcoLQc9qYIS1dUTqtJMeDqmBmo59PAxze6e4=", + "lastModified": 1760713634, + "narHash": "sha256-5HXelmz2x/uO26lvW7MudnadbAfoBnve4tRBiDVLtOM=", "owner": "hyprwm", "repo": "xdg-desktop-portal-hyprland", - "rev": "a10726d6a8d0ef1a0c645378f983b6278c42eaa0", + "rev": "753bbbdf6a052994da94062e5b753288cef28dfb", "type": "github" }, "original": { diff --git a/modules/nixos/programs/hyprland/keybinds.nix b/modules/nixos/programs/hyprland/keybinds.nix index edb29641..d669a2f9 100644 --- a/modules/nixos/programs/hyprland/keybinds.nix +++ b/modules/nixos/programs/hyprland/keybinds.nix @@ -49,20 +49,6 @@ in "$mod, P, pseudo," "$mod, J, togglesplit," "$mod, C, exec, hyprctl dispatch exec copyq toggle" - "$mod, left, movefocus, l" - "$mod, right, movefocus, r" - "$mod, up, movefocus, u" - "$mod, down, movefocus, d" - "$mod, 1, workspace, 1" - "$mod, 2, workspace, 2" - "$mod, 3, workspace, 3" - "$mod, 4, workspace, 4" - "$mod, 5, workspace, 5" - "$mod, 6, workspace, 6" - "$mod, 7, workspace, 7" - "$mod, 8, workspace, 8" - "$mod, 9, workspace, 9" - "$mod, 0, workspace, 10" "$mod SHIFT, 1, movetoworkspace, 1" "$mod SHIFT, 2, movetoworkspace, 2" "$mod SHIFT, 3, movetoworkspace, 3" @@ -75,6 +61,26 @@ in "$mod SHIFT, 0, movetoworkspace, 10" "CTRL SHIFT, Escape, exec, ${runOnce "resources"}" + "$mod, 1, workspace, 1" + "$mod, 2, workspace, 2" + "$mod, 3, workspace, 3" + "$mod, 4, workspace, 4" + "$mod, 5, workspace, 5" + "$mod, 6, workspace, 6" + "$mod, 7, workspace, 7" + "$mod, 8, workspace, 8" + "$mod, 9, workspace, 9" + "$mod, 0, workspace, 10" + + "$mod, left, movefocus, l" + "$mod, right, movefocus, r" + "$mod, up, movefocus, u" + "$mod, down, movefocus, d" + "$mod CTRL, left, swapwindow, l" + "$mod CTRL, right, swapwindow, r" + "$mod CTRL, up, swapwindow, u" + "$mod CTRL, down, swapwindow, d" + ",XF86AudioLowerVolume, exec, volume-control.sh --dec" ",XF86AudioRaiseVolume, exec, volume-control.sh --inc" ",XF86AudioMute, exec, volume-control.sh --toggle" diff --git a/modules/nixos/services/kanata/default.nix b/modules/nixos/services/kanata/default.nix index 260a5a9d..cb1aa49e 100644 --- a/modules/nixos/services/kanata/default.nix +++ b/modules/nixos/services/kanata/default.nix @@ -16,14 +16,10 @@ in services.kanata = { enable = true; package = pkgs.kanata-with-cmd; - keyboards.hhkbse = { + keyboards.default = { extraDefCfg = '' process-unmapped-keys yes ''; - devices = [ - "/dev/input/by-id/usb-PFU_Limited_HHKB-Hybrid-event-kbd" - "/dev/input/event2" - ]; config = builtins.readFile (./. + "/hhkbse.kbd"); }; };