parent
2a65cc96b3
commit
f793e7aaa0
@ -1,2 +1,3 @@ |
||||
*.swp |
||||
/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 |
||||
. ~/.bash_aliases-common |
||||
|
||||
auto_tmux |
||||
. "$( dirname "$(realpath -e "${BASH_SOURCE[0]}")" )"/../../bash/bash_aliases.sh |
||||
|
@ -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 |
||||
. ~/.ssh/.rc-common |
||||
#!/bin/bash |
||||
. ${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 |
||||
. ~/.bash_aliases-common |
||||
|
||||
auto_tmux |
||||
. "$( dirname "$(realpath -e "${BASH_SOURCE[0]}")" )"/../../bash/bash_aliases.sh |
||||
|
@ -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