diff options
| author | adikro <adikro@disroot.org> | 2026-02-03 22:58:50 +0100 |
|---|---|---|
| committer | adikro <adikro@disroot.org> | 2026-02-03 22:58:50 +0100 |
| commit | eb95abfc230dc239122f1e89e90cd9a998491a2f (patch) | |
| tree | 9d60efacf83b97059f6300e360be2248f8e9c57e /hm/env | |
| parent | e5036417abe5d3597792f869e2831decd50eba5d (diff) | |
...
Diffstat (limited to 'hm/env')
| -rw-r--r-- | hm/env/niri/binds.nix | 247 | ||||
| -rw-r--r-- | hm/env/niri/niri.nix | 32 | ||||
| -rw-r--r-- | hm/env/screenshot.nix | 12 | ||||
| -rw-r--r-- | hm/env/waybar.nix | 14 |
4 files changed, 162 insertions, 143 deletions
diff --git a/hm/env/niri/binds.nix b/hm/env/niri/binds.nix index 4cf92e0..fd46c17 100644 --- a/hm/env/niri/binds.nix +++ b/hm/env/niri/binds.nix @@ -4,147 +4,156 @@ pkgs, ... }: -with config.lib.niri.actions; -let +with config.lib.niri.actions; let playerctl = spawn "${pkgs.playerctl}/bin/playerctl"; ss = "${toString config.hm.conf.xdg-dirs.mediaPath}/pics/ss/$(date +%Y-%m-%d_%H-%M-%S)"; in -{ - "Mod+O" = { - action = toggle-overview; - repeat = false; - }; - "Mod+Slash".action = show-hotkey-overlay; + { + "Mod+O" = { + action = toggle-overview; + repeat = false; + }; + "Mod+Slash".action = show-hotkey-overlay; - XF86AudioRaiseVolume.action = playerctl "volume" "0.03+"; - XF86AudioLowerVolume.action = playerctl "volume" "0.03-"; - 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 - # ''; - "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 + XF86AudioRaiseVolume.action = playerctl "volume" "0.03+"; + XF86AudioLowerVolume.action = playerctl "volume" "0.03-"; + 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 ''; - repeat = false; - }; - "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; + "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; + "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; + 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"; - XF86AudioPlay.action = playerctl "play-pause"; - XF86AudioPrev.action = playerctl "previous"; - XF86AudioNext.action = playerctl "next"; + "Super+Shift+L".action = spawn "swaylock" "-f"; + XF86AudioPlay.action = playerctl "play-pause"; + XF86AudioPrev.action = playerctl "previous"; + XF86AudioNext.action = playerctl "next"; - "Mod+Minus".action = set-column-width "-10%"; - "Mod+Equal".action = set-column-width "+10%"; + "Mod+Minus".action = set-column-width "-10%"; + "Mod+Equal".action = set-column-width "+10%"; - "Mod+Shift+Minus".action = set-window-height "-10%"; - "Mod+Shift+Equal".action = set-window-height "+10%"; + "Mod+Shift+Minus".action = set-window-height "-10%"; + "Mod+Shift+Equal".action = set-window-height "+10%"; - "Mod+Shift+V".action = toggle-window-floating; - "Mod+W".action = toggle-column-tabbed-display; + "Mod+Shift+V".action = toggle-window-floating; + "Mod+W".action = toggle-column-tabbed-display; - "Mod+XF86Launch7" = { - action = spawn "sh" "-c" '' - grim -g "$(slurp)" - | tee ${ss}.png | wl-copy - ''; - repeat = false; - }; - "Mod+Shift+XF86Launch7" = { - action = spawn "sh" "-c" '' - grim -g "$(slurp)" ${ss}.png - satty --filename "${ss}.png" --output-filename "${ss}-edited.png" - ''; - repeat = false; - }; + "Mod+XF86Launch7" = { + action = spawn "sh" "-c" '' + wayfreeze & + sleep 0.1 + GEOM=$(slurp) + if [ -n "$GEOM" ]; then + grim -g "$GEOM" - | tee ${ss}.png | wl-copy + fi + pkill -n wayfreeze + ''; + repeat = false; + }; - "Mod+S" = { - action = spawn "sh" "-c" '' - grim -g "$(slurp)" - | tee ${ss}.png | wl-copy - ''; - repeat = false; - }; + "Mod+Shift+XF86Launch7" = { + action = spawn "sh" "-c" '' + wayfreeze & + sleep 0.1 + GEOM=$(slurp) + if [ -n "$GEOM" ]; then + grim -g "$GEOM" -t ppm - | satty --filename - --output-filename "${ss}-edited.png" + fi + pkill -n wayfreeze + ''; + repeat = false; + }; - "Mod+Shift+S" = { - action = spawn "sh" "-c" '' - grim -g "$(slurp)" ${ss}.png - satty --filename "${ss}.png" --output-filename "${ss}-edited.png" - ''; - repeat = false; - }; + "Mod+S" = { + action = spawn "sh" "-c" '' + wayfreeze & + sleep 0.1 + GEOM=$(slurp) + if [ -n "$GEOM" ]; then + grim -g "$GEOM" - | tee ${ss}.png | wl-copy + fi + pkill -n wayfreeze + ''; + repeat = false; + }; - "Mod+Shift+D".action = spawn "sh" "-c" '' - cliphist list | fuzzel --dmenu | cliphist decode | wl-copy - ''; + "Mod+Shift+S" = { + action = spawn "sh" "-c" '' + wayfreeze & + sleep 0.1 + GEOM=$(slurp) + if [ -n "$GEOM" ]; then + grim -g "$GEOM" -t ppm - | satty --filename - --output-filename "${ss}-edited.png" + fi + pkill -n wayfreeze + ''; + repeat = false; + }; - "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; + "Mod+Shift+D".action = spawn "sh" "-c" '' + cliphist list | fuzzel --dmenu | cliphist decode | wl-copy + ''; - "Mod+R".action = switch-preset-column-width; - "Mod+Shift+R".action = reset-window-height; - "Mod+F".action = maximize-column; - "Mod+Shift+F".action = fullscreen-window; + "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; - "Mod+Comma".action = consume-window-into-column; - "Mod+Period".action = expel-window-from-column; + "Mod+R".action = switch-preset-column-width; + "Mod+Shift+R".action = reset-window-height; + "Mod+F".action = maximize-column; + "Mod+Shift+F".action = fullscreen-window; - "Mod+Shift+E".action = quit; + "Mod+Comma".action = consume-window-into-column; + "Mod+Period".action = expel-window-from-column; - "Mod+H".action = focus-column-left; - "Mod+L".action = focus-column-right; - "Mod+J".action = focus-workspace-down; - "Mod+K".action = focus-workspace-up; + "Mod+Shift+E".action = quit; - "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; + "Mod+H".action = focus-column-left; + "Mod+L".action = focus-column-right; + "Mod+J".action = focus-workspace-down; + "Mod+K".action = focus-workspace-up; - "Mod+Shift+Q".action = close-window; + "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; - "Super+Return".action = spawn "obs-cmd" "replay" "save"; + "Mod+Shift+Q".action = close-window; -} -// (builtins.listToAttrs ( - builtins.concatMap ( - keyNum: - let - key = toString keyNum; - targetWS = keyNum + 1; - in - [ - { - name = "Mod+${key}"; - value.action = focus-workspace targetWS; - } - { - name = "Mod+Shift+${key}"; - value.action.move-column-to-workspace = [ targetWS ]; - } - ] - ) (lib.range 1 9) -)) + "Super+Return".action = spawn "obs-cmd" "replay" "save"; + } + // (builtins.listToAttrs ( + builtins.concatMap ( + keyNum: let + key = toString keyNum; + targetWS = keyNum + 1; + in [ + { + name = "Mod+${key}"; + value.action = focus-workspace targetWS; + } + { + name = "Mod+Shift+${key}"; + value.action.move-column-to-workspace = [targetWS]; + } + ] + ) (lib.range 1 9) + )) diff --git a/hm/env/niri/niri.nix b/hm/env/niri/niri.nix index b751d3d..3f66f6e 100644 --- a/hm/env/niri/niri.nix +++ b/hm/env/niri/niri.nix @@ -1,8 +1,11 @@ -{ config, lib, pkgs, ... }: -let - cfg = config.hm.env.niri; -in { + config, + lib, + pkgs, + ... +}: let + cfg = config.hm.env.niri; +in { options.hm.env.niri.enable = lib.mkEnableOption "niri hm"; config = lib.mkIf cfg.enable { hm.env = { @@ -15,9 +18,8 @@ in programs.niri.settings = { debug.disable-cursor-plane = []; - binds = import ./binds.nix { inherit config lib pkgs; }; + binds = import ./binds.nix {inherit config lib pkgs;}; - # animations.enable = false; prefer-no-csd = true; hotkey-overlay.skip-at-startup = true; input = { @@ -53,7 +55,6 @@ in cursor = { hide-when-typing = true; size = 48; - theme = "miyabi"; }; layout = { empty-workspace-above-first = true; @@ -66,14 +67,14 @@ in # active = <decoration>; }; preset-column-widths = [ - { proportion = 1. / 3.; } - { proportion = 1. / 2.; } - { proportion = 2. / 3.; } + {proportion = 1. / 3.;} + {proportion = 1. / 2.;} + {proportion = 2. / 3.;} ]; preset-window-heights = [ - { proportion = 1. / 3.; } - { proportion = 1. / 2.; } - { proportion = 2. / 3.; } + {proportion = 1. / 3.;} + {proportion = 1. / 2.;} + {proportion = 2. / 3.;} ]; default-column-width.proportion = 0.5; tab-indicator = { @@ -84,15 +85,14 @@ in window-rules = [ { matches = [ - { app-id = "Bitwarden"; } + {app-id = "Bitwarden";} ]; block-out-from = "screen-capture"; } ]; gestures.hot-corners.enable = false; spawn-at-startup = [ - { command = [ "waybar" ]; } - { command = [ "obs" "--disable-missing-files-check" "--startreplaybuffer" ]; } + {command = ["obs" "--disable-missing-files-check" "--startreplaybuffer"];} ]; }; home.packages = with pkgs; [ diff --git a/hm/env/screenshot.nix b/hm/env/screenshot.nix index e61e3de..eac2fe7 100644 --- a/hm/env/screenshot.nix +++ b/hm/env/screenshot.nix @@ -1,14 +1,18 @@ -{ config, lib, pkgs, ... }: -let - cfg = config.hm.env.screenshot; -in { + config, + lib, + pkgs, + ... +}: let + cfg = config.hm.env.screenshot; +in { options.hm.env.screenshot.enable = lib.mkEnableOption "enables screenshot utilities"; config = lib.mkIf cfg.enable { programs.satty = { enable = true; }; home.packages = with pkgs; [ + wayfreeze grim slurp ]; diff --git a/hm/env/waybar.nix b/hm/env/waybar.nix index 182a4fb..b75cc91 100644 --- a/hm/env/waybar.nix +++ b/hm/env/waybar.nix @@ -1,12 +1,18 @@ -{ config, lib, ... }: -let - cfg = config.hm.env.waybar; -in { + config, + lib, + ... +}: let + cfg = config.hm.env.waybar; +in { options.hm.env.waybar.enable = lib.mkEnableOption "enables waybar"; config = lib.mkIf cfg.enable { programs.waybar = { enable = true; + systemd = { + enable = true; + target = "graphical-session.target"; + }; }; }; } |
