nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 meson,
6 ninja,
7 python3,
8 pkg-config,
9 ldc,
10 dconf,
11 dbus,
12 gsettings-desktop-schemas,
13 desktop-file-utils,
14 gettext,
15 gtkd,
16 libsecret,
17 wrapGAppsHook3,
18 libunwind,
19 appstream,
20 nixosTests,
21}:
22
23stdenv.mkDerivation (finalAttrs: {
24 pname = "tilix";
25 version = "1.9.6";
26
27 src = fetchFromGitHub {
28 owner = "gnunn1";
29 repo = "tilix";
30 rev = finalAttrs.version;
31 hash = "sha256-KP0ojwyZ5FaYKW0nK9mGGAiz1h+gTbfjCUDCgN2LAO8=";
32 };
33
34 # Default upstream else LDC fails to link
35 mesonBuildType = [
36 "debugoptimized"
37 ];
38
39 nativeBuildInputs = [
40 desktop-file-utils
41 ldc
42 meson
43 ninja
44 pkg-config
45 python3
46 wrapGAppsHook3
47 appstream
48 ];
49
50 buildInputs = [
51 dbus
52 gettext
53 dconf
54 gsettings-desktop-schemas
55 gtkd
56 libsecret
57 libunwind
58 ];
59
60 postPatch = ''
61 chmod +x meson_post_install.py
62 patchShebangs meson_post_install.py
63 # https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=tilix
64 substituteInPlace source/gx/tilix/{prefeditor/prefdialog.d,terminal/terminal.d} \
65 --replace-fail "(Align." "(GtkAlign."
66 '';
67
68 passthru.tests.test = nixosTests.terminal-emulators.tilix;
69
70 meta = with lib; {
71 description = "Tiling terminal emulator following the Gnome Human Interface Guidelines";
72 homepage = "https://gnunn1.github.io/tilix-web";
73 license = licenses.mpl20;
74 maintainers = with maintainers; [
75 midchildan
76 jtbx
77 ];
78 platforms = platforms.linux;
79 mainProgram = "tilix";
80 };
81})