Use satty to edit screenshots

This commit is contained in:
Paul-Henri Froidmont 2025-10-28 18:18:36 +01:00
parent 99180536b1
commit 22daf9d874
Signed by: phfroidmont
GPG key ID: BE948AFD7E7873BE
2 changed files with 384 additions and 476 deletions

View file

@ -1,39 +0,0 @@
{
config,
lib,
pkgs,
...
}:
let
cfg = config.modules.desktop.flameshot;
in
{
options.modules.desktop.flameshot = {
enable = lib.my.mkBoolOpt false;
};
config = lib.mkIf cfg.enable {
home-manager.users.${config.user.name} =
{ config, ... }:
{
services.flameshot = {
enable = true;
package = pkgs.flameshot;
settings = {
General = {
showStartupLaunchMessage = false;
disabledTrayIcon = true;
showHelp = false;
showDesktopNotification = false;
filenamePattern = "%F_%T";
savePath = "${config.home.homeDirectory}/Pictures/Screenshots";
savePathFixed = true;
saveAfterCopy = true;
uiColor = "#83A598";
};
};
};
home.packages = [ pkgs.grim ];
};
};
}

View file

@ -8,6 +8,7 @@
let let
cfg = config.modules.desktop.wm; cfg = config.modules.desktop.wm;
term = "${config.home-manager.users.${config.user.name}.programs.kitty.package}/bin/kitty"; term = "${config.home-manager.users.${config.user.name}.programs.kitty.package}/bin/kitty";
wallpaper = config.modules.desktop.wallpaper;
in in
{ {
options.modules.desktop.wm = { options.modules.desktop.wm = {
@ -27,7 +28,6 @@ in
zsh.enable = true; zsh.enable = true;
dunst.enable = true; dunst.enable = true;
htop.enable = true; htop.enable = true;
flameshot.enable = true;
}; };
hardware = { hardware = {
audio.enable = true; audio.enable = true;
@ -35,472 +35,419 @@ in
apps.rofi.enable = true; apps.rofi.enable = true;
}; };
home-manager.users.${config.user.name} = { home-manager.users.${config.user.name} =
wayland.windowManager.sway = { { config, ... }:
enable = true; {
systemd.enable = true; wayland.windowManager.hyprland = {
xwayland = true; enable = true;
config = { systemd.enable = true;
modifier = "Mod4"; xwayland.enable = true;
input = { settings = {
"type:keyboard" = { "$mod" = "SUPER";
"xkb_layout" = "fr";
"xkb_variant" = "nodeadkeys";
"xkb_options" = "caps:escape";
"xkb_numlock" = "enabled";
};
};
keybindings = { env = [
"mod4+Return" = "exec ${term}"; "XCURSOR_SIZE,24"
"mod4+c" = "kill"; "WLR_NO_HARDWARE_CURSORS,1"
"mod4+Shift+r" = "reload";
"mod4+Shift+c" = "exit";
"mod4+Shift+a" = "exec ${term} -e pulsemixer";
"mod4+w" = "exec firefox";
"mod4+r" = "exec ${term} -e yazi";
"mod4+e" = "exec emacsclient -c";
"mod4+n" = "exec emacsclient -c --eval '(elfeed)'";
"mod4+i" = "exec ${term} -e htop";
"mod4+m" = "exec ${term} -e ncmpcpp";
"mod4+v" = "exec ${term} -e ncmpcpp -s visualizer";
"mod4+t" = "floating toggle";
"mod4+d" = "exec rofi -show drun -show-icons";
"mod4+Shift+p" = "exec rofi -show p -modi p:rofi-power-menu";
"mod4+h" = "focus left";
"mod4+j" = "focus down";
"mod4+k" = "focus up";
"mod4+l" = "focus right";
"mod4+Shift+h" = "move left";
"mod4+Shift+j" = "move down";
"mod4+Shift+k" = "move up";
"mod4+Shift+l" = "move right";
"mod4+f" = "fullscreen";
"XF86AudioRaiseVolume" = "exec pulsemixer --change-volume +1";
"XF86AudioLowerVolume" = "exec pulsemixer --change-volume -1";
"XF86AudioMute" = "exec pulsemixer --toggle-mute";
"XF86AudioPlay" = "exec mpc toggle";
"XF86AudioPause" = "exec mpc toggle";
"XF86AudioNext" = "exec mpc next";
"XF86AudioPrev" = "exec mpc prev";
"mod4+p" = "exec mpc toggle";
};
keycodebindings = {
"mod4+10" = "workspace number 1";
"mod4+11" = "workspace number 2";
"mod4+12" = "workspace number 3";
"mod4+13" = "workspace number 4";
"mod4+14" = "workspace number 5";
"mod4+15" = "workspace number 6";
"mod4+16" = "workspace number 7";
"mod4+17" = "workspace number 8";
"mod4+18" = "workspace number 9";
"mod4+19" = "workspace number 0";
"mod4+Shift+10" = "move container to workspace number 1";
"mod4+Shift+11" = "move container to workspace number 2";
"mod4+Shift+12" = "move container to workspace number 3";
"mod4+Shift+13" = "move container to workspace number 4";
"mod4+Shift+14" = "move container to workspace number 5";
"mod4+Shift+15" = "move container to workspace number 6";
"mod4+Shift+16" = "move container to workspace number 7";
"mod4+Shift+17" = "move container to workspace number 8";
"mod4+Shift+18" = "move container to workspace number 9";
"mod4+Shift+19" = "move container to workspace number 0";
};
};
};
wayland.windowManager.hyprland = {
enable = true;
systemd.enable = true;
xwayland.enable = true;
settings = {
"$mod" = "SUPER";
env = [
"XCURSOR_SIZE,24"
"WLR_NO_HARDWARE_CURSORS,1"
];
xwayland = {
force_zero_scaling = true;
};
general = {
layout = "dwindle";
gaps_in = 7;
gaps_out = 14;
border_size = 2;
"col.active_border" = "rgb(B28121)";
"col.inactive_border" = "rgb(504945)";
no_focus_fallback = false;
resize_on_border = false;
hover_icon_on_border = false;
};
dwindle = {
preserve_split = true;
};
debug = {
disable_logs = false;
enable_stdout_logs = true;
};
input = {
kb_layout = "fr";
kb_options = "caps:escape";
numlock_by_default = "true";
touchpad = {
natural_scroll = false;
disable_while_typing = true;
tap-to-click = false;
middle_button_emulation = false;
};
};
gesture = [
"3, horizontal, workspace"
];
animations = {
enabled = true;
animation = [
"windows, 1, 2, default, popin 80%"
"windowsOut, 1, 2, default, popin 85%"
"windowsMove, 1, 2, default"
"workspaces, 1, 2, default"
"specialWorkspace, 1, 2, default"
];
};
bind = [
"$mod, Return, exec, ${term}"
"$mod, C, killactive"
# "$mod SHIFT, Q, exit"
"$mod SHIFT, A, exec, ${term} -e pulsemixer"
"$mod, W, exec, firefox"
"$mod, R, exec, ${term} -e yazi"
"$mod, E, exec, emacsclient -c"
"$mod, N, exec, emacsclient -c --eval '(elfeed)'"
"$mod, I, exec, ${term} -e htop"
"$mod, M, exec, ${term} -e ncmpcpp"
"$mod, V, exec, ${term} -e ncmpcpp -s visualizer"
"$mod, T, togglefloating"
"$mod, D, exec, rofi -show drun -show-icons"
"$mod SHIFT, P, exec, rofi -show p -modi p:rofi-power-menu"
# Layout manipulation
"$mod SHIFT, O, layoutmsg, togglesplit"
"$mod, comma, splitratio, -0.1"
"$mod, semicolon, splitratio, +0.1"
"$mod, F, fullscreen, 0"
"$mod, X, exec, swaylock"
# Move focus
"$mod, H, movefocus, l"
"$mod, L, movefocus, r"
"$mod, K, movefocus, u"
"$mod, J, movefocus, d"
"$mod, left, movefocus, l"
"$mod, right, movefocus, r"
"$mod, up, movefocus, u"
"$mod, down, movefocus, d"
# Move window
"$mod SHIFT, H, movewindow, l"
"$mod SHIFT, L, movewindow, r"
"$mod SHIFT, K, movewindow, u"
"$mod SHIFT, J, movewindow, d"
"$mod SHIFT, left, movewindow, l"
"$mod SHIFT, right, movewindow, r"
"$mod SHIFT, up, movewindow, u"
"$mod SHIFT, down, movewindow, d"
# Switch workspaces with mainMod + [0-9]
"$mod, code:10, moveworkspacetomonitor, 1 current"
"$mod, code:10, workspace, 1"
"$mod, 1, moveworkspacetomonitor, 1 current"
"$mod, 1, workspace, 1"
"$mod, code:11, moveworkspacetomonitor, 2 current"
"$mod, code:11, workspace, 2"
"$mod, 2, moveworkspacetomonitor, 2 current"
"$mod, 2, workspace, 2"
"$mod, code:12, moveworkspacetomonitor, 3 current"
"$mod, code:12, workspace, 3"
"$mod, 3, moveworkspacetomonitor, 3 current"
"$mod, 3, workspace, 3"
"$mod, code:13, moveworkspacetomonitor, 4 current"
"$mod, code:13, workspace, 4"
"$mod, 4, moveworkspacetomonitor, 4 current"
"$mod, 4, workspace, 4"
"$mod, code:14, moveworkspacetomonitor, 5 current"
"$mod, code:14, workspace, 5"
"$mod, 5, moveworkspacetomonitor, 5 current"
"$mod, 5, workspace, 5"
"$mod, code:15, moveworkspacetomonitor, 6 current"
"$mod, code:15, workspace, 6"
"$mod, 6, moveworkspacetomonitor, 6 current"
"$mod, 6, workspace, 6"
"$mod, code:16, moveworkspacetomonitor, 7 current"
"$mod, code:16, workspace, 7"
"$mod, 7, moveworkspacetomonitor, 7 current"
"$mod, 7, workspace, 7"
"$mod, code:17, moveworkspacetomonitor, 8 current"
"$mod, code:17, workspace, 8"
"$mod, 8, moveworkspacetomonitor, 8 current"
"$mod, 8, workspace, 8"
"$mod, code:18, moveworkspacetomonitor, 9 current"
"$mod, code:18, workspace, 9"
"$mod, 9, moveworkspacetomonitor, 9 current"
"$mod, 9, workspace, 9"
"$mod, code:19, moveworkspacetomonitor, 10 current"
"$mod, code:19, workspace, 10"
"$mod, 0, moveworkspacetomonitor, 10 current"
"$mod, 0, workspace, 10"
# Move active window to a workspace with mainMod + SHIFT + [0-9]
"$mod SHIFT, code:10, movetoworkspace, 1"
"$mod SHIFT, 1, movetoworkspace, 1"
"$mod SHIFT, code:11, movetoworkspace, 2"
"$mod SHIFT, 2, movetoworkspace, 2"
"$mod SHIFT, code:12, movetoworkspace, 3"
"$mod SHIFT, 3, movetoworkspace, 3"
"$mod SHIFT, code:13, movetoworkspace, 4"
"$mod SHIFT, 4, movetoworkspace, 4"
"$mod SHIFT, code:14, movetoworkspace, 5"
"$mod SHIFT, 5, movetoworkspace, 5"
"$mod SHIFT, code:15, movetoworkspace, 6"
"$mod SHIFT, 6, movetoworkspace, 6"
"$mod SHIFT, code:16, movetoworkspace, 7"
"$mod SHIFT, 7, movetoworkspace, 7"
"$mod SHIFT, code:17, movetoworkspace, 8"
"$mod SHIFT, 8, movetoworkspace, 8"
"$mod SHIFT, code:18, movetoworkspace, 9"
"$mod SHIFT, 9, movetoworkspace, 9"
"$mod SHIFT, code:19, movetoworkspace, 10"
"$mod SHIFT, 0, movetoworkspace, 10"
# Scroll through existing workspaces with mainMod + scroll
"$mod, mouse_down, workspace, e-1"
"$mod, mouse_up, workspace, e+1"
# Media controls
", XF86AudioRaiseVolume, exec, pulsemixer --change-volume +1"
", XF86AudioLowerVolume, exec, pulsemixer --change-volume -1"
# ", XF86AudioMicMute, exec, pulsemixer --toggle-mute"
", XF86AudioMute, exec, pulsemixer --toggle-mute"
", XF86AudioPlay, exec, mpc toggle"
", XF86AudioPause, exec, mpc toggle"
", XF86AudioNext, exec, mpc next"
", XF86AudioPrev, exec, mpc prev"
"$mod, P, exec, mpc toggle"
", XF86MonBrightnessDown, exec, light -U 5"
", XF86MonBrightnessUp, exec, light -A 5"
# ", Print, exec, flameshot full"
", Print, exec, env QT_SCREEN_SCALE_FACTORS=0.66666666 flameshot gui"
];
bindm = [
# Move/resize windows with mainMod + LMB/RMB and dragging
"$mod, mouse:272, movewindow"
"$mod, mouse:273, resizewindow"
];
exec-once = [
"${pkgs.swaybg}/bin/swaybg --image ${config.modules.desktop.wallpaper} --mode fill"
"keepassxc"
];
misc = {
force_default_wallpaper = 0;
disable_hyprland_logo = true;
disable_splash_rendering = true;
animate_manual_resizes = true;
};
};
};
programs.waybar = {
enable = true;
systemd.enable = true;
settings = {
mainBar = {
layer = "top";
position = "bottom";
height = 25;
spacing = 2;
reload-style-on-change = true;
modules-left = [
"cpu"
"memory"
"disk"
"hyprland/window"
];
modules-center = [ "hyprland/workspaces" ];
modules-right = [
"mpd"
"battery"
"clock"
"tray"
]; ];
tray = { xwayland = {
icon-size = 14; force_zero_scaling = true;
spacing = 5;
show-passive-items = true;
}; };
cpu = { general = {
interval = 1; layout = "dwindle";
format = " {usage}%"; gaps_in = 7;
tooltip = false; gaps_out = 14;
border_size = 2;
"col.active_border" = "rgb(B28121)";
"col.inactive_border" = "rgb(504945)";
no_focus_fallback = false;
resize_on_border = false;
hover_icon_on_border = false;
}; };
memory = { dwindle = {
interval = 1; preserve_split = true;
format = " {percentage}%";
tooltip = false;
}; };
disk = { debug = {
interval = 60; disable_logs = false;
format = " {free}"; enable_stdout_logs = true;
tooltip = false;
}; };
clock = { input = {
format = "󰥔 {:%A, %d %h %H:%M}"; kb_layout = "fr";
format-alt = "󰥔 {:%d/%m/%Y %H:%M}"; kb_options = "caps:escape";
tooltip = false; numlock_by_default = "true";
touchpad = {
natural_scroll = false;
disable_while_typing = true;
tap-to-click = false;
middle_button_emulation = false;
};
}; };
gesture = [
"3, horizontal, workspace"
];
animations = {
enabled = true;
animation = [
"windows, 1, 2, default, popin 80%"
"windowsOut, 1, 2, default, popin 85%"
"windowsMove, 1, 2, default"
"workspaces, 1, 2, default"
"specialWorkspace, 1, 2, default"
];
};
bind = [
"$mod, Return, exec, ${term}"
"$mod, C, killactive"
# "$mod SHIFT, Q, exit"
"$mod SHIFT, A, exec, ${term} -e pulsemixer"
"$mod, W, exec, firefox"
"$mod, R, exec, ${term} -e yazi"
"$mod, E, exec, emacsclient -c"
"$mod, N, exec, emacsclient -c --eval '(elfeed)'"
"$mod, I, exec, ${term} -e htop"
"$mod, M, exec, ${term} -e ncmpcpp"
"$mod, V, exec, ${term} -e ncmpcpp -s visualizer"
"$mod, T, togglefloating"
"$mod, D, exec, rofi -show drun -show-icons"
"$mod SHIFT, P, exec, rofi -show p -modi p:rofi-power-menu"
# Layout manipulation
"$mod SHIFT, O, layoutmsg, togglesplit"
"$mod, comma, splitratio, -0.1"
"$mod, semicolon, splitratio, +0.1"
"$mod, F, fullscreen, 0"
"$mod, X, exec, swaylock"
# Move focus
"$mod, H, movefocus, l"
"$mod, L, movefocus, r"
"$mod, K, movefocus, u"
"$mod, J, movefocus, d"
"$mod, left, movefocus, l"
"$mod, right, movefocus, r"
"$mod, up, movefocus, u"
"$mod, down, movefocus, d"
# Move window
"$mod SHIFT, H, movewindow, l"
"$mod SHIFT, L, movewindow, r"
"$mod SHIFT, K, movewindow, u"
"$mod SHIFT, J, movewindow, d"
"$mod SHIFT, left, movewindow, l"
"$mod SHIFT, right, movewindow, r"
"$mod SHIFT, up, movewindow, u"
"$mod SHIFT, down, movewindow, d"
# Switch workspaces with mainMod + [0-9]
"$mod, code:10, moveworkspacetomonitor, 1 current"
"$mod, code:10, workspace, 1"
"$mod, 1, moveworkspacetomonitor, 1 current"
"$mod, 1, workspace, 1"
"$mod, code:11, moveworkspacetomonitor, 2 current"
"$mod, code:11, workspace, 2"
"$mod, 2, moveworkspacetomonitor, 2 current"
"$mod, 2, workspace, 2"
"$mod, code:12, moveworkspacetomonitor, 3 current"
"$mod, code:12, workspace, 3"
"$mod, 3, moveworkspacetomonitor, 3 current"
"$mod, 3, workspace, 3"
"$mod, code:13, moveworkspacetomonitor, 4 current"
"$mod, code:13, workspace, 4"
"$mod, 4, moveworkspacetomonitor, 4 current"
"$mod, 4, workspace, 4"
"$mod, code:14, moveworkspacetomonitor, 5 current"
"$mod, code:14, workspace, 5"
"$mod, 5, moveworkspacetomonitor, 5 current"
"$mod, 5, workspace, 5"
"$mod, code:15, moveworkspacetomonitor, 6 current"
"$mod, code:15, workspace, 6"
"$mod, 6, moveworkspacetomonitor, 6 current"
"$mod, 6, workspace, 6"
"$mod, code:16, moveworkspacetomonitor, 7 current"
"$mod, code:16, workspace, 7"
"$mod, 7, moveworkspacetomonitor, 7 current"
"$mod, 7, workspace, 7"
"$mod, code:17, moveworkspacetomonitor, 8 current"
"$mod, code:17, workspace, 8"
"$mod, 8, moveworkspacetomonitor, 8 current"
"$mod, 8, workspace, 8"
"$mod, code:18, moveworkspacetomonitor, 9 current"
"$mod, code:18, workspace, 9"
"$mod, 9, moveworkspacetomonitor, 9 current"
"$mod, 9, workspace, 9"
"$mod, code:19, moveworkspacetomonitor, 10 current"
"$mod, code:19, workspace, 10"
"$mod, 0, moveworkspacetomonitor, 10 current"
"$mod, 0, workspace, 10"
# Move active window to a workspace with mainMod + SHIFT + [0-9]
"$mod SHIFT, code:10, movetoworkspace, 1"
"$mod SHIFT, 1, movetoworkspace, 1"
"$mod SHIFT, code:11, movetoworkspace, 2"
"$mod SHIFT, 2, movetoworkspace, 2"
"$mod SHIFT, code:12, movetoworkspace, 3"
"$mod SHIFT, 3, movetoworkspace, 3"
"$mod SHIFT, code:13, movetoworkspace, 4"
"$mod SHIFT, 4, movetoworkspace, 4"
"$mod SHIFT, code:14, movetoworkspace, 5"
"$mod SHIFT, 5, movetoworkspace, 5"
"$mod SHIFT, code:15, movetoworkspace, 6"
"$mod SHIFT, 6, movetoworkspace, 6"
"$mod SHIFT, code:16, movetoworkspace, 7"
"$mod SHIFT, 7, movetoworkspace, 7"
"$mod SHIFT, code:17, movetoworkspace, 8"
"$mod SHIFT, 8, movetoworkspace, 8"
"$mod SHIFT, code:18, movetoworkspace, 9"
"$mod SHIFT, 9, movetoworkspace, 9"
"$mod SHIFT, code:19, movetoworkspace, 10"
"$mod SHIFT, 0, movetoworkspace, 10"
# Scroll through existing workspaces with mainMod + scroll
"$mod, mouse_down, workspace, e-1"
"$mod, mouse_up, workspace, e+1"
# Media controls
", XF86AudioRaiseVolume, exec, pulsemixer --change-volume +1"
", XF86AudioLowerVolume, exec, pulsemixer --change-volume -1"
# ", XF86AudioMicMute, exec, pulsemixer --toggle-mute"
", XF86AudioMute, exec, pulsemixer --toggle-mute"
", XF86AudioPlay, exec, mpc toggle"
", XF86AudioPause, exec, mpc toggle"
", XF86AudioNext, exec, mpc next"
", XF86AudioPrev, exec, mpc prev"
"$mod, P, exec, mpc toggle"
", XF86MonBrightnessDown, exec, light -U 5"
", XF86MonBrightnessUp, exec, light -A 5"
", Print, exec, grim -g \"$(slurp)\" - | satty -f -"
"SHIFT, Print, exec, grim - | satty -f -"
];
bindm = [
# Move/resize windows with mainMod + LMB/RMB and dragging
"$mod, mouse:272, movewindow"
"$mod, mouse:273, resizewindow"
];
exec-once = [
"${pkgs.swaybg}/bin/swaybg --image ${wallpaper} --mode fill"
"keepassxc"
];
misc = {
force_default_wallpaper = 0;
disable_hyprland_logo = true;
disable_splash_rendering = true;
animate_manual_resizes = true;
};
}; };
}; };
style = ''
* {
border: none;
font-family: MesloLGS Nerd Font;
font-size: 12px;
min-height: 0;
}
tooltip { programs.waybar = {
background: #282828; enable = true;
border: 0px solid; systemd.enable = true;
border-radius: 0px; settings = {
} mainBar = {
layer = "top";
position = "bottom";
height = 25;
spacing = 2;
reload-style-on-change = true;
modules-left = [
"cpu"
"memory"
"disk"
"hyprland/window"
];
modules-center = [ "hyprland/workspaces" ];
modules-right = [
"mpd"
"battery"
"clock"
"tray"
];
window#waybar { tray = {
background: #282828; icon-size = 14;
color: #ebdbb2; spacing = 5;
} show-passive-items = true;
};
#workspaces button { cpu = {
padding: 0 0.6em; interval = 1;
color: #a89984; format = " {usage}%";
border-radius: 0px; tooltip = false;
} };
#workspaces button.active { memory = {
color: #ebdbb2; interval = 1;
background: #665c54; format = " {percentage}%";
} tooltip = false;
};
#workspaces button.urgent { disk = {
color: #1d2021; interval = 60;
background: #fb4934; format = " {free}";
} tooltip = false;
};
#workspaces button:hover { clock = {
background: #665c54; format = "󰥔 {:%A, %d %h %H:%M}";
} format-alt = "󰥔 {:%d/%m/%Y %H:%M}";
tooltip = false;
};
#network, };
#workspaces, };
#bluetooth, style = ''
#tray { * {
color: #ebdbb2; border: none;
padding: 0 5px; font-family: MesloLGS Nerd Font;
margin: 0 5px; font-size: 12px;
} min-height: 0;
}
#cpu, tooltip {
#memory, background: #282828;
#disk, border: 0px solid;
#clock { border-radius: 0px;
padding: 0 5px; }
margin: 0 5px;
color: #83a598; window#waybar {
} background: #282828;
color: #ebdbb2;
}
#workspaces button {
padding: 0 0.6em;
color: #a89984;
border-radius: 0px;
}
#workspaces button.active {
color: #ebdbb2;
background: #665c54;
}
#workspaces button.urgent {
color: #1d2021;
background: #fb4934;
}
#workspaces button:hover {
background: #665c54;
}
#network,
#workspaces,
#bluetooth,
#tray {
color: #ebdbb2;
padding: 0 5px;
margin: 0 5px;
}
#cpu,
#memory,
#disk,
#clock {
padding: 0 5px;
margin: 0 5px;
color: #83a598;
}
'';
package = pkgs.waybar.override { wireplumberSupport = false; };
};
programs.satty = {
enable = true;
settings = {
general = {
output-filename = "${config.home.homeDirectory}/Pictures/Screenshots/satty_%Y-%m-%d_%H-%M-%S.png";
copy-command = "wl-copy";
actions-on-enter = [
"save-to-clipboard"
"save-to-file"
"exit"
];
early-exit = true;
save-after-copy = true;
};
};
};
home.activation.ensureScreenshotsDir = ''
${pkgs.coreutils}/bin/mkdir -p "$HOME/Pictures/Screenshots"
''; '';
package = pkgs.waybar.override { wireplumberSupport = false; };
};
home = { home = {
packages = with pkgs; [ packages = with pkgs; [
wlr-randr wlr-randr
wl-clipboard wl-clipboard
wdisplays wdisplays
]; grim
}; slurp
];
};
programs.swaylock = { programs.swaylock = {
enable = true; enable = true;
package = pkgs.swaylock-effects; package = pkgs.swaylock-effects;
settings = { settings = {
ignore-empty-password = true; ignore-empty-password = true;
daemonize = true; daemonize = true;
# fade-in = 0.5; # fade-in = 0.5;
indicator = true; indicator = true;
clock = true; clock = true;
datestr = "%d/%m/%Y"; datestr = "%d/%m/%Y";
screenshots = true; screenshots = true;
hide-keyboard-layout = true; hide-keyboard-layout = true;
indicator-caps-lock = true; indicator-caps-lock = true;
bs-hl-color = "7daea3cc"; bs-hl-color = "7daea3cc";
caps-lock-bs-hl-color = "7daea3cc"; caps-lock-bs-hl-color = "7daea3cc";
caps-lock-key-hl-color = "d3869bcc"; caps-lock-key-hl-color = "d3869bcc";
font = "MesloLGS Nerd Font Propo"; font = "MesloLGS Nerd Font Propo";
font-size = "35"; font-size = "35";
indicator-idle-visible = true; indicator-idle-visible = true;
indicator-radius = 100; indicator-radius = 100;
indicator-thickness = 7; indicator-thickness = 7;
inside-color = "32302f66"; inside-color = "32302f66";
inside-clear-color = "89b48266"; inside-clear-color = "89b48266";
inside-caps-lock-color = "e78a4e66"; inside-caps-lock-color = "e78a4e66";
inside-ver-color = "7daea366"; inside-ver-color = "7daea366";
inside-wrong-color = "ea696266"; inside-wrong-color = "ea696266";
key-hl-color = "a9b665cc"; key-hl-color = "a9b665cc";
layout-bg-color = "32302f00"; layout-bg-color = "32302f00";
layout-text-color = "d4be98"; layout-text-color = "d4be98";
line-color = "00000000"; line-color = "00000000";
ring-color = "e78a4ecc"; ring-color = "e78a4ecc";
ring-clear-color = "89b482cc"; ring-clear-color = "89b482cc";
ring-caps-lock-color = "e78a4ecc"; ring-caps-lock-color = "e78a4ecc";
ring-ver-color = "7daea3cc"; ring-ver-color = "7daea3cc";
ring-wrong-color = "ea6962cc"; ring-wrong-color = "ea6962cc";
separator-color = "00000000"; separator-color = "00000000";
text-color = "d4be98"; text-color = "d4be98";
text-clear-color = "d4be98"; text-clear-color = "d4be98";
text-caps-lock-color = "d4be98"; text-caps-lock-color = "d4be98";
text-ver-color = "d4be98"; text-ver-color = "d4be98";
text-wrong-color = "d4be98"; text-wrong-color = "d4be98";
effect-blur = "9x9"; effect-blur = "9x9";
effect-greyscale = true; effect-greyscale = true;
# effect-vignette = "0.5:0.5"; # effect-vignette = "0.5:0.5";
};
}; };
}; };
};
xdg.portal = { xdg.portal = {
enable = true; enable = true;