1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 nix-update-script,
6 meson,
7 ninja,
8 vala,
9 pkg-config,
10 wrapGAppsHook3,
11 appstream,
12 desktop-file-utils,
13 python3,
14 libgee,
15 glib,
16 gtk3,
17 sqlite,
18 at-spi2-atk,
19 at-spi2-core,
20 dbus,
21 ibus,
22 json-glib,
23 pantheon,
24 xorg,
25}:
26
27stdenv.mkDerivation rec {
28 pname = "snippetpixie";
29 version = "1.5.3";
30
31 src = fetchFromGitHub {
32 owner = "bytepixie";
33 repo = "snippetpixie";
34 rev = version;
35 sha256 = "0gs3d9hdywg4vcfbp4qfcagfjqalfgw9xpvywg4pw1cm3rzbdqmz";
36 };
37
38 nativeBuildInputs = [
39 meson
40 ninja
41 vala
42 pkg-config
43 wrapGAppsHook3
44 appstream
45 desktop-file-utils
46 python3
47 ];
48
49 buildInputs = [
50 libgee
51 glib
52 gtk3
53 sqlite
54 at-spi2-atk
55 at-spi2-core
56 dbus
57 ibus
58 json-glib
59 xorg.libXtst
60 pantheon.granite
61 ];
62
63 doCheck = true;
64
65 postPatch = ''
66 chmod +x meson/post_install.py
67 patchShebangs meson/post_install.py
68 '';
69
70 passthru = {
71 updateScript = nix-update-script { };
72 };
73
74 meta = with lib; {
75 description = "Your little expandable text snippet helper";
76 longDescription = ''
77 Your little expandable text snippet helper.
78
79 Save your often used text snippets and then expand them whenever you type their abbreviation.
80
81 For example:- "spr`" expands to "Snippet Pixie rules!"
82
83 For non-accessible applications such as browsers and Electron apps, there's a shortcut (default is Ctrl+`) for opening a search window that pastes the selected snippet.
84 '';
85 homepage = "https://www.snippetpixie.com";
86 license = licenses.gpl2Plus;
87 teams = [ teams.pantheon ];
88 platforms = platforms.linux;
89 mainProgram = "com.github.bytepixie.snippetpixie";
90 };
91}