View Raw Ebuild
# Copyright 2023-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit optfeature systemd tmpfiles udev
DESCRIPTION="Configuration files that tweak sysctl values, add udev rules to automatically set schedulers, and provide additional optimizations."
HOMEPAGE="https://github.com/CachyOS/CachyOS-Settings"
SRC_URI="https://github.com/CachyOS/CachyOS-Settings/archive/${PV}.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}/CachyOS-Settings-${PV}"
IUSE="X zram"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64"
RDEPEND="
app-admin/ananicy-cpp
sys-apps/hdparm
sys-apps/inxi
sys-process/procps
virtual/udev
X? ( x11-drivers/xf86-input-libinput )
zram? (
sys-apps/zram-generator
app-arch/zstd
)
"
src_install() {
# /etc configs
insinto /etc
doins -r "${S}/etc/debuginfod"
doins -r "${S}/etc/security"
# scripts
dobin "${S}"/usr/bin/*
# /usr/lib configs
insinto /usr/lib
doins -r "${S}/usr/lib/modprobe.d"
doins -r "${S}/usr/lib/modules-load.d"
doins -r "${S}/usr/lib/NetworkManager"
doins -r "${S}/usr/lib/sysctl.d"
doins -r "${S}/usr/lib/tmpfiles.d"
# systemd unit
systemd_dounit "${S}/usr/lib/systemd/system/pci-latency.service"
# systemd service drop-ins
insinto "$(systemd_get_systemunitdir)/rtkit-daemon.service.d"
doins "${S}/usr/lib/systemd/system/rtkit-daemon.service.d/override.conf"
insinto "$(systemd_get_systemunitdir)/user@.service.d"
doins "${S}/usr/lib/systemd/system/user@.service.d/delegate.conf"
# systemd daemon config drop-ins
local utildir
utildir="$(systemd_get_utildir)"
utildir="${utildir#"${EPREFIX}"}"
insinto "${utildir}"
doins -r "${S}/usr/lib/systemd/journald.conf.d"
doins -r "${S}/usr/lib/systemd/system.conf.d"
doins -r "${S}/usr/lib/systemd/timesyncd.conf.d"
doins -r "${S}/usr/lib/systemd/user.conf.d"
# zram-generator config
if use zram; then
insinto "${utildir}"
doins "${S}/usr/lib/systemd/zram-generator.conf"
fi
# udev rules
local rule
for rule in "${S}"/usr/lib/udev/rules.d/*.rules; do
udev_dorules "${rule}"
done
# X11 config
if use X; then
insinto /usr/share/X11/xorg.conf.d
doins "${S}/usr/share/X11/xorg.conf.d/20-touchpad.conf"
fi
# GNOME schema override and icon
insinto /usr/share/glib-2.0/schemas
doins "${S}/usr/share/glib-2.0/schemas/zz_cachyos.org.gnome.login-screen.gschema.override"
insinto /usr/share/icons
doins "${S}/usr/share/icons/cachyos.svg"
}
pkg_postinst() {
udev_reload
tmpfiles_process thp.conf
optfeature "game-performance power profile switching" sys-power/power-profiles-daemon
}
pkg_postrm() {
udev_reload
}