#!/usr/bin/env bash # https://writingco.de/how-to-manage-your-dotfiles-with-stow # make sure we have pulled in and updated any submodules git submodule init git submodule update # what directories should be installable by all users including the root user base=( bash ) # folders that should, or only need to be installed for a local user useronly=( editorconfig ghostty git gitui hammerspoon karabiner kitty phpactor process-compose ripgrep tmux vim wezterm yazi zellij zsh ) # run the stow command for the passed in directory ($2) in location $1 stowit() { usr=$1 app=$2 # -v verbose # -R recursive # -t target stow -v -R -t ${usr} ${app} } echo "" echo "Stowing apps for user: ${whoami}" # install apps available to local users and root for app in ${base[@]}; do echo "" echo -e "\033[1mStowing $app\033[0m" stowit "${HOME}" $app done # install only user space folders for app in ${useronly[@]}; do if [[ ! "$(whoami)" = *"root"* ]]; then echo "" echo -e "\033[1mStowing $app\033[0m" stowit "${HOME}" $app fi done echo "" echo "##### ALL DONE"