nixos/pkgs/gruvbox-material-icons.nix

45 lines
1.2 KiB
Nix

{ lib, stdenv, fetchFromGitHub, gtk3, papirus-icon-theme, hicolor-icon-theme }:
let lock = builtins.fromJSON (builtins.readFile ../flake.lock);
in stdenv.mkDerivation rec {
pname = lock.nodes.gruvbox-material-gtk.locked.repo + "-icons";
version = lock.nodes.gruvbox-material-gtk.locked.rev;
src = fetchFromGitHub {
owner = lock.nodes.gruvbox-material-gtk.locked.owner;
repo = lock.nodes.gruvbox-material-gtk.locked.repo;
rev = lock.nodes.gruvbox-material-gtk.locked.rev;
sha256 = lock.nodes.gruvbox-material-gtk.locked.narHash;
};
nativeBuildInputs = [ gtk3 ];
propagatedBuildInputs = [ papirus-icon-theme hicolor-icon-theme ];
dontDropIconThemeCache = true;
buildPhase = ''
sed -i 's|^Inherits=.*$|Inherits=Papirus,hicolor|' icons/Gruvbox-Material-Dark/index.theme
'';
installPhase = ''
runHook preInstall
mkdir -p $out/share/icons
mv icons/* $out/share/icons
for theme in $out/share/icons/*; do
gtk-update-icon-cache $theme
done
runHook postInstall
'';
meta = with lib; {
description = "Gruvbox Material for GTK - Icons";
homepage = "https://github.com/sainnhe/gruvbox-material-gtk";
license = licenses.mit;
platforms = platforms.linux;
maintainers = [ ];
};
}