_script="$(realpath ${BASH_SOURCE[0]})" _scriptname="$(basename $_script)" _scriptdir="$(dirname $_script)" _modulename="$(basename $_scriptdir)" DOT_MODULE_NAME="i3" function preinstall() { if ! [[ -x "$(command -v i3)" ]]; then PACKAGES+=("i3-gaps" "i3status") fi if ! [[ -x "$(command -v i3lock)" ]]; then PACKAGES+=("i3lock" "polkit") fi if ! [[ -x "$(command -v dmenu)" ]]; then PACKAGES+=("dmenu") fi if ! [[ -x "$(command -v startx)" ]]; then PACKAGES+=("xorg" "xorg-xinit") fi if ! [[ -x "$(command -v xss-lock)" ]]; then PACKAGES+=("xss-lock") fi if ! [[ -x "$(command -v scrot)" ]]; then PACKAGES+=("scrot") fi if ! [[ -x "$(command -v convert)" ]]; then PACKAGES+=("imagemagick") fi } function install() { # backup old file if it exists and we haven't backed it up before if [[ -f "$HOME/.config/i3/config" ]] && ! [[ -f "$HOME/.config/i3/config.bak" ]] && ! [[ -f "$_scriptdir/.firstrun" ]]; then log verbose "making backup" cp "$HOME/.config/i3/config" "$HOME/.config/i3/config.bak" touch "$_scriptdir/.firstrun" fi log info "linking i3 config" mkdir -p "$HOME/.config/i3" ln -sf "$_scriptdir/config" "$HOME/.config/i3/config" log info "linking xinitrc" ln -sf "$_scriptdir/xinitrc" "$HOME/.xinitrc" }