(use-modules (gnu packages wm) (guix packages) (guix gexp) (guix build-system copy) (gnu packages base) (gnu packages image) (gnu packages web) (gnu packages gnome) (gnu packages xdisorg) (gnu packages man)) (define-public grimshot (package (inherit sway) (name "grimshot") (source (file-append (origin (inherit (package-source sway)) (snippet #~(begin (delete-file "contrib/grimshot.1")))) "/contrib")) (build-system copy-build-system) (arguments (list #:install-plan #~`(("grimshot" "bin/") ("grimshot.1" "usr/share/man/man1/")) #:phases #~(modify-phases %standard-phases (add-after 'unpack 'patch-script-deps (lambda _ (substitute* "grimshot" (("date ") (string-append #$(this-package-input "coreutils") "/bin/date ")) (("jq ") (string-append #$(this-package-input "jq") "/bin/jq ")) (("swaymsg ") (string-append #$(this-package-input "sway") "/bin/swaymsg ")) (("notify-send ") (string-append #$(this-package-input "libnotify") "/bin/notify-send ")) (("grim ") (string-append #$(this-package-input "grim") "/bin/grim ")) (("slurp ") (string-append #$(this-package-input "slurp") "/bin/slurp ")) (("wl-copy ") (string-append #$(this-package-input "wl-clipboard") "/bin/wl-copy "))))) (add-after 'patch-script-deps 'build-man-page (lambda _ (with-input-from-file "grimshot.1.scd" (lambda _ (with-output-to-file "grimshot.1" (lambda _ (invoke #+(file-append (this-package-native-input "scdoc") "/bin/scdoc"))))))))))) (native-inputs (list scdoc)) (inputs (list coreutils grim jq libnotify slurp sway wl-clipboard)) (synopsis "Screenshot utility for the Sway window manager") (description "Grimshot is a screenshot utility for @code{sway}. It provides an interface over @code{grim}, @code{slurp} and @code{jq}, and supports storing the screenshot either directly to the clipboard using @code{wl-copy} or to a file."))) grimshot