_etc_overrides_apply() { echo "Applying Omarchy etc-overrides..." # Ensure parent dirs exist. cups-browsed may not be installed yet during ISO # bootstrap; do not create /etc/cups/cups-browsed.conf before the package is # installed or pacman will preserve its packaged file as a noisy .pacnew. install -d /etc/plymouth /etc/security /etc/skel # NOTE: these cp -f's are intentionally destructive on every install/upgrade. # Users who customize /etc/os-release, /etc/plymouth/plymouthd.conf (theme # switch), /etc/cups/cups-browsed.conf, /etc/cups/cups-files.conf, /etc/nsswitch.conf, # /etc/security/faillock.conf, or /etc/skel/.bashrc WILL have their changes # reset to Omarchy defaults each time omarchy-settings-dev is upgraded. This is # the trade-off of routing upstream-owned paths through etc-overrides instead # of pacman backup=(). rm -f /etc/os-release cp -f /usr/share/omarchy/etc-overrides/os-release /etc/os-release cp -f /usr/share/omarchy/etc-overrides/security-faillock.conf /etc/security/faillock.conf cp -f /usr/share/omarchy/etc-overrides/nsswitch.conf /etc/nsswitch.conf if [[ -f /etc/cups/cups-browsed.conf ]]; then install -d /etc/cups cp -f /usr/share/omarchy/etc-overrides/cups-cups-browsed.conf /etc/cups/cups-browsed.conf fi if [[ -f /etc/cups/cups-files.conf && -f /usr/share/omarchy/etc-overrides/cups-cups-files.conf ]]; then systemd-sysusers /etc/sysusers.d/omarchy-cups-browsed.conf install -m 0640 -o root -g cups /usr/share/omarchy/etc-overrides/cups-cups-files.conf /etc/cups/cups-files.conf fi cp -f /usr/share/omarchy/etc-overrides/plymouth-plymouthd.conf /etc/plymouth/plymouthd.conf cp -f /usr/share/omarchy/etc-overrides/dot.bashrc /etc/skel/.bashrc chmod 0644 /etc/os-release /etc/security/faillock.conf /etc/nsswitch.conf \ /etc/plymouth/plymouthd.conf /etc/skel/.bashrc if [[ -f /etc/cups/cups-browsed.conf ]]; then chmod 0644 /etc/cups/cups-browsed.conf fi } post_install() { _etc_overrides_apply } post_upgrade() { _etc_overrides_apply }