pkgbase=mkessler
pkgname=(mkessler-base mkessler-xmonad mkessler-x mkessler-audio mkessler-software mkessler-print mkessler-locale mkessler-desktop mkessler-devel mkessler-signing-key)
pkgver=0.6
pkgrel=1
pkgdesc="Base system configuration for mkessler systems"
arch=('any')
license=('MIT')
groups=(mkessler)
url="https://gitlab.com/kesslermaximilian/arch-pkgs"

source=(https://mkessler-arch.maximilian-kessler.de/signing-key.asc)
b2sums=(b0e1a6bc60f99bdda99dd053ef869a9f3f899ced7a4b23db3718baaee374375ca4013ac3eab2eb3ef6d645083722f9305c484661cd1246f6ec2e3bf62dbf95a4)

package_mkessler-base() {
  # Base packages
  depends=(base linux linux-firmware man-db man-pages lvm2)

  # boot manager
  depends+=(grub efibootmgr)

  # standard management utilities
  depends+=(zsh gvim ncdu wget openssh tree sudo htop)

  # terminal emulators
  depends+=(kitty alacritty)

  # network
  depends+=(dhcpcd networkmanager)
}

package_mkessler-xmonad() {
  # haskell utilities
  depends=(stack ghc)

  # libraries needed to build xmonad
  depends+=(libxss libx11)
}

package_mkessler-x() {
  depends=(xorg-server)

  # xorg utilities
  depends+=(xorg-xkill xorg-xev xorg-xrandr xorg-docs xorg-setxkbmap)

  # greeter
  depends+=(lightdm lightdm-gtk-greeter)

  # window managers: i3 and stuff to build xmonad
  depends+=(i3-gaps i3lock i3status i3blocks)

  depends+=(mkessler-xmonad)

  # launching utilities, status bar
  depends+=(dmenu rofi polybar)

  # sets X11 keyboard layout
  install=mkessler-x.install
}

package_mkessler-audio() {
  depends=(pipewire pipewire-pulse pipewire-jack)

  # firmware
  depends+=(alsa-firmware sof-firmware)

  # utilities
  depends+=(pavucontrol alsa-utils qpwgraph)
}

package_mkessler-software() {
  depends=(thunderbird qutebrowser vlc)
  
  # zathura and PDF plugin
  depends+=(zathura zathura-pdf-mupdf zathura-djvu)
  
  # messengers  
  depends+=(signal-desktop element-desktop telegram-desktop)

  depends+=(zoom)

  # python
  depends+=(python python-pip)
}

package_mkessler-print() {
  depends=(cups cups-pdf)
}

package_mkessler-locale() {
  depends=()
  install=mkessler-locale.install
}

package_mkessler-desktop() {
  depends=(mkessler-base mkessler-x mkessler-audio mkessler-software mkessler-print mkessler-locale)
}


package_mkessler-devel() {
  depends=(base-devel)

  depends+=(stack ghc gcc go)

  # python
  depends+=(python python-pip)
}

package_mkessler-signing-key() {
  # Install this package after pacman to ensure that its keyring is initialized
  depends=(pacman)


  install=mkessler-signing-key.install
}