msg() {
    ALL_OFF="\e[1;0m"
    BOLD="\e[1;1m"
    RED="${BOLD}\e[1;31m"
	local mesg=$1; shift
	printf "${RED}==>${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}" "$@" >&2
}

post_install() {
  systemctl enable btrfs-balance.timer
  systemctl enable btrfs-defrag.timer
  systemctl enable btrfs-scrub.timer
  systemctl enable btrfs-trim.timer
  systemctl enable fstrim.timer
  systemctl enable grub-btrfs.path
  systemctl enable haveged
  systemctl enable memavaild
  systemctl enable preload
  systemctl enable prelockd
  systemctl enable systemd-oomd
}

post_upgrade() {
  msg "Disable conflicting services..."
  systemctl disable --now ananicy
  systemctl disable --now irqbalance
  systemctl disable --now nohang-desktop
  systemctl disable --now systemd-swap
  systemctl disable --now uresourced

  msg "Attempting to enable services..."
  systemctl enable btrfs-balance.timer
  systemctl enable btrfs-defrag.timer
  systemctl enable btrfs-scrub.timer
  systemctl enable btrfs-trim.timer
  systemctl enable fstrim.timer
  systemctl enable grub-btrfs.path
  systemctl enable haveged
  systemctl enable memavaild
  systemctl enable preload
  systemctl enable prelockd
  systemctl enable systemd-oomd
  
  msg "Updating font cache..."
  mkfontscale /usr/share/fonts/TTF /usr/share/fonts/OTF /usr/share/fonts/misc > /dev/null 2>&1
  mkfontdir /usr/share/fonts/TTF /usr/share/fonts/OTF /usr/share/fonts/misc > /dev/null 2>&1
  fc-cache -s >/dev/null

  echo ""
  msg "Performing misc postinstall operations..."
  glib-compile-schemas usr/share/glib-2.0/schemas
  gtk-update-icon-cache -ftq usr/share/icons/hicolor
  /bin/sh -c 'dconf update'
  
  echo ""
  msg "Done! 
  This update replaces systemd-swap with zram-generator, nohang with systemd-oomd & makes irqbalance, uresourced and ananicy optdepends. If please remove the resulting orphans after this update by using the Garuda Assistant option!"
  echo ""
}