#!/bin/sh set -e cd "$(dirname "$0")" I_PREFIX=/ U_BASE=true U_BASH=false U_ZSH=false while [ $# -gt 0 ]; do case "$1" in --help|-h) echo "Usage: $0 [OPTION].." echo echo "Options:" echo " -h, --help" echo " Print this help text." echo " -b, --bash" echo " Install bash configuration" echo " -z, --zsh" echo " Install zsh configuration" echo " --no-base" echo " Do not install base only bash or zsh is installed" echo " --prefix PATH" echo " Install prefix (in default set to /)" exit 0 ;; --bash|-b) U_BASH=true ;; --zsh|-z) U_ZSH=true ;; --no-base) U_BASE=false ;; --prefix) shift I_PREFIX="$1" ;; *) echo "Unknown option: $1" >&2 exit 1 ;; esac shift done # Install shellrc if $U_BASE; then mkdir -p "$I_PREFIX/usr/share/shellrc" cp -r shellrc.d/. "$I_PREFIX/usr/share/shellrc/" fi if $U_BASH; then mkdir -p "$I_PREFIX/etc/bash" cp -r bashrc.d/. "$I_PREFIX/etc/bash/bashrc.d" cat >"$I_PREFIX/etc/bash/bashrc.d/shellrc" <<-"EOF" for sh in /usr/share/shellrc/*; do [ -r "$sh" ] && . "$sh" done EOF mkdir -p "$I_PREFIX/usr/share/bash-completion/completions" cp -r bash-completion/. "$I_PREFIX/usr/share/bash-completion/completions/" fi if $U_ZSH; then mkdir -p "$I_PREFIX/etc/zsh" cat >"$I_PREFIX/etc/zsh/zshrc" <<-"EOF" [[ -o interactive ]] || return # skip on initialization if not interactive for sh in /etc/zsh/zshrc.d/*; do [ -r "$sh" ] && . "$sh" done EOF cp -r zshrc.d/. "$I_PREFIX/etc/zsh/zshrc.d" cat >"$I_PREFIX/etc/zsh/zshrc.d/shellrc" <<-"EOF" for sh in /usr/share/shellrc/*; do [ -r "$sh" ] && . "$sh" done EOF mkdir -p "$I_PREFIX/usr/share/zsh/site-functions" cp -r zsh-completion/. "$I_PREFIX/usr/share/zsh/site-functions" fi