1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 nix-update-script,
6 pkg-config,
7 meson,
8 ninja,
9 vala,
10 desktop-file-utils,
11 gtk3,
12 granite,
13 libhandy,
14 libnotify,
15 vte,
16 libgee,
17 pcre2,
18 wrapGAppsHook3,
19 xvfb-run,
20}:
21
22stdenv.mkDerivation rec {
23 pname = "elementary-terminal";
24 version = "7.0.0";
25
26 src = fetchFromGitHub {
27 owner = "elementary";
28 repo = "terminal";
29 rev = version;
30 sha256 = "sha256-2Z56U6nbqwlbrSMzTYv7cSI7LT7pvDhW0w4f3wxv6ZA=";
31 };
32
33 nativeBuildInputs = [
34 desktop-file-utils
35 meson
36 ninja
37 pkg-config
38 vala
39 wrapGAppsHook3
40 xvfb-run
41 ];
42
43 buildInputs = [
44 granite
45 gtk3
46 libgee
47 libhandy
48 libnotify
49 pcre2
50 vte
51 ];
52
53 passthru = {
54 updateScript = nix-update-script { };
55 };
56
57 meta = with lib; {
58 description = "Terminal emulator designed for elementary OS";
59 longDescription = ''
60 A super lightweight, beautiful, and simple terminal. Comes with sane defaults, browser-class tabs, sudo paste protection,
61 smart copy/paste, and little to no configuration.
62 '';
63 homepage = "https://github.com/elementary/terminal";
64 license = licenses.lgpl3Plus;
65 platforms = platforms.linux;
66 teams = [ teams.pantheon ];
67 mainProgram = "io.elementary.terminal";
68 };
69}