From e5d8b9f99117f0f7abb9c1c78cb529e0a1378c93 Mon Sep 17 00:00:00 2001 From: adikro Date: Sun, 25 Jan 2026 22:26:42 +0100 Subject: niri bind changes --- flake.lock | 24 ++++++++++++------------ hm/env/niri/binds.nix | 48 +++++++++++++++++++++--------------------------- os/core/users.nix | 15 ++++++++++++--- 3 files changed, 45 insertions(+), 42 deletions(-) diff --git a/flake.lock b/flake.lock index 5530000..3d836f7 100644 --- a/flake.lock +++ b/flake.lock @@ -237,11 +237,11 @@ "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1769341564, - "narHash": "sha256-GR5luiDUMEZgfp5sl2hBsnR3Sv69UFwLlyDUZ26jA20=", + "lastModified": 1769366931, + "narHash": "sha256-OMQ+aRJdx1x+u3JG/Zlj1YWeMPmJjKMyy6OMf3M7U78=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "23264c0565ec7a4b1bd0dfe5caa4944c2a00dfdd", + "rev": "419d7b73430a1f3de344a85bed50e770227f0b77", "type": "github" }, "original": { @@ -270,11 +270,11 @@ "niri-unstable": { "flake": false, "locked": { - "lastModified": 1769337195, - "narHash": "sha256-pPKBlYD2QFCwLlCR+wJhwGDsDfeXXHMuf1dGCzG0plg=", + "lastModified": 1769363347, + "narHash": "sha256-fqaPwglujRdIXArV6a/0SG4otGPlvFGqFJo5EOAKnX0=", "owner": "YaLTeR", "repo": "niri", - "rev": "e11abe554fb05242462b8b5b2b3cf64ea45f0fa5", + "rev": "5ddcf195dd6cb24cf67c24d4622ef0a4dca9ed12", "type": "github" }, "original": { @@ -398,11 +398,11 @@ ] }, "locked": { - "lastModified": 1769354239, - "narHash": "sha256-MhbptUY7ancteazxhCR+cFZYbitaX5CR+F86XHoAJZM=", + "lastModified": 1769368461, + "narHash": "sha256-6J98zDiJE/Vb3hKHaMUdlMd7c2Wyo3/b76O1BAR3LLg=", "owner": "nix-community", "repo": "NUR", - "rev": "1cd64d78f51a4f341ee33e718699e6b74437e8e0", + "rev": "5b138f51cc64a5133accf0a48ea92f128cbd66b8", "type": "github" }, "original": { @@ -595,11 +595,11 @@ "xwayland-satellite-unstable": { "flake": false, "locked": { - "lastModified": 1769279212, - "narHash": "sha256-LAd6DYp6bbnQqtzMm62BE/0IMy67A4CgyYVi4xvyD6s=", + "lastModified": 1769356222, + "narHash": "sha256-Q0BVubV9ZnmLs506EhBSPglM+YJK56wsQNbeecvWPUo=", "owner": "Supreeeme", "repo": "xwayland-satellite", - "rev": "3af3e3ab78d0eb96fb9b5161693811e050b90991", + "rev": "cf14278b92b0a91d01587f09b4b00ea655ae24e6", "type": "github" }, "original": { diff --git a/hm/env/niri/binds.nix b/hm/env/niri/binds.nix index 3c3c00e..9ede74e 100644 --- a/hm/env/niri/binds.nix +++ b/hm/env/niri/binds.nix @@ -16,43 +16,52 @@ in }; "Mod+Slash".action = show-hotkey-overlay; - # Audio XF86AudioRaiseVolume.action = playerctl "volume" "0.03+"; XF86AudioLowerVolume.action = playerctl "volume" "0.03-"; - # microphone - XF86AudioMute.action = spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle"; - # # headphones - "Mod+XF86AudioMute".action = spawn "sh" "-c" '' + XF86AudioMute.action = spawn "sh" "-c" '' wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle && \ wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle ''; + XF86Tools.action = spawn "sh" "-c" '' + wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle && \ + wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle + ''; + + "Mod+WheelScrollDown".action = focus-column-right; + "Mod+WheelScrollUp".action = focus-column-left; + "Mod+Shift+WheelScrollDown".action = move-column-right; + "Mod+Shift+WheelScrollUp".action = move-column-left; + + "Super+WheelScrollDown".action = focus-workspace-down; + "Super+WheelScrollUp".action = focus-workspace-up; + "Super+Shift+WheelScrollDown".action = move-window-down-or-to-workspace-down; + "Super+Shift+WheelScrollUp".action = move-window-up-or-to-workspace-up; + + XF86Launch5.action = consume-or-expel-window-right; + XF86Launch6.action = consume-or-expel-window-left; + XF86Launch7.action = switch-preset-column-width; "Super+Shift+L".action = spawn "swaylock" "-f"; - # Media keys XF86AudioPlay.action = playerctl "play-pause"; XF86AudioPrev.action = playerctl "previous"; XF86AudioNext.action = playerctl "next"; - # Column sizing "Mod+Minus".action = set-column-width "-10%"; "Mod+Equal".action = set-column-width "+10%"; - # Finer height adjustments when in column with other windows. "Mod+Shift+Minus".action = set-window-height "-10%"; "Mod+Shift+Equal".action = set-window-height "+10%"; - # Misc "Mod+Shift+V".action = toggle-window-floating; - "Mod+Shift+P".action = power-off-monitors; "Mod+W".action = toggle-column-tabbed-display; - "Mod+S" = { + "Mod+XF86Launch7" = { action = spawn "sh" "-c" '' grim -g "$(slurp)" - | tee ${ss}.png | wl-copy ''; repeat = false; }; - "Mod+Shift+S" = { + "Mod+Shift+XF86Launch7" = { action = spawn "sh" "-c" '' grim -g "$(slurp)" ${ss}.png satty --filename "${ss}.png" --output-filename "${ss}-edited.png" @@ -64,24 +73,12 @@ in cliphist list | fuzzel --dmenu | cliphist decode | wl-copy ''; - # --- System / General --- "Mod+Return".action = spawn "foot"; "Mod+D".action = spawn "fuzzel"; "Mod+C".action = spawn "qalculate-gtk"; "Mod+BracketLeft".action = consume-or-expel-window-left; "Mod+BracketRight".action = consume-or-expel-window-right; - # "XF86Tools" = { - # action = spawn "sh" "-c" '' - # pkill -9 firefox || true - # swaylock -f - # wpctl set-mute @DEFAULT_AUDIO_SINK@ 1 - # wpctl set-mute @DEFAULT_AUDIO_SOURCE@ 1 - # niri msg action power-off-monitors - # ''; - # repeat = false; - # }; - "Mod+R".action = switch-preset-column-width; "Mod+Shift+R".action = reset-window-height; "Mod+F".action = maximize-column; @@ -92,19 +89,16 @@ in "Mod+Shift+E".action = quit; - # --- Window Navigation (Focus) --- "Mod+H".action = focus-column-left; "Mod+L".action = focus-column-right; "Mod+J".action = focus-workspace-down; "Mod+K".action = focus-workspace-up; - # --- Window Management (Move) --- "Mod+Shift+H".action = move-column-left; "Mod+Shift+L".action = move-column-right; "Mod+Shift+J".action = move-window-down-or-to-workspace-down; "Mod+Shift+K".action = move-window-up-or-to-workspace-up; - # --- Window State --- "Mod+Shift+Q".action = close-window; "Super+Return".action = spawn "obs-cmd" "replay" "save"; diff --git a/os/core/users.nix b/os/core/users.nix index 1bea894..74a8fc4 100644 --- a/os/core/users.nix +++ b/os/core/users.nix @@ -1,4 +1,10 @@ -{ config, lib, pkgs, username, ... }: +{ + config, + lib, + pkgs, + username, + ... +}: let cfg = config.os.core.users; in @@ -12,9 +18,12 @@ in extraGroups = lib.mkMerge [ [ "wheel" ] - (lib.mkIf (config.os.core.drivers.amd.enable or false) [ "video" "render" ]) + (lib.mkIf (config.os.core.drivers.amd.enable or false) [ + "video" + "render" + ]) (lib.mkIf (config.os.core.network.enable or false) [ "networkmanager" ]) - (lib.mkIf (config.os.srv.kvm.enable or false) [ "libvirtd" ]) + (lib.mkIf (config.os.srv.virtualization.enable or false) [ "libvirtd" ]) (lib.mkIf (config.os.srv.docker.enable or false) [ "docker" ]) (lib.mkIf (config.os.srv.autoclicker.enable or false) [ "input" ]) ]; -- cgit v1.3