diff --git a/local/bin/dfm b/local/bin/dfm index 548b43b..acc32ff 100755 --- a/local/bin/dfm +++ b/local/bin/dfm @@ -22,32 +22,32 @@ function section_install case "$1" in all) - $0 install antigen && msg_done "New antigen installed" - $0 install macos && msg_done "macOS Defaults set" - $0 install brew && msg_done "Brewfile defined apps has been installed" - $0 install ext_gh && msg_done "Extensions for GitHub CLI have been installed" - $0 install ext_go && msg_done "Go packages have been installed" + $0 install antigen + $0 install macos + $0 install brew + $0 install ext_gh + $0 install ext_go ;; antigen) - curl -L git.io/antigen > "$DOTFILES/local/bin/antigen.zsh" && msg_done "🎉 Done!" + curl -L git.io/antigen > "$DOTFILES/local/bin/antigen.zsh" && msg_done "🎉 New antigen installed!" ;; brew) - brew bundle install --file="$BREWFILE" && msg_done "🎉 Done!" + brew bundle install --file="$BREWFILE" && msg_done "🎉 macOS Defaults set!" ;; macos) - bash "$DOTFILES/scripts/set-macos-defaults.sh" && msg_done "🎉 Done!" + bash "$DOTFILES/scripts/set-macos-defaults.sh" && msg_done "🎉 Brewfile defined apps has been installed!" ;; ext_go) - bash "$DOTFILES/scripts/install-go-packages.sh" && msg_done "🎉 Done!" + bash "$DOTFILES/scripts/install-go-packages.sh" && msg_done "🎉 Go packages have been installed!" ;; ext_gh) - bash "$DOTFILES/scripts/install-gh-extensions.sh" && msg_done "🎉 Done!" + bash "$DOTFILES/scripts/install-gh-extensions.sh" && msg_done "🎉 Extensions for GitHub CLI have been installed!" ;; settler) - bash "$DOTFILES/scripts/settler.sh" && msg_done "🎉 Done!" + bash "$DOTFILES/scripts/settler.sh" && msg_done "🎉 Settler has been run!" ;; *) - menu_section "$USAGE_PREFIX" "all | antigen | brew | macos | ext_go | ext_gh | settler" + menu_section "$USAGE_PREFIX" "all | antigen | brew | ext_gh | ext_go | macos | settler" menu_item "all" "Installs antigen, macos, brew, ext_gh and ext_go" menu_item "antigen" "Updates the antigen.zsh file" menu_item "brew" "Install Brewfile contents" @@ -103,7 +103,7 @@ function section_dotfiles case "$1" in link) - rcup -B "$HOSTNAME" -f -v && msg_done "🎉 Done!" + rcup -B "$HOSTNAME" -f -v && msg_done "🎉 dotfiles have been linked!" ;; update) # Updates .dotfiles/scripts/install.sh and formats it @@ -112,16 +112,20 @@ function section_dotfiles && sed -i '' "s|$HOME|\$HOME|g" "$INSTALL_SCRIPT" \ && sed -i '' "s|install.sh|$(basename "$INSTALL_SCRIPT")|g" "$INSTALL_SCRIPT" $0 dotfiles shfmt - msg_done "🎉 Done!" + $0 dotfiles link + msg_done "🎉 dotfiles updated and linked!" ;; shfmt) # Format shell scripts according to following rules. - shfmt -fn -l -w -i 2 -ci -sr -bn "$DOTFILES" + find "$DOTFILES" \ + \( -name '*.sh' -or -name '*.zsh' -or -name 'x-*' -or -not '*.pl' \) \ + -exec shfmt -fn -l -w -i 2 -ci -sr -bn {} \; + msg_done "🎉 dotfiles have been formatted!" ;; *) menu_section "$USAGE_PREFIX" "link | update | shfmt" menu_item "link" "Use rcrc to update dotfile links" - menu_item "update" "Updates dotfile links, installs host specific overrides automatically" + menu_item "update" "Updates dotfile links (scripts/install.sh), formats it and runs it." menu_item "shfmt" "Run shfmt to all dotfiles" ;; esac diff --git a/local/bin/x-dupes b/local/bin/x-dupes.pl similarity index 100% rename from local/bin/x-dupes rename to local/bin/x-dupes.pl diff --git a/local/bin/x-multi-ping b/local/bin/x-multi-ping.pl similarity index 100% rename from local/bin/x-multi-ping rename to local/bin/x-multi-ping.pl diff --git a/rcrc b/rcrc index cbf4ebe..26023e1 100644 --- a/rcrc +++ b/rcrc @@ -1,2 +1,2 @@ -EXCLUDES="*.md *.sh *.lock.json Brewfile scripts *-secret" +EXCLUDES="*.md *.sh *.lock.json Brewfile scripts *-secret xbar" HOSTNAME=$(hostname -s) diff --git a/scripts/install-dotfiles.sh b/scripts/install-dotfiles.sh index b6e7c78..e148aa0 100644 --- a/scripts/install-dotfiles.sh +++ b/scripts/install-dotfiles.sh @@ -9,7 +9,7 @@ # env VERBOSE=1 sh install-dotfiles.sh # # DO NOT EDIT THIS FILE -# +# # This file is generated by rcm(7) as: # # rcup -B 0 -g @@ -22,14 +22,12 @@ : ${MKDIR:=/bin/mkdir} : ${RM:=/bin/rm} : ${DIRNAME:=/usr/bin/dirname} -verbose() -{ +verbose() { if [ "$VERBOSE" -gt 0 ]; then echo "$@" fi } -handle_file_cp() -{ +handle_file_cp() { if [ -e "$2" ]; then printf "%s " "overwrite $2? [yN]" read overwrite @@ -47,8 +45,7 @@ handle_file_cp() $MKDIR -p "$($DIRNAME "$2")" $CP -R "$1" "$2" } -handle_file_ln() -{ +handle_file_ln() { if [ -e "$2" ]; then printf "%s " "overwrite $2? [yN]" read overwrite @@ -86,9 +83,9 @@ handle_file_ln "$HOME/.dotfiles/local/bin/antigen.zsh" "$HOME/.local/bin/antigen handle_file_ln "$HOME/.dotfiles/local/bin/dfm" "$HOME/.local/bin/dfm" handle_file_ln "$HOME/.dotfiles/local/bin/git-dirty" "$HOME/.local/bin/git-dirty" handle_file_ln "$HOME/.dotfiles/local/bin/x-check-git-attributes" "$HOME/.local/bin/x-check-git-attributes" -handle_file_ln "$HOME/.dotfiles/local/bin/x-dupes" "$HOME/.local/bin/x-dupes" +handle_file_ln "$HOME/.dotfiles/local/bin/x-dupes.pl" "$HOME/.local/bin/x-dupes.pl" handle_file_ln "$HOME/.dotfiles/local/bin/x-foreach" "$HOME/.local/bin/x-foreach" -handle_file_ln "$HOME/.dotfiles/local/bin/x-multi-ping" "$HOME/.local/bin/x-multi-ping" +handle_file_ln "$HOME/.dotfiles/local/bin/x-multi-ping.pl" "$HOME/.local/bin/x-multi-ping.pl" handle_file_ln "$HOME/.dotfiles/local/bin/x-open-ports" "$HOME/.local/bin/x-open-ports" handle_file_ln "$HOME/.dotfiles/local/bin/x-ssl-expiry-date" "$HOME/.local/bin/x-ssl-expiry-date" handle_file_ln "$HOME/.dotfiles/local/bin/x-until-error" "$HOME/.local/bin/x-until-error" diff --git a/scripts/shared.sh b/scripts/shared.sh index a0e1aaf..7cd7701 100644 --- a/scripts/shared.sh +++ b/scripts/shared.sh @@ -104,3 +104,10 @@ function menu_item() LINE=$(printf '%-15s %-30s\n' "$1" "$2") echo -e "$(__log_indent)$(__log_marker) $LINE" } + +# https://stackoverflow.com/a/85932 +function fn_exists() +{ + declare -f -F "$1" > /dev/null + return $? +}