diff --git a/pkgs/desktops/pantheon/apps/elementary-iconbrowser/default.nix b/pkgs/desktops/pantheon/apps/elementary-iconbrowser/default.nix new file mode 100644 index 000000000000..64b9b67cb788 --- /dev/null +++ b/pkgs/desktops/pantheon/apps/elementary-iconbrowser/default.nix @@ -0,0 +1,75 @@ +{ lib +, stdenv +, fetchFromGitHub +, nix-update-script +, meson +, ninja +, pkg-config +, python3 +, vala +, wrapGAppsHook4 +, elementary-gtk-theme +, elementary-icon-theme +, glib +, granite7 +, gtk4 +, gtksourceview5 +}: + +stdenv.mkDerivation rec { + pname = "elementary-iconbrowser"; + version = "2.0.0"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = "iconbrowser"; + rev = version; + sha256 = "sha256-aXFgL5l9jnOZJJgMOYwiE7W//1sq23CbLEDmhYFJT38="; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + python3 + vala + wrapGAppsHook4 + ]; + + buildInputs = [ + elementary-icon-theme + glib + granite7 + gtk4 + gtksourceview5 + ]; + + postPatch = '' + chmod +x meson/post_install.py + patchShebangs meson/post_install.py + ''; + + preFixup = '' + gappsWrapperArgs+=( + # The GTK theme is hardcoded. + --prefix XDG_DATA_DIRS : "${elementary-gtk-theme}/share" + # The icon theme is hardcoded. + --prefix XDG_DATA_DIRS : "$XDG_ICON_DIRS" + ) + ''; + + passthru = { + updateScript = nix-update-script { + attrPath = "pantheon.${pname}"; + }; + }; + + meta = with lib; { + homepage = "https://github.com/elementary/iconbrowser"; + description = "Browse and find system icons"; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = teams.pantheon.members; + mainProgram = "io.elementary.iconbrowser"; + }; +} diff --git a/pkgs/desktops/pantheon/default.nix b/pkgs/desktops/pantheon/default.nix index 77f8d3568037..defa583e98a2 100644 --- a/pkgs/desktops/pantheon/default.nix +++ b/pkgs/desktops/pantheon/default.nix @@ -67,6 +67,8 @@ lib.makeScope pkgs.newScope (self: with self; { elementary-feedback = callPackage ./apps/elementary-feedback { }; + elementary-iconbrowser = callPackage ./apps/elementary-iconbrowser { }; + elementary-mail = callPackage ./apps/elementary-mail { }; elementary-music = callPackage ./apps/elementary-music { };