depot/third_party/nixpkgs/pkgs/by-name/ca/catppuccin-kde/package.nix

97 lines
2 KiB
Nix

{
lib,
stdenvNoCC,
fetchFromGitHub,
fetchpatch,
flavour ? [ "frappe" ],
accents ? [ "blue" ],
winDecStyles ? [ "modern" ],
}:
let
validFlavours = [
"mocha"
"macchiato"
"frappe"
"latte"
];
validAccents = [
"rosewater"
"flamingo"
"pink"
"mauve"
"red"
"maroon"
"peach"
"yellow"
"green"
"teal"
"sky"
"sapphire"
"blue"
"lavender"
];
validWinDecStyles = [
"modern"
"classic"
];
colorScript = ./color.sh;
in
lib.checkListOfEnum "Invalid accent, valid accents are ${toString validAccents}" validAccents
accents
lib.checkListOfEnum
"Invalid flavour, valid flavours are ${toString validFlavours}"
validFlavours
flavour
lib.checkListOfEnum
"Invalid window decoration style, valid styles are ${toString validWinDecStyles}"
validWinDecStyles
winDecStyles
stdenvNoCC.mkDerivation
rec {
pname = "kde";
version = "0.2.6";
src = fetchFromGitHub {
owner = "catppuccin";
repo = pname;
rev = "v${version}";
hash = "sha256-pfG0L4eSXLYLZM8Mhla4yalpEro74S9kc0sOmQtnG3w=";
};
patches = [
(fetchpatch {
url = "https://github.com/GiggleSquid/catppuccin-kde/commit/f0291c17d2e4711b0d0aac00e3dbb94ee89b4a82.patch";
hash = "sha256-iD+mEX2LRFmrCwLr3VAs6kzcTuZ231TKDn+U188iOss=";
})
];
installPhase = ''
runHook preInstall
patchShebangs .
for WINDECSTYLE in ${toString winDecStyles}; do
for FLAVOUR in ${toString flavour}; do
for ACCENT in ${toString accents}; do
source ${colorScript}
./install.sh $FLAVOUR $ACCENT $WINDECSTYLE
done;
done;
done;
runHook postInstall
'';
meta = with lib; {
description = "Soothing pastel theme for KDE";
homepage = "https://github.com/catppuccin/kde";
license = licenses.mit;
maintainers = with maintainers; [
michaelBelsanti
gigglesquid
];
};
}