aboutsummaryrefslogtreecommitdiff
path: root/home/dot_config/yadm/executable_bootstrap
diff options
context:
space:
mode:
Diffstat (limited to 'home/dot_config/yadm/executable_bootstrap')
-rw-r--r--home/dot_config/yadm/executable_bootstrap84
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
+