{ 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"}"; }; }; }