#!/bin/bash -e # Enable multilib & add extra repos {{{ sudo cp /etc/pacman.conf{,.bak} sudo sed -i /etc/pacman.conf \ -e 's/^#\(Color\)/\1\nILoveCandy/' \ -e '/\[multilib\]/,/Include/s/^#//' \ -e '$ a [oracle]\nSigLevel = Optional TrustAll' \ -e '$ a Server = http://linux.shikadi.net/arch/$repo/$arch' \ -e '$ a [quarry]\nServer = https://pkgbuild.com/~anatolik/quarry/x86_64/' # }}} # Update system and install basic packages {{{ sudo pacman-key --init sudo pacman-key --populate archlinux sudo pacman -Syyu sudo pacman -S base-devel git aria2 reflector go --noconfirm git clone https://aur.archlinux.org/yay.git /tmp/yay (cd /tmp/yay && makepkg -sic --noconfirm) # }}} # Rank pacman mirrors {{{ sudo cp /etc/pacman.d/mirrorlist{,.bak} REF_OPTS=('--country GR' '--country DE' '--country FR' '--protocol https' '--protocol ftp' '--age 12' '--sort rate' '--save /etc/pacman.d/mirrorlist') # shellcheck disable=SC2068 sudo reflector ${REF_OPTS[@]} sudo mkdir -p /etc/pacman.d/hooks sudo tee /etc/pacman.d/hooks/mirrorupgrade.hook >/dev/null </dev/null </dev/null gulp --completion=bash | sudo tee \ "$DIRECTORY/gulp-completion.bash" >/dev/null pip completion -b | sudo tee "$DIRECTORY/pip-completion.bash" >/dev/null unset -f DIRECTORY raw # }}} # Install from github reporisotories {{{ clone() { hub clone --depth=1 "$@" "/tmp/${1##*/}"; } clone eli-schwartz/dotfiles.sh (cd /tmp/dotfiles.sh && sudo make) clone rkitover/vimpager (cd /tmp/vimpager && sudo make PREFIX=/usr/local docs install) clone ObserverOfTime/sddm-patema sudo -E /tmp/sddm-patema/install.sh # clone ObserverOfTime/PKGBUILDS # TODO: wait for Jguer/yay#694 # }}} # Configure grub {{{ THEME=/boot/grub/themes/Lain SWAP="$(swapon --show=NAME --noheadings)" SWAP="${SWAP+ resume=$SWAP}" clone ObserverOfTime/grub2-theme-lain sudo cp -r /tmp/grub2-theme-lain/Lain "$THEME" sudo cp /etc/default/grub{,.bak} sudo tee /etc/default/grub >/dev/null </dev/null nvim --headless +PlugInstall +qa >/dev/null sudo update-alternatives --set editor /usr/bin/nvim sudo tee --append /etc/sudoers <<< \ 'Defaults env_keep += "EDITOR"' >/dev/null # }}} # Setup mozilla profiles {{{ mkdir -p ~/.thunderbird ~/.mozilla/firefox rclone sync -vv mega:/Thunderbird \ ~/.thunderbird/o8q08m34.default cat > ~/.thunderbird/profiles.ini <<'EOF' [Profile0] Name=default IsRelative=1 Path=o8q08m34.default EOF rclone sync -vv mega:/Firefox \ ~/.mozilla/firefox/6fgcqba8.dev-edition-default cat > ~/.mozilla/firefox/profiles.ini <<'EOF' [Profile0] Name=dev-edition-default IsRelative=1 Path=6fgcqba8.dev-edition-default EOF sudo tee /etc/pacman.d/hooks/firefox.hook >/dev/null </dev/null <<'EOF' KEYMAP=us FONT=ter-v18n FONT_MAP=8859-2 EOF sudo sed -i /etc/mkinitcpio.conf \ -re 's/(^HOOKS="[^"]*)"/\1 consolefont"/' sudo mkinitcpio -p linux # }}} # vim:fdm=marker:fdl=0: