1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 nix-update-script,
6 meson,
7 ninja,
8 pkg-config,
9 vala,
10 wrapGAppsHook4,
11 elementary-gtk-theme,
12 elementary-icon-theme,
13 glib,
14 granite7,
15 gtk4,
16 gtksourceview5,
17}:
18
19stdenv.mkDerivation rec {
20 pname = "elementary-iconbrowser";
21 version = "8.0.0";
22
23 src = fetchFromGitHub {
24 owner = "elementary";
25 repo = "iconbrowser";
26 rev = version;
27 sha256 = "sha256-T0VCpk3pdq+2gr/UblLu8mRX7TKJrAtyyFk4i+tAVfI=";
28 };
29
30 nativeBuildInputs = [
31 meson
32 ninja
33 pkg-config
34 vala
35 wrapGAppsHook4
36 ];
37
38 buildInputs = [
39 elementary-icon-theme
40 glib
41 granite7
42 gtk4
43 gtksourceview5
44 ];
45
46 preFixup = ''
47 gappsWrapperArgs+=(
48 # The GTK theme is hardcoded.
49 --prefix XDG_DATA_DIRS : "${elementary-gtk-theme}/share"
50 # The icon theme is hardcoded.
51 --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS"
52 )
53 '';
54
55 passthru = {
56 updateScript = nix-update-script { };
57 };
58
59 meta = with lib; {
60 homepage = "https://github.com/elementary/iconbrowser";
61 description = "Browse and find system icons";
62 license = licenses.gpl3Plus;
63 platforms = platforms.linux;
64 teams = [ teams.pantheon ];
65 mainProgram = "io.elementary.iconbrowser";
66 };
67}