diff options
Diffstat (limited to 'home/dot_config/yadm/executable_bootstrap')
| -rw-r--r-- | home/dot_config/yadm/executable_bootstrap | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/home/dot_config/yadm/executable_bootstrap b/home/dot_config/yadm/executable_bootstrap new file mode 100644 index 0000000..372735d --- /dev/null +++ b/home/dot_config/yadm/executable_bootstrap @@ -0,0 +1,84 @@ +#!/bin/sh + +cd "$(dirname "$0")" +. "$HOME/.profile" +. ./lib/bootstrap + +# never use custom locale in TTY/logs +export LANG=C + +alias s=silent + +# ensure required packages are installed +begintask "installing packages" +"$XDG_CONFIG_HOME/yadm/install-arch" > pkgs.log 2>&1 +endtask +[ $? -eq 0 ] && rm -f pkgs.log || echo " (saved output to pkgs.log)" + +begintask "render templated files" +s yadm alt +endtask + +begintask "ensure dynamic theme files" +s ~/.local/share/bin/mode dark +endtask + +begintask "tidy up repository files" +s yadm reflog expire --expire-unreachable=now --all &&\ +s yadm gc --prune=now +endtask + +# note: vim-plug is already installed system-wide (see ./packages-arch) +begintask "installing vim plugins" +COC_PLUGINS="$(jq --raw-output '.dependencies | keys | join(" ")' \ + "$XDG_CONFIG_HOME/coc/extensions/package.json")" +s nvim --headless +"PlugInstall --sync" +qa &&\ +s nvim --headless +"CocInstall -sync $COC_PLUGINS" +qa +endtask + +[ -e "$HOME/readme.md" ] ||\ +[ $(yadm status -s "$HOME/readme.md" | wc -l) -gt 0 ] && ( + begintask "removing readme.md from home" + cd + rm -f readme.md &&\ + yadm update-index --skip-worktree readme.md + endtask +) + +! command -v st > /dev/null && [ ! -e ~/.local/st ] && ( + begintask "building st (terminal) from source" + mkdir -p ~/.local + cd ~/.local + s git clone --depth 1 https://git.pipeframe.xyz/fork/st + cd st + s make -j + endtask +) + +[ "$(find ~/.ssh -name 'id*' 2>/dev/null | wc -l)" -eq 0 ] && ( + begintask "generating ssh keys" + s ssh-keygen -q -N "" < /dev/zero + endtask +) + +begintask "create XDG user directories" +s xdg-user-dirs-update +endtask + +# TODO: GTK themes +# TODO: OpenZone_Black cursor theme +# TODO: install from scratch and see what's missing + +cat << EOF + +bootstrap finished in $(finishtime)! + +follow-up steps to finish setup: + - install GPG keys + - install nonfree fonts + - clone the pass repository in ~/.local/share/pass + - run the system bootstrap script in ~/.config/yadm/root/bootstrap + - make the switch to microsoft edge + +EOF + |