#!/bin/sh set -eu ARCH=$(uname -m) IMAGES="base enlightenment xfce mate cinnamon gnome kde lxde lxqt" REPO= DATE=$(date +%Y%m%d) help() { echo "${0#/*}: [-a arch] [-b base|enlightenment|xfce|mate|cinnamon|gnome|kde|lxde|lxqt] [-r repo]" >&2 } while getopts "a:b:hr:" opt; do case $opt in a) ARCH="$OPTARG";; b) IMAGES="$OPTARG";; h) help; exit 0;; r) REPO="-r $OPTARG $REPO";; *) help; exit 1;; esac done shift $((OPTIND - 1)) build_variant() { variant="$1" IMG_SUFFIX="-$variant" if [ "$variant" = base ]; then IMG_SUFFIX= fi IMG=void-live-${ARCH}-${DATE}${IMG_SUFFIX}.iso GRUB_PKGS="grub-i386-efi grub-x86_64-efi" PKGS="dialog cryptsetup lvm2 mdadm void-docs-browse $GRUB_PKGS" XORG_PKGS="xorg-minimal xorg-input-drivers xorg-video-drivers setxkbmap xauth font-misc-misc terminus-font dejavu-fonts-ttf alsa-plugins-pulseaudio" case $variant in base) ;; enlightenment) PKGS="$PKGS $XORG_PKGS lxdm enlightenment terminology udisks2 firefox-esr" ;; xfce) PKGS="$PKGS $XORG_PKGS lxdm xfce4 gnome-themes-standard gnome-keyring network-manager-applet gvfs-afc gvfs-mtp gvfs-smb udisks2 firefox-esr" ;; mate) PKGS="$PKGS $XORG_PKGS lxdm mate mate-extra gnome-keyring network-manager-applet gvfs-afc gvfs-mtp gvfs-smb udisks2 firefox-esr" ;; cinnamon) PKGS="$PKGS $XORG_PKGS lxdm cinnamon gnome-keyring colord gnome-terminal gvfs-afc gvfs-mtp gvfs-smb udisks2 firefox-esr" ;; gnome) PKGS="$PKGS $XORG_PKGS gnome firefox-esr" ;; kde) PKGS="$PKGS $XORG_PKGS kde5 konsole firefox-esr dolphin" ;; lxde) PKGS="$PKGS $XORG_PKGS lxde lxdm gvfs-afc gvfs-mtp gvfs-smb udisks2 firefox-esr" ;; lxqt) PKGS="$PKGS $XORG_PKGS lxqt lxdm gvfs-afc gvfs-mtp gvfs-smb udisks2 qupzilla" ;; *) >&2 echo "Unknown variant $variant" exit 1 ;; esac ./mklive.sh -a "$ARCH" -o "$IMG" -p "$PKGS" ${REPO} "$@" } [ ! -x mklive.sh ] && exit 0 for image in $IMAGES; do build_variant "$image" done