diff options
Diffstat (limited to 'hm/env/niri')
| -rw-r--r-- | hm/env/niri/binds.nix | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/hm/env/niri/binds.nix b/hm/env/niri/binds.nix index ff8353e..27eb583 100644 --- a/hm/env/niri/binds.nix +++ b/hm/env/niri/binds.nix @@ -9,7 +9,8 @@ with config.lib.niri.actions; let playerctl = spawn "${pkgs.playerctl}/bin/playerctl"; ssPath = "${toString config.hm.conf.xdg-dirs.storagePath}/pics/ss/$(date +%Y-%m-%d_%H-%M-%S)"; - obsPass = osConfig.sops.secrets."obs/websocket_password".path; + obsEnabled = config.hm.soft.obs.enable or false; + obsPass = if obsEnabled then osConfig.sops.secrets."obs/websocket_password".path else ""; in { # --- System & Media --- @@ -17,8 +18,11 @@ in "Mod+Slash".action = show-hotkey-overlay; # Audio (System-wide via wireplumber) - XF86AudioRaiseVolume.action = spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "3%+"; - XF86AudioLowerVolume.action = spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "3%-"; + XF86AudioRaiseVolume.action = spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "2%+"; + XF86AudioLowerVolume.action = spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "2%-"; + XF86AudioMicMute.action = + spawn "sh" "-c" + "wpctlwpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle && toggle-mute-notify"; XF86AudioMute.action = spawn "sh" "-c" "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle && wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle && toggle-mute-notify"; @@ -36,7 +40,6 @@ in "Mod+Return".action = spawn "footclient"; "Mod+D".action = spawn "fuzzel"; "Mod+Shift+D".action = spawn "sh" "-c" "cliphist list | fuzzel --dmenu | cliphist decode | wl-copy"; - "Super+Return".action = spawn "sh" "-c" "OBS_WEBSOCKET_URL=$(cat ${obsPass}) obs-cmd replay save"; "Super+C".action = spawn "qalculate-gtk"; "Super+D".action = spawn "equibop"; @@ -52,8 +55,8 @@ in "Super+H".action = focus-monitor-left; "Super+L".action = focus-monitor-right; - "Super+Shift+H".action = move-column-left-or-to-monitor-left; - "Super+Shift+L".action = move-column-right-or-to-monitor-right; + "Super+Shift+H".action = move-column-to-monitor-left; + "Super+Shift+L".action = move-column-to-monitor-right; "Mod+WheelScrollDown".action = focus-column-right; "Mod+WheelScrollUp".action = focus-column-left; @@ -71,6 +74,7 @@ in action = spawn "sh" "-c" "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle && toggle-mute-notify"; repeat = false; }; + "Mod+XF86Tools" = { action = spawn "sh" "-c" @@ -146,7 +150,11 @@ in "Mod+grave".action.focus-workspace = 0; "Mod+Shift+grave".action.move-column-to-workspace = 0; + } +// (lib.optionalAttrs obsEnabled { + "Super+Return".action = spawn "sh" "-c" "OBS_WEBSOCKET_URL=$(cat ${obsPass}) obs-cmd replay save"; +}) // (builtins.listToAttrs ( builtins.concatMap ( keyNum: |
