diff options
Diffstat (limited to 'build.sh')
| -rw-r--r-- | build.sh | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/build.sh b/build.sh new file mode 100644 index 0000000..da1ded6 --- /dev/null +++ b/build.sh @@ -0,0 +1,100 @@ +#!/bin/sh + +set -e + +dwm_version="dwm_farajli-6.5.2" +dmenu_version="dmenu_farajli-5.3.0" +slstatus_version="slstatus_farajli-1.0.1" +st_version="st_farajli-0.9.2.1" + +MAKEDIR() { mkdir -pv "${1}" } + +COPY() { + cp -r "${1}" "${2}" + echo "copied" "${1}" '->' "${2}" +} + +LINK() { + ln -sf "${1}" "${2}" + echo "linked" "${1}" '->' "${2}" +} + +pkg() { + package="${1}" + shift + for action in "${@}"; do + case "${action}" in + "sync") curl -LO https://farajli.net/archive/"${package}".tar.gz ;; + "unpack") tar xf "${package}".tar.gz ;; + "compile") make -C "${package}" ;; + "install") PREFIX=${BINDIR} make -C "${package}" install ;; + "font_install") cp -r font $(FONTDIR) ;; + ?) + echo Invalid usage of pkg >&2 + return 1 + ;; + esac + done +} + +create_dirs() { + MAKEDIR "${BINDIR}" + MAKEDIR "${CONFDIR}" + MAKEDIR "${DATADIR}" + MAKEDIR "${FONTDIR}" +} + +install_bash() { COPY config/bash/bashrc "${BASHRC}" } +install_dunst() { COPY config/dunst "${CONFDIR}" } +install_lf() { COPY config/lf "${CONFDIR}" } +install_mimeapps() { COPY config/mimeapps.list "${CONFDIR}" } +install_mpv() { COPY config/mpv "${CONFDIR}" } +install_nsxiv() { COPY config/nsxiv "${CONFDIR}" } +install_nvim() { COPY config/nvim "${CONFDIR}" } +install_picom() { COPY config/picom "${CONFDIR}" } +install_qutebrowser() { COPY config/qutebrowser "${CONFDIR}" } +install_sxiv() { COPY config/sxiv "${CONFDIR}" } +install_vim() { COPY config/vim "${CONFDIR}" } +install_x11() { COPY config/x11 "${CONFDIR}" } +install_zathura() { COPY config/zathura "${CONFDIR}" } +install_wallpapers() { COPY config/wallpapers "${DATADIR}" } +install_pacman() { sudo cp distros/arch-linux/pacman.conf /etc } + +install_git() { + sed '/# signingkey = <to be set manually>/d' config/git/gitconfig > $(GITCONFIG) + printf '%s\n' \ + "#####################################################################" \ + "Warning: Git commit/tag signing is enabled but signingKey is not set." \ + "#####################################################################" \ + "Configure it manually using:" \ + " gpg --list-secret-keys --keyid-format=long" \ + " git config --global user.signingkey <YOUR_KEY_ID>" >&2 +} + +install_sites() { + MAKEDIR "${CONFDIR}"/sites + COPY config/sites/bookmarks.txt "${CONFDIR}"/sites +} + +install_zsh() { + MAKEDIR $(dirname "${ZCACHE}") + touch "${ZCACHE}" + COPY config/zsh/zshrc "${ZSHRC}" +} + +install_shell() { + COPY config/shell "${CONFDIR}" + LINK "${CONFDIR}"/shell/profile "${BASHPROFILE}" + LINK "${CONFDIR}"/shell/profile "${ZPROFILE}" +} + +install_scripts() { + mkdir -p "${BINDIR}" + COPY scripts/* "${BINDIR}" +} + +install_liberationmono() { pkg LiberationMono sync unpack font_install } +install_dwm() { pkg "${dwm_version}" sync unpack install } +install_st() { pkg "${st_version}" sync unpack install } +install_dmenu() { pkg "${dmenu_version}" sync unpack install } +install_slstatus() { pkg "${slstatus_version}" sync unpack install } |
