# Copyright 2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # shellcheck shell=bash # shellcheck disable=SC2034 EAPI=8 inherit udev tmpfiles systemd DESCRIPTION="Configuration files and tweaks from CachyOS" HOMEPAGE="https://github.com/CachyOS/CachyOS-Settings" SRC_URI="https://github.com/CachyOS/CachyOS-Settings/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" S="${WORKDIR}/CachyOS-Settings-${PV}" LICENSE="GPL-3" SLOT="0" KEYWORDS="~amd64" IUSE="systemd zram" REQUIRED_USE="zram? ( systemd )" RDEPEND=" app-shells/bash sys-apps/hdparm sys-apps/pciutils sys-process/procps virtual/udev zram? ( sys-apps/zram-generator app-arch/zstd ) " src_install() { insinto /etc/security/limits.d/ doins etc/security/limits.d/20-audio.conf # only install script that make sense dobin usr/bin/{dlss-swapper,dlss-swapper-dll,game-performance,kerver,pci-latency,zink-run} insinto /usr/lib/modprobe.d doins usr/lib/modprobe.d/{amdgpu,blacklist,nvidia}.conf insinto /usr/lib/modules-load.d doins usr/lib/modules-load.d/{10-uinput,ntsync}.conf insinto /usr/lib/sysctl.d doins usr/lib/sysctl.d/{99-bore-scheduler,99-cachyos-settings}.conf if use systemd; then # can't use systemd_get_utildir directly # as it includes EPREFIX local systemd_utildir systemd_utildir="$(systemd_get_utildir)" systemd_utildir="${systemd_utildir#"${EPREFIX}"}" insinto "${systemd_utildir}/journald.conf.d" doins usr/lib/systemd/journald.conf.d/00-journal-size.conf insinto "${systemd_utildir}/system.conf.d" doins usr/lib/systemd/system.conf.d/{00-timeout,10-limits}.conf # units systemd_dounit usr/lib/systemd/system/pci-latency.service # dropins (doins to preserve names) insinto "${systemd_utildir}/system" doins -r usr/lib/systemd/system/{rtkit-daemon,user@}.service.d insinto "${systemd_utildir}/user.conf.d" doins usr/lib/systemd/user.conf.d/10-limits.conf if use zram; then insinto "${systemd_utildir}" doins usr/lib/systemd/zram-generator.conf fi fi dotmpfiles usr/lib/tmpfiles.d/{coredump,thp-shrinker,thp}.conf udev_dorules usr/lib/udev/rules.d/{20-audio-pm,30-zram,40-hpet-permissions,50-sata,60-ioschedulers,69-hdparm,71-nvidia,99-cpu-dma-latency}.rules insinto /usr/share/X11/xorg.conf.d doins usr/share/X11/xorg.conf.d/20-touchpad.conf } pkg_postinst() { udev_reload tmpfiles_process {coredump,thp-shrinker,thp}.conf } pkg_postrm() { udev_reload }