diff --git a/pkgs/development/libraries/kimageannotator/default.nix b/pkgs/development/libraries/kimageannotator/default.nix index 3188415ea045..b43883b645d8 100644 --- a/pkgs/development/libraries/kimageannotator/default.nix +++ b/pkgs/development/libraries/kimageannotator/default.nix @@ -2,13 +2,13 @@ mkDerivation rec { pname = "kimageannotator"; - version = "0.5.1"; + version = "0.5.2"; src = fetchFromGitHub { owner = "ksnip"; repo = "kImageAnnotator"; rev = "v${version}"; - sha256 = "0hfvrd78lgwd7bccz0fx2pr7g0v3s401y5plra63rxwk55ffkxf8"; + sha256 = "07m3il928gwzzab349grpaksqqv4n7r6mn317sx2jly0x0bpv0rh"; }; nativeBuildInputs = [ cmake qttools ]; diff --git a/pkgs/tools/misc/ksnip/default.nix b/pkgs/tools/misc/ksnip/default.nix new file mode 100644 index 000000000000..d78b45d9b7ac --- /dev/null +++ b/pkgs/tools/misc/ksnip/default.nix @@ -0,0 +1,77 @@ +{ stdenv +, lib +, cmake +, extra-cmake-modules +, fetchFromGitHub +, kcolorpicker +, kimageannotator +, qtsvg +, qttranslations +, qtx11extras +}: + +stdenv.mkDerivation rec { + pname = "ksnip"; + version = "1.9.1"; + + src = fetchFromGitHub { + owner = "ksnip"; + repo = "ksnip"; + rev = "v${version}"; + sha256 = "1izsk586n9fbm0di0hj6pxs7r0a6w554gpad1ghf247icr0pfc1l"; + }; + + dontWrapQtApps = true; + + nativeBuildInputs = [ + cmake + extra-cmake-modules + ]; + + buildInputs = [ + kcolorpicker + kimageannotator + qtsvg + qttranslations + qtx11extras + ]; + + meta = with lib; { + homepage = "https://github.com/ksnip/ksnip"; + description = "Cross-platform screenshot tool wihth many annotation features"; + longDescription = '' + Features: + + - Supports Linux (X11, Plasma Wayland, GNOME Wayland and xdg-desktop-portal Wayland), Windows and macOS. + - Screenshot of a custom rectangular area that can be drawn with mouse cursor. + - Screenshot of last selected rectangular area without selecting again. + - Screenshot of the screen/monitor where the mouse cursor is currently located. + - Screenshot of full-screen, including all screens/monitors. + - Screenshot of window that currently has focus. + - Screenshot of window under mouse cursor. + - Screenshot with or without mouse cursor. + - Capture mouse cursor as annotation item that can be moved and deleted. + - Customizable capture delay for all capture options. + - Upload screenshots directly to imgur.com in anonymous or user mode. + - Upload screenshots via custom user defined scripts. + - Command-line support, for capturing screenshots and saving to default location, filename and format. + - Filename wildcards for Year ($Y), Month ($M), Day ($D), Time ($T) and Counter (multiple # characters for number with zero-leading padding). + - Print screenshot or save it to PDF/PS. + - Annotate screenshots with pen, marker, rectangles, ellipses, texts and other tools. + - Annotate screenshots with stickers and add custom stickers. + - Obfuscate image regions with blur and pixelate. + - Add effects to image (Drop Shadow, Grayscale, invert color or Border). + - Add watermarks to captured images. + - Global hotkeys for capturing screenshots (currently only for Windows and X11). + - Tabs for screenshots and images. + - Open existing images via dialog, drag-and-drop or paste from clipboard. + - Run as single instance application (secondary instances send cli parameter to primary instance). + - Pin screenshots in frameless windows that stay atop other windows. + - User-defined actions for taking screenshot and post-processing. + - Many configuration options. + ''; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ x3ro ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b6a340bd6ab0..9b4042c00101 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -914,6 +914,8 @@ with pkgs; gofu = callPackage ../applications/misc/gofu { }; + ksnip = libsForQt5.callPackage ../tools/misc/ksnip { }; + linux-router = callPackage ../tools/networking/linux-router { }; linux-router-without-wifi = linux-router.override { useWifiDependencies = false; };