dotfiles/packages/papirus-folders-catppuccin/default.nix

44 lines
1.5 KiB
Nix

{ stdenvNoCC, lib, fetchFromGitHub, papirus-icon-theme, gtk3, bash, getent, flavor ? "mocha", accent ? "blue", ... }:
let
validAccents = [ "blue" "flamingo" "green" "lavender" "maroon" "mauve" "peach" "pink" "red" "rosewater" "sapphire" "sky" "teal" "yellow" ];
validFlavors = [ "latte" "frappe" "macchiato" "mocha" ];
pname = "catppuccin-papirus-folders";
in
lib.checkListOfEnum "${pname}: accent color" validAccents [accent]
lib.checkListOfEnum "${pname}: flavor" validFlavors [flavor]
stdenvNoCC.mkDerivation rec {
inherit pname;
version = "unstable-2022-12-04";
src = fetchFromGitHub {
owner = "catppuccin";
repo = "papirus-folders";
rev = "1a367642df9cf340770bd7097fbe85b9cea65bcb";
sha256 = "sha256-mFDfRVDA9WyriyFVzsI7iqmPopN56z54FvLkZDS2Dv8=";
};
buildInputs = [bash getent gtk3 papirus-icon-theme];
patchPhase = ''
substituteInPlace ./papirus-folders --replace "getent" "${getent}/bin/getent"
'';
installPhase = ''
mkdir -p $out/share/icons
cp -r ${papirus-icon-theme}/share/icons/Papirus* $out/share/icons
chmod -R u+rw $out
cp -r src/* $out/share/icons/Papirus
for theme in $out/share/icons/*; do
${bash}/bin/bash ./papirus-folders -t $theme -o -C cat-${flavor}-${accent}
gtk-update-icon-cache --force $theme
done
'';
meta = with lib; {
description = "Soothing pastel theme for Papirus Icon Theme folders";
homepage = "https://github.com/catppuccin/papirus-folders";
license = licenses.mit;
maintainers = [ maintainers.nekowinston ];
};
}