config: script enhancements
This commit is contained in:
parent
289c583fbe
commit
91d3180a7b
|
@ -3,19 +3,28 @@ set -o pipefail
|
||||||
alias localip="ip addr show | grep -E '(ens|eth)' | grep -oP '"'(?<=inet\s)\d+(\.\d+){3}'"' | head -1"
|
alias localip="ip addr show | grep -E '(ens|eth)' | grep -oP '"'(?<=inet\s)\d+(\.\d+){3}'"' | head -1"
|
||||||
|
|
||||||
letsencrypt() {
|
letsencrypt() {
|
||||||
(
|
if test $# -eq 0
|
||||||
ip=$(localip)
|
then
|
||||||
IFS=$'\n'
|
|
||||||
for user in $(list users)
|
for user in $(list users)
|
||||||
do for domain in $(hestia v-list-web-domains $user | grep $ip | awk '{print $1}')
|
do letsencrypt "$user"
|
||||||
do #echo "Checking $user $domain" >&2
|
|
||||||
hestia v-list-web-domain-ssl $user $domain | grep -q . && continue
|
|
||||||
hestia v-list-web-domain $user $domain | grep -q REDIRECT && continue
|
|
||||||
#echo "Generating Certificate" >&2
|
|
||||||
hestia v-add-letsencrypt-domain $user $domain $(hestia v-list-web-domain $user $domain | grep ALIAS | tr -s ' ' | cut -d' ' -f2- | tr ' ' ',')
|
|
||||||
done
|
|
||||||
done
|
done
|
||||||
)
|
else
|
||||||
|
(
|
||||||
|
ip=$(localip)
|
||||||
|
IFS=$'\n'
|
||||||
|
for user
|
||||||
|
do for domain in $(hestia v-list-web-domains $user | grep $ip | awk '{print $1}')
|
||||||
|
do #echo commented out due to command echoing in hestia alias
|
||||||
|
#echo "Checking $user $domain" >&2
|
||||||
|
hestia v-list-web-domain $user $domain | grep -q REDIRECT && continue
|
||||||
|
hestia v-list-mail-domain-ssl $user $domain | grep -q . || hestia v-add-letsencrypt-domain $user $domain '' yes
|
||||||
|
hestia v-list-web-domain-ssl $user $domain | grep -q . && continue
|
||||||
|
#echo "Generating Certificate" >&2
|
||||||
|
hestia v-add-letsencrypt-domain $user $domain $(hestia v-list-web-domain $user $domain | grep ALIAS | tr -s ' ' | cut -d' ' -f2- | tr ' ' ',')
|
||||||
|
done
|
||||||
|
done
|
||||||
|
)
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
list() {
|
list() {
|
||||||
|
@ -40,7 +49,7 @@ hestia() {
|
||||||
command=$1
|
command=$1
|
||||||
shift
|
shift
|
||||||
echo '>' sudo $(which $command) "$@" >&2
|
echo '>' sudo $(which $command) "$@" >&2
|
||||||
sudo $(which $command) "$@"
|
sudo timeout 30s $(which $command) "$@"
|
||||||
}
|
}
|
||||||
|
|
||||||
accessible() {
|
accessible() {
|
||||||
|
|
|
@ -145,6 +145,7 @@
|
||||||
cme = commit -v --edit --message # Commit with message from CLI but edit it
|
cme = commit -v --edit --message # Commit with message from CLI but edit it
|
||||||
cad = !git diff-tree --no-commit-id --name-only -r HEAD | git commit -v --amend --pathspec-from-file=- # Amend commit with all already changed files
|
cad = !git diff-tree --no-commit-id --name-only -r HEAD | git commit -v --amend --pathspec-from-file=- # Amend commit with all already changed files
|
||||||
cap = !git commit --amend --no-edit && git push --force-with-lease
|
cap = !git commit --amend --no-edit && git push --force-with-lease
|
||||||
|
journal = !git -C $DATA commit -v $DATA/2-box/journal*
|
||||||
|
|
||||||
cp = cherry-pick
|
cp = cherry-pick
|
||||||
cpc = cherry-pick --continue
|
cpc = cherry-pick --continue
|
||||||
|
|
|
@ -27,7 +27,8 @@ if beginswith $'\n#' "$original"; then
|
||||||
expr substr "$common" 1 "$count" | sed 's|.local/bin/scripts|bin|') || exit 0
|
expr substr "$common" 1 "$count" | sed 's|.local/bin/scripts|bin|') || exit 0
|
||||||
case "$path" in ([0-9]-*) path="${path#*-}";; esac
|
case "$path" in ([0-9]-*) path="${path#*-}";; esac
|
||||||
{
|
{
|
||||||
echo "$path" | sed 's|^\.||;s|/\?$|: |'
|
# Remove initial dot and trailing slash/dash/underscore
|
||||||
|
echo "$path" | sed 's|^\.||;s|[/_-]\?$|: |'
|
||||||
echo "$original"
|
echo "$original"
|
||||||
} > "$COMMIT_MSG_FILE"
|
} > "$COMMIT_MSG_FILE"
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -11,8 +11,9 @@ highlight: true
|
||||||
indent_character: '|'
|
indent_character: '|'
|
||||||
journals:
|
journals:
|
||||||
default: ~/data/2-box/journal/jrnl.txt
|
default: ~/data/2-box/journal/jrnl.txt
|
||||||
|
tug: ~/data/2-box/journal/tug.txt
|
||||||
|
nug: ~/data/2-box/journal/nuggets.txt
|
||||||
intentions: ~/data/2-box/journal/intentions.txt
|
intentions: ~/data/2-box/journal/intentions.txt
|
||||||
nug: ~/data/2-box/journal/nug.txt
|
|
||||||
linewrap: 99
|
linewrap: 99
|
||||||
tagsymbols: '@'
|
tagsymbols: '@'
|
||||||
template: false
|
template: false
|
||||||
|
|
|
@ -37,11 +37,14 @@ let g:firenvim_config = {
|
||||||
\ '.*calendar\.google\.com.*': { 'priority': 9, 'takeover': 'empty', },
|
\ '.*calendar\.google\.com.*': { 'priority': 9, 'takeover': 'empty', },
|
||||||
\ '.*docs\.google\.com.*': { 'priority': 9, 'takeover': 'never', },
|
\ '.*docs\.google\.com.*': { 'priority': 9, 'takeover': 'never', },
|
||||||
\ '.*contacts\.google\.com.*': { 'priority': 9, 'takeover': 'never', },
|
\ '.*contacts\.google\.com.*': { 'priority': 9, 'takeover': 'never', },
|
||||||
\ '.*notion\.so.*': { 'priority': 9, 'takeover': 'never', },
|
|
||||||
\ '.*cloud\.atomtoast\.xyz.*': { 'priority': 9, 'takeover': 'never', },
|
\ '.*cloud\.atomtoast\.xyz.*': { 'priority': 9, 'takeover': 'never', },
|
||||||
\ 'https://bigbluebutton.*': { 'priority': 9, 'takeover': 'never', },
|
\ '://notion\.so.*': { 'priority': 9, 'takeover': 'never', },
|
||||||
\ 'https://dhall-lang.org.*': { 'priority': 9, 'takeover': 'never', },
|
\ '://bbb\..*': { 'priority': 9, 'takeover': 'never', },
|
||||||
\ 'https://aur.archlinux.org/account.*': { 'priority': 9, 'takeover': 'never', },
|
\ '://bigbluebutton.*': { 'priority': 9, 'takeover': 'never', },
|
||||||
|
\ '://dhall-lang.org.*': { 'priority': 9, 'takeover': 'never', },
|
||||||
|
\ '://aur.archlinux.org/account.*': { 'priority': 9, 'takeover': 'never', },
|
||||||
|
\ '.*\.hobbyfarm\..*': { 'priority': 9, 'takeover': 'never', },
|
||||||
|
\ '://rancher\..*': { 'priority': 9, 'takeover': 'never', },
|
||||||
\
|
\
|
||||||
\ '.*stackexchange\.com.*': { 'priority': 9, 'takeover': 'never', },
|
\ '.*stackexchange\.com.*': { 'priority': 9, 'takeover': 'never', },
|
||||||
\ '.*stackoverflow\.com.*': { 'priority': 9, 'takeover': 'never', },
|
\ '.*stackoverflow\.com.*': { 'priority': 9, 'takeover': 'never', },
|
||||||
|
|
|
@ -246,7 +246,7 @@ alias dt='python -c "import time;print(time.asctime(time.localtime()))"'
|
||||||
# Process
|
# Process
|
||||||
alias println='printf "\n"'
|
alias println='printf "\n"'
|
||||||
alias myip="curl ifconfig.me && println && curl icanhazip.com"
|
alias myip="curl ifconfig.me && println && curl icanhazip.com"
|
||||||
alias dedup='awk '"'"'!a[$0]++'"'"
|
alias dedup-lines='awk '"'"'!a[$0]++'"'"
|
||||||
alias lar='last | tac'
|
alias lar='last | tac'
|
||||||
alias lst='( last; last -f /var/log/wtmp.1 ) | grep -v "pts/" | tac | less +G'
|
alias lst='( last; last -f /var/log/wtmp.1 ) | grep -v "pts/" | tac | less +G'
|
||||||
alias hedgedoc="tmux kill-session -t hedgedoc; builtin cd '$d4/dev/_forks/hedgedoc' && tmux new-session -s hedgedoc -d 'yarn run dev' \; split-window -h 'nodemon --watch app.js --watch lib --watch locales --watch config.json app.js' \; ls"
|
alias hedgedoc="tmux kill-session -t hedgedoc; builtin cd '$d4/dev/_forks/hedgedoc' && tmux new-session -s hedgedoc -d 'yarn run dev' \; split-window -h 'nodemon --watch app.js --watch lib --watch locales --watch config.json app.js' \; ls"
|
||||||
|
@ -329,11 +329,12 @@ sshl() {
|
||||||
ssh -G "$1" | grep --silent "^user root$" &&
|
ssh -G "$1" | grep --silent "^user root$" &&
|
||||||
! [[ "$1" =~ "pve.*" ]] &&
|
! [[ "$1" =~ "pve.*" ]] &&
|
||||||
! [[ "$1" =~ "encee.*" ]] &&
|
! [[ "$1" =~ "encee.*" ]] &&
|
||||||
! [[ "$1" =~ ".*fmh.*" ]] &&
|
! [[ "$1" =~ ".*ofc.*" ]] &&
|
||||||
! [[ "$1" =~ "delta*" ]] &&
|
! [[ "$1" =~ "delta*" ]] &&
|
||||||
|
! [[ "$1" =~ "tmtgw" ]] &&
|
||||||
local pass=pass
|
local pass=pass
|
||||||
test "$all" &&
|
test "$all" &&
|
||||||
find $XDG_CONFIG_HOME/bash/ \( -name aliases.bash -o -name "$1*.bash" \) -exec cat {} + | $pass ssh "$1" 'cat > .bash_aliases && grep -q .bash_aliases .bashrc || echo "source ~/.bash_aliases" | tee -a .bashrc' &&
|
find $XDG_CONFIG_HOME/bash/ \( -name aliases.bash -o -name "${1%[0-9a-z]}*.bash" \) -exec cat {} + | $pass ssh "$1" 'cat > .bash_aliases && grep -q .bash_aliases .bashrc || echo "source ~/.bash_aliases" | tee -a .bashrc' &&
|
||||||
echo 'Updated .bash_aliases!'
|
echo 'Updated .bash_aliases!'
|
||||||
#$pass ssh "$1" 'grep -q ".bash_aliases" .bashrc || echo "source ~/.bash_aliases" >>.bashrc'
|
#$pass ssh "$1" 'grep -q ".bash_aliases" .bashrc || echo "source ~/.bash_aliases" >>.bashrc'
|
||||||
if test -n "$pass"
|
if test -n "$pass"
|
||||||
|
@ -410,7 +411,7 @@ vrec() {
|
||||||
alias vrecd="ls $XDG_DATA_HOME/nvim/swap | head -1 | xargs -r -i mv {} /tmp"
|
alias vrecd="ls $XDG_DATA_HOME/nvim/swap | head -1 | xargs -r -i mv {} /tmp"
|
||||||
|
|
||||||
# I think this was something about recovering backup files
|
# I think this was something about recovering backup files
|
||||||
unv() { strings $1 | sed 's/5$//' | dedup; }
|
unv() { strings $1 | sed 's/5$//' | dedup-lines; }
|
||||||
|
|
||||||
alias hx='sudo hexedit --maximize --color'
|
alias hx='sudo hexedit --maximize --color'
|
||||||
# Paginated hexyl
|
# Paginated hexyl
|
||||||
|
@ -641,3 +642,14 @@ stopswap() {
|
||||||
echo "Not enough free memory!"
|
echo "Not enough free memory!"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extrac() {
|
||||||
|
for var; do
|
||||||
|
arg=${var%.lzo}
|
||||||
|
out=$(basename ${arg%.vma})
|
||||||
|
lzop -x $arg.lzo
|
||||||
|
vma.py $arg $out ||
|
||||||
|
vma.py $(basename $arg) $out &&
|
||||||
|
( cd $out && find *.raw -exec qemu-img convert {} -O qcow2 $out-{}.qcow2 \; )
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
|
@ -58,7 +58,7 @@ arguments = "--rebase --autostash --recurse-submodules"
|
||||||
|
|
||||||
[linux]
|
[linux]
|
||||||
# Arguments to pass yay when updating packages
|
# Arguments to pass yay when updating packages
|
||||||
yay_arguments = "--nodiffmenu --ignore android-studio --ignore clion --ignore intellij-idea-ultimate-edition --ignore intellij-idea-ultimate-edition-jre --ignore webstorm --ignore linux --ignore stretchly-xeruf-git --overwrite '/usr/lib/node_modules/npm/**'"
|
yay_arguments = "--nodiffmenu --overwrite '/usr/lib/node_modules/npm/**' --overwrite '/usr/lib/*' --ignore android-studio --ignore clion --ignore intellij-idea-ultimate-edition --ignore intellij-idea-ultimate-edition-jre --ignore webstorm --ignore linux --ignore stretchly-xeruf-git"
|
||||||
#trizen_arguments = "--devel"
|
#trizen_arguments = "--devel"
|
||||||
#enable_tlmgr = true
|
#enable_tlmgr = true
|
||||||
#emerge_sync_flags = "-q"
|
#emerge_sync_flags = "-q"
|
||||||
|
|
|
@ -10,7 +10,7 @@ XDG_TEMPLATES_DIR="$HOME/.local/templates"
|
||||||
XDG_DOWNLOAD_DIR="$HOME/data/5-incubator"
|
XDG_DOWNLOAD_DIR="$HOME/data/5-incubator"
|
||||||
XDG_MUSIC_DIR="$HOME/data/4-media/music"
|
XDG_MUSIC_DIR="$HOME/data/4-media/music"
|
||||||
XDG_PICTURES_DIR="$HOME/data/4-media/images"
|
XDG_PICTURES_DIR="$HOME/data/4-media/images"
|
||||||
XDG_VIDEOS_DIR="$HOME/data/4-media/videos"
|
XDG_VIDEOS_DIR="$HOME/data/4-media/video"
|
||||||
XDG_DOCUMENTS_DIR="$HOME/data/4-media/multimedia"
|
XDG_DOCUMENTS_DIR="$HOME/data/4-media/multimedia"
|
||||||
XDG_NOTES_DIR="$HOME/data/2-box"
|
XDG_NOTES_DIR="$HOME/data/2-box"
|
||||||
#XDG_PUBLICSHARE_DIR="$HOME/data/3-resources/multimedia"
|
#XDG_PUBLICSHARE_DIR="$HOME/data/3-resources/multimedia"
|
||||||
|
|
4
.zshenv
4
.zshenv
|
@ -100,7 +100,7 @@ export LS_OPTIONS='--color=auto --human-readable --si --group-directories-first
|
||||||
export LESS="--raw-control-chars --ignore-case --LONG-PROMPT --jump-target=5 $(test $(less --version | head -1 | cut -f2 -d' ') -ge 590 && echo --incsearch)"
|
export LESS="--raw-control-chars --ignore-case --LONG-PROMPT --jump-target=5 $(test $(less --version | head -1 | cut -f2 -d' ') -ge 590 && echo --incsearch)"
|
||||||
# TODO put into config file and use --exclude-from
|
# TODO put into config file and use --exclude-from
|
||||||
# -x 'System Volume Information'
|
# -x 'System Volume Information'
|
||||||
export DIRS_GENERATED="-x generated -x .gradle -x cmake_build -x dist-newstyle -x node_modules -x __pycache__"
|
export DIRS_GENERATED="-x generated -x .gradle -x cmake_build -x dist-newstyle -x node_modules -x __pycache__ -x .pytest_cache"
|
||||||
export DIRS_IGNORE_SAFE="-x .cache -x .cpan -x *Cache -x .pyenv -x .local/cache -x share/baloo -x share/cabal -x share/cargo -x share/digikam -x share/gem -x share/JetBrains -x share/tldr -x share/syncthing -x share/Steam/ubuntu* -x share/Steam/package -x share/virtualenv -x share/Zeal -x state/gradle -x state/android -x Ferdi/Partitions -x oh-my-zsh -x wine/drive_c/windows -x vendor/cache $DIRS_GENERATED"
|
export DIRS_IGNORE_SAFE="-x .cache -x .cpan -x *Cache -x .pyenv -x .local/cache -x share/baloo -x share/cabal -x share/cargo -x share/digikam -x share/gem -x share/JetBrains -x share/tldr -x share/syncthing -x share/Steam/ubuntu* -x share/Steam/package -x share/virtualenv -x share/Zeal -x state/gradle -x state/android -x Ferdi/Partitions -x oh-my-zsh -x wine/drive_c/windows -x vendor/cache $DIRS_GENERATED"
|
||||||
export DIRS_IGNORE="-x .sync -x .stfolder -x *build -x .git -x .idea -x env -x out -x cache -x Partitions -x vendor/bundle -x log $DIRS_IGNORE_SAFE"
|
export DIRS_IGNORE="-x .sync -x .stfolder -x *build -x .git -x .idea -x env -x out -x cache -x Partitions -x vendor/bundle -x log $DIRS_IGNORE_SAFE"
|
||||||
# red stderr
|
# red stderr
|
||||||
|
@ -148,7 +148,7 @@ FD_BASE="fd --hidden --color=always --no-ignore-vcs"
|
||||||
export FZF_DEFAULT_COMMAND="$FD_BASE --type file"
|
export FZF_DEFAULT_COMMAND="$FD_BASE --type file"
|
||||||
export FZF_CTRL_T_COMMAND="$FD_BASE -d 7"
|
export FZF_CTRL_T_COMMAND="$FD_BASE -d 7"
|
||||||
## cplusplus - ctest, cmake, ninja
|
## cplusplus - ctest, cmake, ninja
|
||||||
SPARE_CORES=$(expr $(lscpu --extended | awk '{print $7}' | sort | uniq -c | head -1 | awk '{print $1}') \* 4 / 5)
|
export SPARE_CORES=$(expr $(lscpu --extended | awk '{print $7}' | sort | uniq -c | head -1 | awk '{print $1}') \* 2 / 3)
|
||||||
export CMAKE_BUILD_PARALLEL_LEVEL=${SPARE_CORES}
|
export CMAKE_BUILD_PARALLEL_LEVEL=${SPARE_CORES}
|
||||||
export CTEST_PARALLEL_LEVEL=${SPARE_CORES}
|
export CTEST_PARALLEL_LEVEL=${SPARE_CORES}
|
||||||
export CTEST_PROGRESS_OUTPUT=1
|
export CTEST_PROGRESS_OUTPUT=1
|
||||||
|
|
Loading…
Reference in New Issue