Many updates and improvements

- yamllint
- shfmt config
- fix Go bin path
- fix git credentials config
- add nvm default packages
- updated Brewfile
This commit is contained in:
Ismo Vuorinen
2023-03-28 15:27:44 +03:00
parent 6395895beb
commit bb3f4a8f6c
32 changed files with 189 additions and 103 deletions

View File

@@ -49,10 +49,11 @@ function section_install
bash "$DOTFILES/scripts/settler.sh" && msg_done "🎉 Settler has been run!"
;;
*)
menu_section "$USAGE_PREFIX" "all | antigen | starship | npm | macos | settler"
menu_section "$USAGE_PREFIX" "all | antigen | starship | nvm | npm | macos | settler"
menu_item "all" "Installs antigen, macos, brew and ext_gh"
menu_item "antigen" "Updates the antigen.zsh file"
menu_item "starship" "Install starship.rs"
menu_item "nvm" "Install Node Version Manager (nvm)"
menu_item "npm" "Install NPM Packages"
menu_item "macos" "Setup nice macOS defaults"
menu_item "settler" "Runs the WIP settler.sh"
@@ -117,21 +118,34 @@ function section_dotfiles
ln -s ~/.dotfiles/config/astronvim ~/.config/astronvim
ln -s ~/.dotfiles/config/nvim ~/.config/nvim
msg_ok "Linked nvim and astronvim"
hash npm 2>/dev/null && $0 install npm
hash npm 2> /dev/null && $0 install npm
msg_ok "Installed packages"
msg_done "...and we are done!"
;;
yamlfmt)
# format yaml files
yamlfmt -conf "$DOTFILES/.yamlfmt"
;;
shfmt)
# Format shell scripts according to following rules.
find "$DOTFILES" \
\( -name '*.sh' -or -name '*.zsh' -or -name 'x-*' \) \
-exec shfmt -fn -l -w -i 2 -ci -sr -bn {} \;
-type f -perm +111 \
-not -path '*/.git/*' \
-not -path '*dotbot*' \
-not -name '*.pl' \
-not -name '*.py' \
-exec shfmt \
--language-dialect bash \
--func-next-line --list --write \
--indent 2 --case-indent --space-redirects \
--binary-next-line {} \;
msg_done "🎉 dotfiles have been formatted!"
;;
*)
menu_section "$USAGE_PREFIX" "reset_all | reset_nvim | shfmt"
menu_section "$USAGE_PREFIX" "reset_all | reset_nvim | yamlfmt | shfmt"
menu_item "reset_all" "Reset everything, runs all configured reset actions"
menu_item "reset_nvim" "Resets nvim. Deletes caches, removes nvim folders and relinks nvim folders"
menu_item "yamlfmt" "Run yamlfmt to all dotfiles, which are in our control"
menu_item "shfmt" "Run shfmt to all dotfiles"
;;
esac
@@ -144,11 +158,11 @@ function section_check
X_ARCH=$(uname)
case "$1" in
a|arch)
a | arch)
[[ "$2" = "" ]] && echo "$X_ARCH" && exit 0
[[ $X_ARCH = "$2" ]] && exit 0 || exit 1
;;
h|host|hostname)
h | host | hostname)
[[ "$2" = "" ]] && echo "$X_HOSTNAME" && exit 0
[[ $X_HOSTNAME = "$2" ]] && exit 0 || exit 1
;;
@@ -209,4 +223,3 @@ case "$1" in
tests) section_tests "$2" ;;
*) usage && exit 0 ;;
esac

View File

@@ -80,4 +80,3 @@ trap 'case $? in
esac' EXIT
gitdirtyrepos "$GIT_DIRTY_DIR"

View File

