28 lines
765 B
Nix
28 lines
765 B
Nix
{
|
|
pkgs,
|
|
lib,
|
|
config,
|
|
...
|
|
}:
|
|
let
|
|
dir = config.xdg.userDirs.extraConfig.XDG_SCREENSHOTS_DIR;
|
|
gs =
|
|
mode:
|
|
pkgs.writeShellScript "grimshot-${mode}" ''
|
|
path="${dir}/$(date -Isec).png"
|
|
${lib.getExe pkgs.sway-contrib.grimshot} savecopy ${mode} "$path"
|
|
${pkgs.optipng}/bin/optipng "$path"
|
|
'';
|
|
mod = config.wayland.windowManager.sway.config.modifier;
|
|
in
|
|
{
|
|
config = lib.mkIf config.frogeye.desktop.xorg {
|
|
frogeye.folders.screenshots.path = "Screenshots";
|
|
home.packages = [ pkgs.sway-contrib.grimshot ];
|
|
wayland.windowManager.sway.config.keybindings = lib.mkOptionDefault {
|
|
"Print" = "exec ${gs "active"}";
|
|
"${mod}+Print" = "exec ${gs "screen"}";
|
|
"Ctrl+Print" = "exec ${gs "anything"}";
|
|
};
|
|
};
|
|
}
|