#!/bin/sh mv ~/.update-home.log ~/.update-home.log.old if ! test -d ~/.dotfiles; then echo Installing dotfiles... git clone git@git.sr.ht:~jjanzen/.dotfiles ~/.dotfiles >> ~/.update-home.log fi CWD=$(pwd) cd ~/.dotfiles || exit { git stash git checkout main git pull --rebase } >> ~/.update-home.log if ! diff ~/.dotfiles/install ~/.local/bin/update-home >> ~/.update-home.log; then cp ~/.dotfiles/install ~/.local/bin/update-home || exit 1 echo Changes have been made to the install script. echo Running the new install script. ~/.local/bin/update-home exit fi echo Installing configuration files... find -- * -type f -name "*.org" | while read -r file; do emacs --batch "${file}" -f package-initialize --eval '(org-babel-tangle)' >> ~/.update-home.log done echo Installing wallpaper... cp wallpaper ~/.wallpaper fonts_changed=false if ! test -d ~/.local/share/fonts/ComputerModern; then echo Computer Modern font missing. Installing... tar xf ~/.dotfiles/local/share/fonts/ComputerModern.tar.gz -C ~/.local/share/fonts >> ~/.update-home.log fonts_changed=true fi if ! test -f ~/.local/share/fonts/NFM.ttf; then echo Nerd Font Mono font missing. Installing... tar xf ~/.dotfiles/local/share/fonts/NFM.tar.gz -C ~/.local/share/fonts >> ~/.update-home.log fonts_changed=true fi if ! test -d ~/.local/share/fonts/SauceCodePro; then echo Source Code Pro Nerd Font missing. Installing... tar xf ~/.dotfiles/local/share/fonts/SauceCodePro.tar.gz -C ~/.local/share/fonts >> ~/.update-home.log fonts_changed=true fi if [ $fonts_changed = true ]; then echo Updating the font cache... fc-cache -f >> ~/.update-home.log fi cd "${CWD}" || exit