diff options
Diffstat (limited to 'modules/user/desktop/sessions/sway.nix')
| -rw-r--r-- | modules/user/desktop/sessions/sway.nix | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/modules/user/desktop/sessions/sway.nix b/modules/user/desktop/sessions/sway.nix index a1e11f6..3cb679b 100644 --- a/modules/user/desktop/sessions/sway.nix +++ b/modules/user/desktop/sessions/sway.nix @@ -50,6 +50,8 @@ text-wrong-color = "1e1e2e"; }; }; + + waybar.enable = lib.mkDefault config.desktop.sessions.sway.enable; }; wayland.windowManager.sway = { @@ -147,15 +149,23 @@ keybindings = let + grim = "${pkgs.grim}/bin/grim"; + launcher = "${pkgs.fuzzel}/bin/fuzzel"; mod = config.wayland.windowManager.sway.config.modifier; + screenshotDir = "~/Pictures/Screenshots"; terminal = "${pkgs.foot}/bin/foot"; in { "${mod}+Return" = "exec ${terminal}"; - "${mod}+R" = "exec ${pkgs.fuzzel}/bin/fuzzel"; + "${mod}+R" = "exec ${launcher}"; "${mod}+B" = "exec ${pkgs.librewolf}/bin/librewolf"; - "${mod}+Shift+S" = - "exec ${pkgs.grim}/bin/grim -g \"$(${pkgs.slurp}/bin/slurp)\" ~/Pictures/screenshot.png"; + "${mod}+Shift+S" = "exec ${(pkgs.writeShellScript "screenshot" '' + screenshot_type=$(printf 'monitor\nregion' | ${launcher} --prompt='What would you like to screenshot? ' --dmenu --minimal-lines --width=34) + case $screenshot_type in + 'monitor') ${grim} -o $(${pkgs.sway}/bin/swaymsg -rt get_workspaces | ${pkgs.jq}/bin/jq -r '.[] | select(.focused) | .output') ${screenshotDir}/$(date +'%F_%H.%M.%S.png') ;; + 'region') ${grim} -g \"$(${pkgs.slurp}/bin/slurp)\" ${screenshotDir}/$(date +'%F_%H.%M.%S.png') ;; + esac + '')}"; "${mod}+Alt+L" = "exec ${pkgs.swaylock}/bin/swaylock"; "${mod}+Alt+K" = "input type:keyboard xkb_switch_layout next"; "${mod}+Alt+Q" = "exit"; @@ -244,6 +254,8 @@ } ]; }; + + extraConfig = "exec waybar"; }; xdg.dataFile."wallpaper.png".enable = config.desktop.sessions.sway.enable; |
