mirror of
https://github.com/ivuorinen/dotfiles.git
synced 2026-02-05 21:49:21 +00:00
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:
@@ -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
|
||||
|
||||
|
||||
@@ -80,4 +80,3 @@ trap 'case $? in
|
||||
esac' EXIT
|
||||
|
||||
gitdirtyrepos "$GIT_DIRTY_DIR"
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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}"
|
||||
|
||||
@@ -41,4 +41,3 @@ mysqldump \
|
||||
| mysql "${DATABASE}" \
|
||||
| sed '/Tables_in/d'
|
||||
)" > "${FILENAME_TIMESTAMP}"
|
||||
|
||||
|
||||
@@ -17,4 +17,3 @@ if [[ "$missing_attributes" ]]; then
|
||||
else
|
||||
echo "All files have a corresponding rule in .gitattributes"
|
||||
fi
|
||||
|
||||
|
||||
@@ -14,4 +14,3 @@ for dir in $($cmd); do
|
||||
eval "$@" # allow multiple commands like "foo && bar"
|
||||
)
|
||||
done
|
||||
|
||||
|
||||
@@ -19,4 +19,3 @@ lsof -i 4 -P -n +c 0 \
|
||||
| uniq
|
||||
|
||||
echo ""
|
||||
|
||||
|
||||
@@ -104,4 +104,3 @@ for name in "$@"; do
|
||||
echo " Days: ${diff}"
|
||||
fi
|
||||
done
|
||||
|
||||
|
||||
@@ -10,4 +10,3 @@
|
||||
while [ $? -eq 0 ]; do
|
||||
"$@"
|
||||
done
|
||||
|
||||
|
||||
@@ -22,4 +22,3 @@
|
||||
while [ $? -ne 0 ]; do
|
||||
"$@"
|
||||
done
|
||||
|
||||
|
||||
@@ -50,4 +50,3 @@ elif [ "$(get_sha256sum "$filename")" = "$file_hash" ]; then
|
||||
else
|
||||
error "$filename doesn't match provided sha256sum"
|
||||
fi
|
||||
|
||||
|
||||
@@ -30,4 +30,3 @@ done
|
||||
shift
|
||||
|
||||
"$@"
|
||||
|
||||
|
||||
@@ -43,4 +43,3 @@ if [ "$1" != "ssh" ]; then
|
||||
fi
|
||||
|
||||
"$@"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user