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 ananicy
  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 irqbalance
  systemctl enable memavaild
  systemctl enable nohang-desktop
  systemctl enable preload
  systemctl enable prelockd
  systemctl enable systemd-swap
  systemctl enable uresourced
}

post_upgrade() {
  msg "Attempting to enable services..."
  systemctl is-active ananicy >/dev/null || systemctl enable ananicy
  systemctl is-active btrfs-balance.timer >/dev/null || systemctl enable btrfs-balance.timer
  systemctl is-active btrfs-defrag.timer >/dev/null || systemctl enable btrfs-defrag.timer
  systemctl is-active btrfs-scrub.timer >/dev/null || systemctl enable btrfs-scrub.timer
  systemctl is-active btrfs-trim.timer >/dev/null || systemctl enable btrfs-trim.timer
  systemctl is-active fstrim.timer >/dev/null || systemctl enable fstrim.timer
  systemctl is-active grub-btrfs.path >/dev/null || systemctl enable grub-btrfs.path
  systemctl is-active haveged >/dev/null || systemctl enable haveged
  systemctl is-active irqbalance >/dev/null || systemctl enable irqbalance
  systemctl is-active memavaild >/dev/null || systemctl enable memavaild
  systemctl is-active nohang-desktop >/dev/null || systemctl enable nohang-desktop
  systemctl is-active preload >/dev/null || systemctl enable preload
  systemctl is-active prelockd >/dev/null || systemctl enable prelockd
  systemctl is-active uresourced >/dev/null || systemctl enable uresourced
  systemctl is-active systemd-swap >/dev/null || systemctl enable systemd-swap

  echo ""
  msg "Deactivating pacman-init & initializing keyrings"
  echo ""
  systemctl disable --now pacman-init
  pacman-key --init
  pacman-key --populate chaotic
  pacman-key --populate archlinux
  pacman -Qs blackarch-keyring &&  pacman-key --populate blackarch
  
  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!"
  echo ""
}