Install this version:
emerge -a =x11-themes/catppuccin-kde-0.3.1
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =x11-themes/catppuccin-kde-0.3.1
Or alternatively:
emerge --autounmask-write -a =x11-themes/catppuccin-kde-0.3.1
# Copyright 1999-2026 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# shellcheck shell=bash
# shellcheck disable=SC2034
EAPI=8
MY_PN="kde"
if [[ "${PV}" == *_pre* ]]; then
MY_PV=""
SRC_A="${MY_PV}.tar.gz"
else
MY_PV="${PV}"
SRC_A="v${MY_PV}.tar.gz"
fi
MY_P="${MY_PN}-${MY_PV}"
DESCRIPTION="Soothing pastel theme for KDE"
HOMEPAGE="https://github.com/catppuccin/kde"
SRC_URI="https://github.com/catppuccin/${MY_PN}/archive/${SRC_A} -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~x86"
# order as in ./install.sh !IMPORTANT!
FLAVOURS=( mocha macchiato frappe latte )
ACCENTS=( rosewater flamingo pink mauve red maroon peach yellow green teal sky sapphire blue lavender )
STYLES=( modern classic )
setup_iuse() {
IUSE="${FLAVOURS[*]/#/catppuccin_flavours_} ${ACCENTS[*]/#/catppuccin_accents_} ${STYLES[*]/#/catppuccin_styles_}"
# defaults
local i
for i in catppuccin_flavours_mocha catppuccin_accents_lavender catppuccin_styles_classic; do
IUSE="${IUSE/${i}/+${i}}"
done
}
setup_iuse
# require at least one of each
# only allow 1 style because their directory names clash
REQUIRED_USE="
|| ( ${FLAVOURS[*]/#/catppuccin_flavours_} )
|| ( ${ACCENTS[*]/#/catppuccin_accents_} )
^^ ( ${STYLES[*]/#/catppuccin_styles_} )
"
S="${WORKDIR}/${MY_P}"
PATCHES=( "${FILESDIR}/0.3.1-distro-package.patch" )
src_compile() {
mkdir -p "${WORKDIR}"/out/{aurorae,global,color}
local flavour style accent
# aurorae theme depends on flavour and style
for flavour in "${!FLAVOURS[@]}"; do
use "catppuccin_flavours_${FLAVOURS[${flavour}]}" || continue
for style in "${!STYLES[@]}"; do
use "catppuccin_styles_${STYLES[${style}]}" || continue
einfo "Making '${STYLES[${style}]}' windowdecorations for flavour '${FLAVOURS[${flavour}]}'"
./install.sh \
--quiet \
"$(( flavour + 1 ))" \
"1" \
"$(( style + 1 ))" \
"aurorae" \
|| die "Making windowdecorations failed"
# grab what we want then clean
local name="Catppuccin${FLAVOURS[${flavour}]^}-${STYLES[${style}]^}"
mv -nt "${WORKDIR}/out/aurorae/" "dist/${name}" || die "mv failed"
rm -r dist || die "rm failed"
done
done
# global theme depends on flavour, accent and style
for flavour in "${!FLAVOURS[@]}"; do
use "catppuccin_flavours_${FLAVOURS[${flavour}]}" || continue
for accent in "${!ACCENTS[@]}"; do
use "catppuccin_accents_${ACCENTS[${accent}]}" || continue
for style in "${!STYLES[@]}"; do
use "catppuccin_styles_${STYLES[${style}]}" || continue
einfo "Making '${STYLES[${style}]}' global theme for flavour '${FLAVOURS[${flavour}]}' with haccent '${ACCENTS[${accent}]}'"
./install.sh \
--quiet \
"$(( flavour + 1 ))" \
"$(( accent + 1 ))" \
"$(( style + 1 ))" \
"global" \
|| die "Making global themes failed"
# grab what we want then clean
local name="Catppuccin-${FLAVOURS[${flavour}]^}-${ACCENTS[${accent}]^}"
mv -nt "${WORKDIR}/out/global/" "dist/${name}" || die "mv failed"
# merge splash into global
pushd "dist/${name}-splash" >/dev/null || die "pushd failed"
local file
while IFS='' read -rd '' file; do
mkdir -p "${WORKDIR}/out/global/${name}/${file%/*}" || die "merge splash failed"
mv -nt "${WORKDIR}/out/global/${name}/${file%/*}" "${file}" || die "merge splash failed"
done < <(find . -type f -print0)
popd >/dev/null || die "popd failed"
rm -r dist || die "rm failed"
done
done
done
# colors depend on flavour and accent
for flavour in "${!FLAVOURS[@]}"; do
use "catppuccin_flavours_${FLAVOURS[${flavour}]}" || continue
for accent in "${!ACCENTS[@]}"; do
use "catppuccin_accents_${ACCENTS[${accent}]}" || continue
einfo "Making colorscheme for flavour '${FLAVOURS[${flavour}]}' with accent '${ACCENTS[${accent}]}'"
./install.sh \
--quiet \
"$(( flavour + 1 ))" \
"$(( accent + 1 ))" \
"1" \
"color" \
|| die "Making colorscheme failed"
# grab what we want then clean
local name="Catppuccin${FLAVOURS[${flavour}]^}${ACCENTS[${accent}]^}"
mv -nt "${WORKDIR}/out/color/" "dist/${name}.colors" || die "mv failed"
rm -r dist || die "rm failed"
done
done
}
src_install() {
# aurorae theme
insinto /usr/share/aurorae/themes/
doins -r "${WORKDIR}"/out/aurorae/*
# global theme
insinto /usr/share/plasma/look-and-feel/
doins -r "${WORKDIR}"/out/global/*
# color scheme
insinto /usr/share/color-schemes/
doins -r "${WORKDIR}"/out/color/*
}
| Type | File | Size | Source URLs |
|---|---|---|---|
| DIST | catppuccin-kde-0.3.1.tar.gz | 6892847 bytes | https://github.com/catppuccin/kde/archive/v0.3.1.tar.gz |