@@ -2,12 +2,12 @@
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
@@ -17,7 +17,8 @@ if [[ -o interactive ]]; then
ITERM_SHELL_INTEGRATION_INSTALLED=Yes
ITERM2_SHOULD_DECORATE_PROMPT="1"
# Indicates start of command output. Runs just before command executes.
iterm2_before_cmd_executes() {
iterm2_before_cmd_executes()
{
if [ "$TERM_PROGRAM" = "iTerm.app" ]; then
printf "\033]133;C;\r\007"
else
@@ -25,7 +26,8 @@ if [[ -o interactive ]]; then
fi
}
iterm2_set_user_var() {
iterm2_set_user_var()
{
printf "\033]1337;SetUserVar=%s=%s\007" "$1" $(printf "%s" "$2" | base64 | tr -d '\n')
}
@@ -36,15 +38,17 @@ if [[ -o interactive ]]; then
# \(user.currentDirectory).
whence -v iterm2_print_user_vars > /dev/null 2>&1
if [ $? -ne 0 ]; then
iterm2_print_user_vars() {
true
iterm2_print_user_vars()
{
true
}
fi
iterm2_print_state_data() {
iterm2_print_state_data()
{
local _iterm2_hostname="${iterm2_hostname-}"
if [ -z "${iterm2_hostname:-}" ]; then
_iterm2_hostname=$(hostname -f 2>/dev/null)
_iterm2_hostname=$(hostname -f 2> /dev/null)
fi
printf "\033]1337;RemoteHost=%s@%s\007" "$USER" "${_iterm2_hostname-}"
printf "\033]1337;CurrentDir=%s\007" "$PWD"
@@ -52,18 +56,21 @@ if [[ -o interactive ]]; then
}
# Report return code of command; runs after command finishes but before prompt
iterm2_after_cmd_executes() {
iterm2_after_cmd_executes()
{
printf "\033]133;D;%s\007" "$STATUS"
iterm2_print_state_data
}
# Mark start of prompt
iterm2_prompt_mark() {
iterm2_prompt_mark()
{
printf "\033]133;A\007"
}
# Mark end of prompt
iterm2_prompt_end() {
iterm2_prompt_end()
{
printf "\033]133;B\007"
}
@@ -105,7 +112,8 @@ if [[ -o interactive ]]; then
# * PS1 does not have our escape sequences during command execution
# * After the command executes but before a new one begins, PS1 has escape sequences and
# ITERM2_PRECMD_PS1 has PS1's original value.
iterm2_decorate_prompt() {
iterm2_decorate_prompt()
{
# This should be a raw PS1 without iTerm2's stuff. It could be changed during command
# execution.
ITERM2_PRECMD_PS1="$PS1"
@@ -126,7 +134,8 @@ if [[ -o interactive ]]; then
ITERM2_DECORATED_PS1="$PS1"
}
iterm2_precmd() {
iterm2_precmd()
{
local STATUS="$?"
if [ -z "${ITERM2_SHOULD_DECORATE_PROMPT-}" ]; then
# You pressed ^C while entering a command (iterm2_preexec did not run)
@@ -145,7 +154,8 @@ if [[ -o interactive ]]; then
}
# This is not run if you press ^C while entering a command.
iterm2_preexec() {
iterm2_preexec()
{
# Set PS1 back to its raw value prior to executing the command.
PS1="$ITERM2_PRECMD_PS1"
ITERM2_SHOULD_DECORATE_PROMPT="1"
@@ -158,10 +168,10 @@ if [[ -o interactive ]]; then
# to a VPN.
if [ -z "${iterm2_hostname-}" ]; then
if [ "$(uname)" != "Darwin" ]; then
iterm2_hostname=`hostname -f 2>/dev/null`
iterm2_hostname=$(hostname -f 2> /dev/null)
# Some flavors of BSD (i.e. NetBSD and OpenBSD) don't have the -f option.
if [ $? -ne 0 ]; then
iterm2_hostname=`hostname`
iterm2_hostname=$(hostname)
fi
fi
fi

View File

@@ -10,14 +10,14 @@ if [ -z "${DIRECTORY}" ]; then
fi
if [ -z "${FILENAME}" ]; then
FILENAME=$DIRECTORY
FILENAME=$DIRECTORY
fi
FILENAME=${FILENAME} | \
tr '/' _ | \
iconv -t ascii//TRANSLIT | \
sed -r s/[^a-zA-Z0-9]+/_/g | \
sed -r s/^_+\|-+$//g
FILENAME=${FILENAME} \
| tr '/' _ \
| iconv -t ascii//TRANSLIT \
| sed -r s/[^a-zA-Z0-9]+/_/g \
| sed -r s/^_+\|-+$//g
TIMESTAMP=$(date "+%Y%m%d_%H%M%S")
FILENAME_TIMESTAMP="${FILENAME}_${TIMESTAMP}"

View File

@@ -41,4 +41,3 @@ mysqldump \
| mysql "${DATABASE}" \
| sed '/Tables_in/d'
)" > "${FILENAME_TIMESTAMP}"

View File

@@ -17,4 +17,3 @@ if [[ "$missing_attributes" ]]; then
else
echo "All files have a corresponding rule in .gitattributes"
fi

View File

@@ -14,4 +14,3 @@ for dir in $($cmd); do
eval "$@" # allow multiple commands like "foo && bar"
)
done

View File

@@ -19,4 +19,3 @@ lsof -i 4 -P -n +c 0 \
| uniq
echo ""

View File

@@ -104,4 +104,3 @@ for name in "$@"; do
echo " Days: ${diff}"
fi
done

View File

@@ -10,4 +10,3 @@
while [ $? -eq 0 ]; do
"$@"
done

View File

@@ -22,4 +22,3 @@
while [ $? -ne 0 ]; do
"$@"
done

View File

@@ -50,4 +50,3 @@ elif [ "$(get_sha256sum "$filename")" = "$file_hash" ]; then
else
error "$filename doesn't match provided sha256sum"
fi

View File

@@ -30,4 +30,3 @@ done
shift
"$@"

View File

@@ -43,4 +43,3 @@ if [ "$1" != "ssh" ]; then
fi
"$@"