#!/bin/bash var_DEFAULTFS="/boot:32:ext2:+ swap:256:swap /:7500:ext3 /home:*:ext3" var_TARGET_DIR="/mnt" var_RUNTIME_PACKAGES= var_PKG_SOURCE_TYPE='cd' var_PKG_FILE=/home/arch/fifa/package-list var_FILE_URL="file:///src/core/pkg" var_MIRRORLIST="/etc/pacman.d/mirrorlist" var_UI_TYPE="cli" # set to cli or dia for dialog ###### Phases ( can be overridden by more specific profiles) ###### phase_preparation () { execute worker runtime_packages } phase_basics () { execute worker prepare_disks } phase_system () { execute worker package_list execute worker install_packages execute worker install_bootloader } phase_finish () { execute worker configure_home } ###### Workers ( can be overridden by more specific profiles) ###### worker_runtime_packages () { for pkg in $var_RUNTIME_PACKAGES do $PACMAN -Sy --noconfirm --needed $pkg done } worker_prepare_disks () { partition # use lib-archboot function by default } # Put the list of packages to be installed in $var_PKG_FILE worker_package_list () { #TODO: sensible list of packages true } worker_install_packages () { target_special_fs on [ ! -f $var_PKG_FILE ] && die_error "No package file available!" PKGLIST=`cat $var_PKG_FILE` #TODO: what if $var_PKG_FILE is empty? we should die_error because that's probably not what the user wants.. or can it? will pacman complain? $PACMAN_TARGET -Sy $PKGLIST || die_error "Package installation FAILED." target_special_fs off } worker_install_bootlader () { #TODO: ask which disk, install grub on it true } worker_configure_home () { notify "No actions specified" }