📸 Hyprshot screenshots

- Added Hyprshot for screenshots
- Added keybindings to take them
- Added XDG_PICTURES_DIR env for storing pictures
This commit is contained in:
Martin Berg Alstad 2025-01-02 21:17:58 +01:00
parent 84d9817933
commit a30f8f1b08
Signed by: martials
GPG Key ID: A3824877B269F2E2
3 changed files with 28 additions and 12 deletions

View File

@ -5,6 +5,7 @@
}: }:
let let
username = "martin"; username = "martin";
homeDir = "/home/${username}";
in in
{ {
imports = [ imports = [
@ -22,6 +23,11 @@ in
home = { home = {
username = username; username = username;
homeDirectory = "/home/${username}"; homeDirectory = "/home/${username}";
sessionVariables = {
XDG_PICTURES_DIR = "${homeDir}/Pictures";
};
# You can update Home Manager without changing this value. See # You can update Home Manager without changing this value. See
# the Home Manager release notes for a list of state version # the Home Manager release notes for a list of state version
# changes in each release. # changes in each release.

View File

@ -36,7 +36,7 @@ $menu = rofi -show drun
# Autostart necessary processes (like notifications daemons, status bars, etc.) # Autostart necessary processes (like notifications daemons, status bars, etc.)
# Or execute your favorite apps at launch like this: # Or execute your favorite apps at launch like this:
exec-once = $browser & [workspace 2] $terminal & nextcloud exec-once = $browser & $terminal & nextcloud
# Status bar # Status bar
exec-once = waybar exec-once = waybar
@ -64,6 +64,7 @@ env = XCURSOR_SIZE,24
env = HYPRCURSOR_SIZE,24 env = HYPRCURSOR_SIZE,24
env = HYPRCURSOR_THEME,rose-pine-hyprcursor env = HYPRCURSOR_THEME,rose-pine-hyprcursor
env = ELECTRON_OZONE_PLATFORM_HINT,auto env = ELECTRON_OZONE_PLATFORM_HINT,auto
env = HYPRSHOT_DIR,$HOME/Pictures/screenshots # Store screenshots here
##################### #####################
@ -294,6 +295,7 @@ device {
# See https://wiki.hyprland.org/Configuring/Keywords/ # See https://wiki.hyprland.org/Configuring/Keywords/
$mainMod = SUPER # Sets "Windows" key as main modifier $mainMod = SUPER # Sets "Windows" key as main modifier
$shiftMod = $mainMod SHIFT
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
bind = $mainMod, Q, exec, $terminal bind = $mainMod, Q, exec, $terminal
@ -308,6 +310,13 @@ bind = $mainMod, B, exec, $browser
bind = $mainMod, L, exec, hyprlock bind = $mainMod, L, exec, hyprlock
bind = $mainMod, K, exec, [float] gnome-calculator bind = $mainMod, K, exec, [float] gnome-calculator
# Screenshot a window
bind = $mainMod, PRINT, exec, hyprshot -m window
# Screenshot a monitor
bind = , PRINT, exec, hyprshot -m output
# Screenshot a region
bind = $shiftMod, PRINT, exec, hyprshot -m region
# Move focus with mainMod + arrow keys # Move focus with mainMod + arrow keys
bind = $mainMod, left, movefocus, l bind = $mainMod, left, movefocus, l
bind = $mainMod, right, movefocus, r bind = $mainMod, right, movefocus, r
@ -327,20 +336,20 @@ bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, workspace, 10 bind = $mainMod, 0, workspace, 10
# Move active window to a workspace with mainMod + SHIFT + [0-9] # Move active window to a workspace with mainMod + SHIFT + [0-9]
bind = $mainMod SHIFT, 1, movetoworkspace, 1 bind = $shiftMod, 1, movetoworkspace, 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2 bind = $shiftMod, 2, movetoworkspace, 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3 bind = $shiftMod, 3, movetoworkspace, 3
bind = $mainMod SHIFT, 4, movetoworkspace, 4 bind = $shiftMod, 4, movetoworkspace, 4
bind = $mainMod SHIFT, 5, movetoworkspace, 5 bind = $shiftMod, 5, movetoworkspace, 5
bind = $mainMod SHIFT, 6, movetoworkspace, 6 bind = $shiftMod, 6, movetoworkspace, 6
bind = $mainMod SHIFT, 7, movetoworkspace, 7 bind = $shiftMod, 7, movetoworkspace, 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8 bind = $shiftMod, 8, movetoworkspace, 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9 bind = $shiftMod, 9, movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10 bind = $shiftMod, 0, movetoworkspace, 10
# Example special workspace (scratchpad) # Example special workspace (scratchpad)
bind = $mainMod, S, togglespecialworkspace, magic bind = $mainMod, S, togglespecialworkspace, magic
bind = $mainMod SHIFT, S, movetoworkspace, special:magic bind = $shiftMod, S, movetoworkspace, special:magic
# Scroll through existing workspaces with mainMod + scroll # Scroll through existing workspaces with mainMod + scroll
bind = $mainMod, mouse_down, workspace, e+1 bind = $mainMod, mouse_down, workspace, e+1

View File

@ -11,6 +11,7 @@
swaynotificationcenter swaynotificationcenter
xdg-desktop-portal-hyprland xdg-desktop-portal-hyprland
hyprpolkitagent # Auth deamon providing modals for password auth hyprpolkitagent # Auth deamon providing modals for password auth
hyprshot # Screenshots
]; ];
programs = { programs = {