parent
2a65cc96b3
commit
f793e7aaa0
@ -1,2 +1,3 @@ |
|||||||
*.swp |
*.swp |
||||||
/vim/.netrwhist |
/vim/.netrwhist |
||||||
|
.last-fetch |
||||||
|
@ -0,0 +1,103 @@ |
|||||||
|
#!/bin/bash |
||||||
|
|
||||||
|
# Find the path of the git repository relative to this file. |
||||||
|
export __COMMON_CONFIGS=$(readlink -e "$( dirname "$(realpath -e "${BASH_SOURCE[0]}")" )/..") |
||||||
|
|
||||||
|
# Install EDITOR |
||||||
|
export EDITOR='nvim' |
||||||
|
# Set up the vim config path |
||||||
|
export VIM_CONFIG_DIR=$__COMMON_CONFIGS/vim |
||||||
|
|
||||||
|
# Set potentially-destructive commands to use interactive modes |
||||||
|
alias rm="rm -i" |
||||||
|
alias cp="cp -i" |
||||||
|
alias mv="mv -i" |
||||||
|
|
||||||
|
# Use a larger number of KDF rounds and the secure ed25519 key type by default. |
||||||
|
alias ssh-keygen="ssh-keygen -o -a 100 -b 4096 -t ed25519" |
||||||
|
|
||||||
|
# Reload this file's (and other customizations') aliases. |
||||||
|
function reload_bashrc() |
||||||
|
{ |
||||||
|
. "$HOME"/.bashrc |
||||||
|
} |
||||||
|
|
||||||
|
# Check if the git repository is fully synced. |
||||||
|
function __common_configs_in_sync() |
||||||
|
{ |
||||||
|
( |
||||||
|
# Failure modes, in order: |
||||||
|
# exit 9: Problem cd'ing or getting commit hashes - things that should never fail |
||||||
|
cd "$__COMMON_CONFIGS" || exit 9 |
||||||
|
localCommit=$(git show-ref --verify --hash refs/heads/master) || exit 9 |
||||||
|
if [[ $1 == --force-fetch ]] || [[ ! -f .last-fetch ]] || [[ $(date --reference=.last-fetch +%s) -lt $(date --date='5 minutes ago' +%s) ]]; then |
||||||
|
git fetch --quiet origin && touch .last-fetch |
||||||
|
fi |
||||||
|
remoteCommit=$(git show-ref --verify --hash refs/remotes/origin/master) || exit 9 |
||||||
|
# exit 1: master is not the commit which is checked out. |
||||||
|
[[ $(git symbolic-ref HEAD) == "refs/heads/master" ]] || exit 1 |
||||||
|
# exit 2: master and origin/master are different. |
||||||
|
[[ $localCommit == $remoteCommit ]] || exit 2 |
||||||
|
# exit 3: There are staged changes. |
||||||
|
git diff-index --cached --exit-code --quiet HEAD || exit 3 |
||||||
|
# exit 4: There are unstaged changes. |
||||||
|
git diff-files --exit-code --quiet HEAD || exit 4 |
||||||
|
) |
||||||
|
} |
||||||
|
|
||||||
|
function help_prompt() { |
||||||
|
echo '\ Help\ page\ '"$@"'\ ?ltline\ %lt?L/%L.:byte\ %bB?s/%s..?\ (END):?pB\ %pB\\%..(press h for help or q to quit)' |
||||||
|
} |
||||||
|
function man () |
||||||
|
{ |
||||||
|
if command man "$@" >&/dev/null; then |
||||||
|
command man "$@" |
||||||
|
elif builtin help -m "$@" >&/dev/null; then |
||||||
|
builtin help -m "$@" | command man -l -r "$(help_prompt "$@")" - |
||||||
|
else |
||||||
|
command man "$@" |
||||||
|
fi |
||||||
|
} |
||||||
|
|
||||||
|
function help () |
||||||
|
{ |
||||||
|
if builtin help -m "$@" >&/dev/null; then |
||||||
|
builtin help -m "$@" | command man -l -r "$(help_prompt "$@")" - |
||||||
|
elif command man "$@" >&/dev/null; then |
||||||
|
command man "$@" |
||||||
|
else |
||||||
|
builtin help -m "$@" |
||||||
|
fi |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
source "$__COMMON_CONFIGS"/bash/bash_tmux.sh |
||||||
|
|
||||||
|
PROMPT_COMMAND="" |
||||||
|
export GITAWAREPROMPT="$__COMMON_CONFIGS"/bash/git-aware-prompt |
||||||
|
source "$GITAWAREPROMPT"/main.sh |
||||||
|
|
||||||
|
function __prettylastexit() { |
||||||
|
local exitcode=$? |
||||||
|
if [[ -z $exitcode ]]; then |
||||||
|
echo "[---]$txtrst " |
||||||
|
elif [[ $exitcode == 0 ]]; then |
||||||
|
echo "$txtgrn[ OK]$txtrst " |
||||||
|
else |
||||||
|
printf "$txtred[%3.3s]$txtrst " "$exitcode" |
||||||
|
fi |
||||||
|
} |
||||||
|
|
||||||
|
function __prettyconfigstate() { |
||||||
|
__common_configs_in_sync |
||||||
|
local exitcode=$? |
||||||
|
case $exitcode in |
||||||
|
0) ;; |
||||||
|
2) echo; echo "${txtgrn}<config update ready>${txtrst}"; ;; |
||||||
|
3) echo; echo "${txtylw}<config change in progress>${txtrst}"; ;; |
||||||
|
4) echo; echo "${txtylw}<config change in progress>${txtrst}"; ;; |
||||||
|
*) echo; echo "${txtred}<config error>$txtrst" ;; |
||||||
|
esac |
||||||
|
} |
||||||
|
|
||||||
|
PS1='$(__prettylastexit)\[$bldred\]${debian_chroot:+($debian_chroot)}\[$txtrst\]\[$txtpur\]\u\[$txtrst\]\[$txtylw\]@\[$txtrst\]\[$txtblu\]\h\[$txtrst\]:\[$bldgrn\]\w\[$txtrst\] \[$txtcyn\]$git_branch\[$txtrst\]\[$bldred\]${git_dirty}\[$txtrst\]$(__prettyconfigstate)\n\$ ' |
@ -1,140 +0,0 @@ |
|||||||
#!/bin/bash |
|
||||||
# vim: set filetype=sh: |
|
||||||
# link destination: $HOME/.bash_aliases |
|
||||||
|
|
||||||
# Install EDITOR |
|
||||||
export EDITOR='nvim' |
|
||||||
|
|
||||||
alias rm="rm -i" |
|
||||||
alias cp="cp -i" |
|
||||||
alias mv="mv -i" |
|
||||||
|
|
||||||
# Send a bell before the prompt if it has been a long time since the last |
|
||||||
# prompt. |
|
||||||
# function bell_on_long_running_commands() { |
|
||||||
# local NOW=`date -u +%s` |
|
||||||
# if [ $(( LASTCMD_FOR_BELLS )) -lt $(( NOW - 15 )) ]; then |
|
||||||
# echo -n $'\a' |
|
||||||
# fi |
|
||||||
# unset LASTCMD_FOR_BELLS; |
|
||||||
# } |
|
||||||
# function set_last_command_time() { |
|
||||||
# if [[ -z "${COMPLINE}" ]] && [[ -z "${LASTCMD_FOR_BELLS}" ]]; then |
|
||||||
# LASTCMD_FOR_BELLS=`date -u +%s` |
|
||||||
# fi |
|
||||||
# } |
|
||||||
# trap set_last_command_time DEBUG |
|
||||||
# export PROMPT_COMMAND=bell_on_long_running_commands |
|
||||||
function bell_after() { |
|
||||||
"$@" |
|
||||||
local exit="$?" |
|
||||||
echo -n $'\a' 1>&2 |
|
||||||
return "$exit" |
|
||||||
} |
|
||||||
|
|
||||||
# Reload aliases |
|
||||||
function reload_scripts_only() |
|
||||||
{ |
|
||||||
. "$HOME"/.bashrc |
|
||||||
} |
|
||||||
|
|
||||||
# from https://stackoverflow.com/a/1203628 |
|
||||||
# Useful for overriding functions defined in these common scripts |
|
||||||
# Usage: copy_func from to |
|
||||||
function copy_func() |
|
||||||
{ |
|
||||||
declare -F $1 > /dev/null || return 1 |
|
||||||
eval "$(echo "${2}()"; declare -f ${1} | tail -n +2)" |
|
||||||
} |
|
||||||
|
|
||||||
function sync_git_only() |
|
||||||
{ |
|
||||||
( |
|
||||||
cd "$( dirname "$(realpath -e "${BASH_SOURCE[0]}")" )" |
|
||||||
if git add . && ! git diff-index --cached --quiet HEAD; then |
|
||||||
git commit -am "Autocommitted updated scripts from $(hostname)" |
|
||||||
fi |
|
||||||
git pull --rebase |
|
||||||
git submodule update --init --recursive |
|
||||||
./install.sh |
|
||||||
if ! git --no-pager diff --exit-code origin/master master; then |
|
||||||
git --no-pager log --reverse origin/master..master |
|
||||||
if ! read -p "OK to push these changes? (Y/N) " -N 1 confirm; then |
|
||||||
confirm = "N" |
|
||||||
fi |
|
||||||
echo |
|
||||||
if [[ "$confirm" != "Y" ]] && [[ "$confirm" != "y" ]]; then |
|
||||||
echo "Not pushing yet." |
|
||||||
else |
|
||||||
git push |
|
||||||
fi |
|
||||||
fi |
|
||||||
) |
|
||||||
} |
|
||||||
|
|
||||||
alias ssh-keygen="ssh-keygen -o -a 100 -t ed25519" |
|
||||||
|
|
||||||
function ssh-authorize-key() { |
|
||||||
if [[ ! -r "$1" ]] || ! file -b "$1" | grep -q "^OpenSSH .* public key$"; then |
|
||||||
echo "Expected a public key file" |
|
||||||
fi |
|
||||||
cat "$1" >>~/.ssh/authorized_keys |
|
||||||
} |
|
||||||
|
|
||||||
function bashreload() |
|
||||||
{ |
|
||||||
reload_scripts_only |
|
||||||
sync_git_only |
|
||||||
reload_scripts_only |
|
||||||
} |
|
||||||
|
|
||||||
function help_prompt() { |
|
||||||
echo '\ Help\ page\ '"$@"'\ ?ltline\ %lt?L/%L.:byte\ %bB?s/%s..?\ (END):?pB\ %pB\\%..(press h for help or q to quit)' |
|
||||||
} |
|
||||||
function man () |
|
||||||
{ |
|
||||||
if command man "$@" >&/dev/null; then |
|
||||||
command man "$@" |
|
||||||
elif builtin help -m "$@" >&/dev/null; then |
|
||||||
builtin help -m "$@" | command man -l -r "$(help_prompt "$@")" - |
|
||||||
else |
|
||||||
command man "$@" |
|
||||||
fi |
|
||||||
} |
|
||||||
|
|
||||||
function help () |
|
||||||
{ |
|
||||||
if builtin help -m "$@" >&/dev/null; then |
|
||||||
builtin help "$@" | command man -l -r "$(help_prompt "$@")" - |
|
||||||
elif command man "$@" >&/dev/null; then |
|
||||||
command man "$@" |
|
||||||
else |
|
||||||
builtin help -m "$@" |
|
||||||
fi |
|
||||||
builtin help -m "$@" 2>/dev/null || command man "$@" 2>/dev/null || builtin help -m "$@" |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
# This is, almost without fail, the right value. |
|
||||||
export DISPLAY="${DISPLAY:-:0.0}" |
|
||||||
|
|
||||||
COMMON_CONFIGS_PATH="$( dirname "$(realpath -e "${BASH_SOURCE[0]}")" )" |
|
||||||
|
|
||||||
. "$COMMON_CONFIGS_PATH"/bash_tmux.sh |
|
||||||
|
|
||||||
PROMPT_COMMAND="" |
|
||||||
export GITAWAREPROMPT="$COMMON_CONFIGS_PATH"/git-aware-prompt |
|
||||||
. "$GITAWAREPROMPT"/main.sh |
|
||||||
|
|
||||||
function prettylastexit() { |
|
||||||
local exitcode=$? |
|
||||||
if [[ -z $exitcode ]]; then |
|
||||||
echo "[---]$txtrst " |
|
||||||
elif [[ $exitcode == 0 ]]; then |
|
||||||
echo "$txtgrn[ OK]$txtrst " |
|
||||||
else |
|
||||||
printf "$txtred[%3.3s]$txtrst " "$exitcode" |
|
||||||
fi |
|
||||||
} |
|
||||||
|
|
||||||
PS1='$(prettylastexit)\[$bldred\]${debian_chroot:+($debian_chroot)}\[$txtrst\]\[$txtpur\]\u\[$txtrst\]\[$txtylw\]@\[$txtrst\]\[$txtblu\]\h\[$txtrst\]:\[$bldgrn\]\w\[$txtrst\] \[$txtcyn\]$git_branch\[$txtrst\]\[$bldred\]${git_dirty}\[$txtrst\]\n\$ ' |
|
@ -1,4 +0,0 @@ |
|||||||
#!/bin/bash |
|
||||||
. ~/.bash_aliases-common |
|
||||||
|
|
||||||
auto_tmux |
|
@ -1 +0,0 @@ |
|||||||
../../bash_aliases.sh |
|
@ -1 +0,0 @@ |
|||||||
../../inputrc |
|
@ -1 +0,0 @@ |
|||||||
../../../ssh/rc |
|
@ -1 +0,0 @@ |
|||||||
../../../ssh/authorized_keys |
|
@ -1 +0,0 @@ |
|||||||
Include .config-common |
|
@ -1 +0,0 @@ |
|||||||
../../../ssh/known_hosts |
|
@ -1,2 +0,0 @@ |
|||||||
#!/bin/sh |
|
||||||
. ~/.ssh/.rc-common |
|
@ -1 +0,0 @@ |
|||||||
source ~/.tmux.conf-common |
|
@ -1 +0,0 @@ |
|||||||
../../tmux.conf |
|
@ -1 +0,0 @@ |
|||||||
source ~/.vimrc-common |
|
@ -1 +0,0 @@ |
|||||||
../../vimrc |
|
@ -1,4 +0,0 @@ |
|||||||
#!/bin/bash |
|
||||||
. ~/.bash_aliases-common |
|
||||||
|
|
||||||
auto_tmux |
|
@ -1 +0,0 @@ |
|||||||
../../bash_aliases.sh |
|
@ -1 +0,0 @@ |
|||||||
../../inputrc |
|
@ -1 +0,0 @@ |
|||||||
../../../ssh/rc |
|
@ -1 +0,0 @@ |
|||||||
../../../ssh/authorized_keys |
|
@ -1 +0,0 @@ |
|||||||
Include .config-common |
|
@ -1 +0,0 @@ |
|||||||
../../../ssh/known_hosts |
|
@ -1,2 +0,0 @@ |
|||||||
#!/bin/sh |
|
||||||
. ~/.ssh/.rc-common |
|
@ -1 +0,0 @@ |
|||||||
source ~/.tmux.conf-common |
|
@ -1 +0,0 @@ |
|||||||
../../tmux.conf |
|
@ -1 +0,0 @@ |
|||||||
source ~/.vimrc-common |
|
@ -1 +0,0 @@ |
|||||||
../../vimrc |
|
@ -1,4 +0,0 @@ |
|||||||
#!/bin/bash |
|
||||||
. ~/.bash_aliases-common |
|
||||||
|
|
||||||
auto_tmux |
|
@ -1 +0,0 @@ |
|||||||
../../bash_aliases.sh |
|
@ -1 +0,0 @@ |
|||||||
../../../nvim |
|
@ -1 +0,0 @@ |
|||||||
$include ~/.inputrc-common |
|
@ -1 +0,0 @@ |
|||||||
../../inputrc |
|
@ -1 +0,0 @@ |
|||||||
../../../ssh/rc |
|
@ -1 +0,0 @@ |
|||||||
../../../ssh/authorized_keys |
|
@ -1 +0,0 @@ |
|||||||
Include .config-common |
|
@ -1 +0,0 @@ |
|||||||
../../../ssh/known_hosts |
|
@ -1,2 +0,0 @@ |
|||||||
#!/bin/sh |
|
||||||
. ~/.ssh/.rc-common |
|
@ -1 +0,0 @@ |
|||||||
source ~/.tmux.conf-common |
|
@ -1 +0,0 @@ |
|||||||
../../tmux.conf |
|
@ -1 +0,0 @@ |
|||||||
../../vim |
|
@ -1 +0,0 @@ |
|||||||
source ~/.vimrc-common |
|
@ -1 +0,0 @@ |
|||||||
../../vimrc |
|
@ -1,11 +0,0 @@ |
|||||||
#!/bin/bash |
|
||||||
. ~/.bash_aliases-common |
|
||||||
|
|
||||||
copy_func tmux_init_main tmux_init_main_base |
|
||||||
|
|
||||||
function tmux_init_main() { |
|
||||||
tmux_init_main_base |
|
||||||
tmux -2 new-window -d -t "Main Screen:1" -n "Server" "~/current-server/mark2/start; ~/current-server/mark2/attach" |
|
||||||
} |
|
||||||
|
|
||||||
auto_tmux |
|
@ -1 +0,0 @@ |
|||||||
../../bash_aliases.sh |
|
@ -1 +0,0 @@ |
|||||||
../../../nvim |
|
@ -1 +0,0 @@ |
|||||||
$include ~/.inputrc-common |
|
@ -1 +0,0 @@ |
|||||||
../../inputrc |
|
@ -1 +0,0 @@ |
|||||||
../../../ssh/rc |
|
@ -1 +0,0 @@ |
|||||||
../../../ssh/authorized_keys |
|
@ -1 +0,0 @@ |
|||||||
Include .config-common |
|
@ -1 +0,0 @@ |
|||||||
../../../ssh/known_hosts |
|
@ -1,2 +0,0 @@ |
|||||||
#!/bin/sh |
|
||||||
. ~/.ssh/.rc-common |
|
@ -1,2 +0,0 @@ |
|||||||
source ~/.tmux.conf-common |
|
||||||
set -g base-index 2 |
|
@ -1 +0,0 @@ |
|||||||
../../tmux.conf |
|
@ -1 +0,0 @@ |
|||||||
../../vim |
|
@ -1 +0,0 @@ |
|||||||
source ~/.vimrc-common |
|
@ -1 +0,0 @@ |
|||||||
../../vimrc |
|
@ -1,4 +1,2 @@ |
|||||||
#!/bin/bash |
#!/bin/bash |
||||||
. ~/.bash_aliases-common |
. "$( dirname "$(realpath -e "${BASH_SOURCE[0]}")" )"/../../bash/bash_aliases.sh |
||||||
|
|
||||||
auto_tmux |
|
||||||
|
@ -1 +0,0 @@ |
|||||||
../../bash_aliases.sh |
|
@ -1 +1 @@ |
|||||||
../../inputrc |
../../readline/inputrc |
@ -1 +0,0 @@ |
|||||||
../../../ssh/rc |
|
@ -1 +0,0 @@ |
|||||||
../../../ssh/authorized_keys |
|
@ -1 +1 @@ |
|||||||
Include .config-common |
Include config-common |
||||||
|
@ -1 +0,0 @@ |
|||||||
../../../ssh/known_hosts |
|
@ -1,2 +1,2 @@ |
|||||||
#!/bin/sh |
#!/bin/bash |
||||||
. ~/.ssh/.rc-common |
. ${BASH_SOURCE[0]}.rc-common |
||||||
|
@ -1 +1 @@ |
|||||||
source ~/.tmux.conf-common |
source $TMUX_CONF_DIR/tmux.conf |
||||||
|
@ -1 +0,0 @@ |
|||||||
../../tmux.conf |
|
@ -1 +1 @@ |
|||||||
source ~/.vimrc-common |
source $VIM_CONFIG_DIR/vimrc |
||||||
|
@ -1 +0,0 @@ |
|||||||
../../vimrc |
|
@ -0,0 +1 @@ |
|||||||
|
source $(dirname $(readlink -e ${(%):-%N}))/../../zsh/zshrc.zsh |
@ -0,0 +1,2 @@ |
|||||||
|
#!/bin/bash |
||||||
|
. "$( dirname "$(realpath -e "${BASH_SOURCE[0]}")" )"/../../bash/bash_aliases.sh |
@ -0,0 +1 @@ |
|||||||
|
../../readline/inputrc |
@ -0,0 +1 @@ |
|||||||
|
Include config-common |
@ -0,0 +1,2 @@ |
|||||||
|
#!/bin/bash |
||||||
|
. ${BASH_SOURCE[0]}.rc-common |
@ -0,0 +1 @@ |
|||||||
|
source $TMUX_CONF_DIR/tmux.conf |
@ -0,0 +1 @@ |
|||||||
|
source $VIM_CONFIG_DIR/vimrc |
@ -0,0 +1 @@ |
|||||||
|
source $(dirname $(readlink -e ${(%):-%N}))/../../zsh/zshrc.zsh |
@ -0,0 +1,2 @@ |
|||||||
|
#!/bin/bash |
||||||
|
. "$( dirname "$(realpath -e "${BASH_SOURCE[0]}")" )"/../../bash/bash_aliases.sh |
@ -0,0 +1 @@ |
|||||||
|
../../readline/inputrc |
@ -0,0 +1 @@ |
|||||||
|
Include config-common |
@ -0,0 +1,2 @@ |
|||||||
|
#!/bin/bash |
||||||
|
. ${BASH_SOURCE[0]}.rc-common |
@ -0,0 +1 @@ |
|||||||
|
source $TMUX_CONF_DIR/tmux.conf |
@ -0,0 +1 @@ |
|||||||
|
source $VIM_CONFIG_DIR/vimrc |
@ -0,0 +1 @@ |
|||||||
|
source $(dirname $(readlink -e ${(%):-%N}))/../../zsh/zshrc.zsh |
@ -1,4 +1,2 @@ |
|||||||
#!/bin/bash |
#!/bin/bash |
||||||
. ~/.bash_aliases-common |
. "$( dirname "$(realpath -e "${BASH_SOURCE[0]}")" )"/../../bash/bash_aliases.sh |
||||||
|
|
||||||
auto_tmux |
|
||||||
|
@ -1 +0,0 @@ |
|||||||
../../bash_aliases.sh |
|
@ -1 +1 @@ |
|||||||
../../inputrc |
../../readline/inputrc |
@ -1 +0,0 @@ |
|||||||
../../../ssh/rc |
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue