aboutsummaryrefslogtreecommitdiff
path: root/modules/user/desktop/sessions/sway.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/user/desktop/sessions/sway.nix')
-rw-r--r--modules/user/desktop/sessions/sway.nix18
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;