#!/usr/bin/env bash cd "$(dirname "$0")" || exit 1 git submodule update --init --recursive || (echo "Submodule update failed!"; exit 5) # Source inst and diff function . ./utils/inst # Load if we force changes (implies no interaction) [ "$1" = "-f" ] && FORCE=true || FORCE=false ################################################################################# source private/install # private files, sorry but some privacy is required. # TODO on hosts without shellrc we might want some thin shellrc to be installed if ask "profile" "Install shell profile"; then inst profile ~/.profile inst zprofile ~/.zprofile fi if ask "git" "Install GIT configuration"; then inst gitconfig ~/.gitconfig inst gitignore ~/.gitignore inst local/bin/cznic-git-config ~/.local/bin/cznic-git-config fi if ask "gpg" "Install GPG configuration"; then inst gnupg/gpg.conf ~/.gnupg/gpg.conf fi if ask "gnuscreen" "Install configurations for various utility tools"; then inst screenrc ~/.screenrc fi if ask "ssh" "Install SSH config"; then mkdir -p ~/.cache/ssh # directory for sockets inst private/ssh_config ~/.ssh/config inst local/bin/sshvnc ~/.local/bin/sshvnc fi if ask "vim" "Install VIM scripts"; then inst vimrc ~/.vimrc inst vim/ ~/.vim mkdir -p ~/.cache/vim # directory for *.swp files mkdir -p ~/.cache/vim-undo # directory for undo files # Vim plugin manager [ -d ~/.vim/bundle/Vundle.vim ] || { mkdir -p ~/.vim/bundle git clone "https://github.com/VundleVim/Vundle.vim.git" ~/.vim/bundle/Vundle.vim } vim +PluginUpdate +qall # cs spelling mkdir -p ~/.vim/spell curl "http://ftp.vim.org/vim/runtime/spell/cs.utf-8.spl" > ~/.vim/spell/cs.utf-8.spl fi if ask "dev" "Development tools configuration"; then inst config/pycodestyle ~/.config/pycodestyle inst flake8 ~/.flake8 inst pylintrc ~/.pylintrc inst config/mypy/ ~/.config/mypy fi if ask "sync" "Install synchronization"; then inst local/bin/allsync ~/.local/bin/allsync if [ "$(ps -o comm= 1)" = "systemd" ]; then inst config/systemd/user/allsync.service ~/.config/systemd/user/ inst config/systemd/user/allsync.timer ~/.config/systemd/user/ fi inst private/mbsyncrc ~/.mbsyncrc inst private/notmuch-config ~/.notmuch-config inst private/notmuch-tag-new ~/.notmuch-tag-new inst local/bin/email-unread ~/.local/bin/email-unread inst local/sbin/newmail-notify ~/.local/sbin/newmail-notify inst private/msmtprc ~/.msmtprc inst private/astroid/config ~/.config/astroid/config inst private/vdirsyncer/ ~/.vdirsyncer inst config/khal/config ~/.config/khal/config inst config/khard/khard.conf ~/.config/khard/khard.conf inst_sync fi if ask "desktop" "Install desktop"; then # Theme inst gtk-2.0/gtkrc ~/.gtkrc-2.0 inst gtk-3.0/ ~/.config/gtk-3.0/ inst config/Trolltech.conf ~/.config/Trolltech.conf # User directories inst config/user-dirs.conf ~/.config/user-dirs.dirs # Sway inst local/bin/startsway ~/.local/bin/startsway inst config/sway/ ~/.config/sway inst Xdefaults ~/.Xdefaults inst config/dunst/ ~/.config/dunst inst config/i3blocks/ ~/.config/i3blocks inst config/swaylock/ ~/.config/swaylock inst config/swayidle/ ~/.config/swayidle inst config/wofi/ ~/.config/wofi [ -f "private/kanshi/$(hostname)" ] \ && inst "private/kanshi/$(hostname)" ~/.config/kanshi/config inst config/xdg-desktop-portal-wlr/ ~/.config/xdg-desktop-portal-wlr inst local/bin/wlr-select-screen ~/.local/bin/wlr-select-screen fi if ask "alacritty" "Install configurations for terminal emulator"; then inst config/alacritty.yml ~/.config/alacritty.yml fi if ask "mpd" "Install MPD configuration"; then inst config/mpd/ ~/.config/mpd fi if ask "nix" "Install nix configuration"; then inst config/nix/ ~/.config/nix fi if ask "wake-desktop" "Install wake-desktop"; then inst local/bin/wake-desktop ~/.local/bin/wake-desktop fi