Merge branch 'fix-ci-linting' into 'master'
Fix ci linting See merge request marty-oehme/dotfiles!16
This commit is contained in:
commit
e4f444cfe5
30 changed files with 325 additions and 309 deletions
|
@ -274,11 +274,13 @@ let g:ale_fixers = {
|
||||||
\'*': ['remove_trailing_lines', 'trim_whitespace'],
|
\'*': ['remove_trailing_lines', 'trim_whitespace'],
|
||||||
\'go': ['gofmt'],
|
\'go': ['gofmt'],
|
||||||
\'sh': ['shfmt'],
|
\'sh': ['shfmt'],
|
||||||
|
\'zsh': ['shfmt'],
|
||||||
\}
|
\}
|
||||||
|
|
||||||
let g:ale_linters = {
|
let g:ale_linters = {
|
||||||
\ 'go': ['gopls'],
|
\ 'go': ['gopls'],
|
||||||
\ 'sh': ['language_server','shellcheck'],
|
\ 'sh': ['language_server','shellcheck'],
|
||||||
|
\ 'zsh': ['language_server','shellcheck'],
|
||||||
\}
|
\}
|
||||||
|
|
||||||
" PLUGIN: AIRLINE
|
" PLUGIN: AIRLINE
|
||||||
|
|
|
@ -1,2 +1,5 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
# put personal scripts on the PATH to be callable
|
# put personal scripts on the PATH to be callable
|
||||||
export PATH="$(du $HOME/.local/bin | cut -f2 | tr '\n' ':')$PATH"
|
PATH=$(du "$HOME"/.local/bin | cut -f2 | tr '\n' ':')$PATH
|
||||||
|
export PATH
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
# //FIXME this needs to get the hell out of here -> put it in an env loading file
|
#!/bin/sh
|
||||||
|
|
||||||
export GOPATH="$HOME/projects/gopath/"
|
export GOPATH="$HOME/projects/gopath/"
|
||||||
export PATH="$PATH:$GOPATH/bin"
|
export PATH="$PATH:$GOPATH/bin"
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
# these are mandatory for the shell to work
|
# these are mandatory for the shell to work
|
||||||
export XDG_CONFIG_HOME="$HOME/.config"
|
export XDG_CONFIG_HOME="$HOME/.config"
|
||||||
export XDG_CACHE_HOME="$HOME/.cache"
|
export XDG_CACHE_HOME="$HOME/.cache"
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
# if [[ ! $DISPLAY && $XDG_VTNR -eq 1 ]]; then
|
#!/bin/sh
|
||||||
# exec startx ~/.xinitrc
|
|
||||||
# fi
|
if [ ! "$DISPLAY" ] && [ "$XDG_VTNR" -eq 1 ]; then
|
||||||
|
exec startx ~/.xinitrc
|
||||||
|
fi
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
# Prettify ls commands
|
# Prettify ls commands
|
||||||
if [[ "$(uname -s)" == "Linux" ]]; then
|
if [ "$(uname -s)" = "Linux" ]; then
|
||||||
# we're on linux
|
# we're on linux
|
||||||
alias l-d="ls -lFad"
|
alias l-d="ls -lFad"
|
||||||
alias l="ls -lAhF" # Overwritten for k in -aliasing-k
|
alias l="ls -lAhF" # Overwritten for k in -aliasing-k
|
||||||
|
@ -8,7 +10,10 @@ if [[ "$(uname -s)" == "Linux" ]]; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Show the top 5 commands used in recent history
|
# Show the top 5 commands used in recent history
|
||||||
alias zhtop="history | awk '{a[\$2]++} END{for(i in a){printf \"%5d\t%s\n\",a[i],i}}' | sort -rn | head"
|
_zhtop() {
|
||||||
|
history | awk "{a[\$2]++} END{for(i in a){printf \"%5d\t%s\n\",a[i],i}}" | sort -rn | head
|
||||||
|
}
|
||||||
|
alias zhtop=_zhtop
|
||||||
# Display timestamped recent command history
|
# Display timestamped recent command history
|
||||||
alias zh="fc -l -d -D"
|
alias zh="fc -l -d -D"
|
||||||
|
|
||||||
|
@ -28,5 +33,5 @@ alias cl="clear"
|
||||||
|
|
||||||
# let me exit out of the shell same way as vim
|
# let me exit out of the shell same way as vim
|
||||||
# TODO integrate session management with w?
|
# TODO integrate session management with w?
|
||||||
alias ":q"="exit"
|
alias :q="exit"
|
||||||
alias ":wq"="exit"
|
alias :wq="exit"
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
# enables git management through dot command
|
# enables git management through dot command
|
||||||
alias dot='/usr/bin/git --git-dir=/home/marty/.dotfiles/ --work-tree=/home/marty'
|
alias dot='/usr/bin/git --git-dir=/home/marty/.dotfiles/ --work-tree=/home/marty'
|
||||||
|
|
||||||
|
|
|
@ -27,8 +27,8 @@ else
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# set up fuzzy file and directory search
|
# set up fuzzy file and directory search
|
||||||
alias f="fzf -c 'find . -type f' --preview='head -$LINES {}' | xargs xdg-open"
|
alias f="fzf -c 'find . -type f' --preview='"'head -$LINES {}'"' | xargs -0 xdg-open"
|
||||||
alias F="fzf -c 'find ~ -type f' --preview='head -$LINES {}' | xargs xdg-open"
|
alias F="fzf -c 'find ~ -type f' --preview='"'head -$LINES {}'"' | xargs -0 xdg-open"
|
||||||
|
|
||||||
alias d="fzf -c 'find . -type d' --preview='ls --color='always' {}' | cd"
|
alias d="fzf -c 'find . -type d' --preview='ls --color='always' {}' | cd"
|
||||||
alias D="fzf -c 'find ~ -type d' --preview='ls --color='always' {}' --color=dark --ansi | cd"
|
alias D="fzf -c 'find ~ -type d' --preview='ls --color='always' {}' --color=dark --ansi | cd"
|
||||||
|
|
|
@ -1 +1,4 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
export LC_ALL="en_US.utf-8"
|
export LC_ALL="en_US.utf-8"
|
||||||
|
export LANG="en_US.utf-8"
|
||||||
|
|
|
@ -2,4 +2,4 @@
|
||||||
|
|
||||||
# set wiki root to nextcloud notes folder,
|
# set wiki root to nextcloud notes folder,
|
||||||
# will be picked up by vim wiki plugin as root
|
# will be picked up by vim wiki plugin as root
|
||||||
export WIKIROOT='~/Nextcloud/Notes/'
|
export WIKIROOT="$HOME/Nextcloud/Notes/"
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
## Integration at the Bottom
|
## Integration at the Bottom
|
||||||
|
|
||||||
# Copyright (C) 2011 by Wayne Walker <wwalker@solid-constructs.com>
|
# Copyright (C) 2011 by Wayne Walker <wwalker@solid-constructs.com>
|
||||||
|
@ -29,56 +31,51 @@ declare -a _LIVE_AGENT_SOCK_LIST
|
||||||
_LIVE_AGENT_SOCK_LIST=()
|
_LIVE_AGENT_SOCK_LIST=()
|
||||||
|
|
||||||
_debug_print() {
|
_debug_print() {
|
||||||
if [[ $_DEBUG -gt 0 ]]
|
if [[ $_DEBUG -gt 0 ]]; then
|
||||||
then
|
printf "%s\n" "$1"
|
||||||
printf "%s\n" $1
|
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
find_all_ssh_agent_sockets() {
|
find_all_ssh_agent_sockets() {
|
||||||
_SSH_AGENT_SOCKETS=`find /tmp/ -type s -name agent.\* 2> /dev/null | grep '/tmp/ssh-.*/agent.*'`
|
_SSH_AGENT_SOCKETS=$(find /tmp/ -type s -name agent.\* 2>/dev/null | grep '/tmp/ssh-.*/agent.*')
|
||||||
_debug_print "$_SSH_AGENT_SOCKETS"
|
_debug_print "$_SSH_AGENT_SOCKETS"
|
||||||
}
|
}
|
||||||
|
|
||||||
find_all_gpg_agent_sockets() {
|
find_all_gpg_agent_sockets() {
|
||||||
_GPG_AGENT_SOCKETS=`find /tmp/ -type s -name S.gpg-agent.ssh 2> /dev/null | grep '/tmp/gpg-.*/S.gpg-agent.ssh'`
|
_GPG_AGENT_SOCKETS=$(find /tmp/ -type s -name S.gpg-agent.ssh 2>/dev/null | grep '/tmp/gpg-.*/S.gpg-agent.ssh')
|
||||||
_debug_print "$_GPG_AGENT_SOCKETS"
|
_debug_print "$_GPG_AGENT_SOCKETS"
|
||||||
}
|
}
|
||||||
|
|
||||||
find_all_gnome_keyring_agent_sockets() {
|
find_all_gnome_keyring_agent_sockets() {
|
||||||
_GNOME_KEYRING_AGENT_SOCKETS=`find /tmp/ -type s -name ssh 2> /dev/null | grep '/tmp/keyring-.*/ssh$'`
|
_GNOME_KEYRING_AGENT_SOCKETS=$(find /tmp/ -type s -name "ssh" 2>/dev/null | grep '/tmp/keyring-.*/ssh$')
|
||||||
_debug_print "$_GNOME_KEYRING_AGENT_SOCKETS"
|
_debug_print "$_GNOME_KEYRING_AGENT_SOCKETS"
|
||||||
}
|
}
|
||||||
|
|
||||||
find_all_osx_keychain_agent_sockets() {
|
find_all_osx_keychain_agent_sockets() {
|
||||||
[[ -n "$TMPDIR" ]] || TMPDIR=/tmp
|
[[ -n "$TMPDIR" ]] || TMPDIR=/tmp
|
||||||
_OSX_KEYCHAIN_AGENT_SOCKETS=`find $TMPDIR/ -type s -regex '.*/ssh-.*/agent..*$' 2> /dev/null`
|
_OSX_KEYCHAIN_AGENT_SOCKETS=$(find $TMPDIR/ -type s -regex '.*/ssh-.*/agent..*$' 2>/dev/null)
|
||||||
_debug_print "$_OSX_KEYCHAIN_AGENT_SOCKETS"
|
_debug_print "$_OSX_KEYCHAIN_AGENT_SOCKETS"
|
||||||
}
|
}
|
||||||
|
|
||||||
test_agent_socket() {
|
test_agent_socket() {
|
||||||
local SOCKET=$1
|
local SOCKET=$1
|
||||||
SSH_AUTH_SOCK=$SOCKET ssh-add -l 2> /dev/null > /dev/null
|
SSH_AUTH_SOCK=$SOCKET ssh-add -l 2>/dev/null >/dev/null
|
||||||
result=$?
|
result=$?
|
||||||
|
|
||||||
_debug_print $result
|
_debug_print $result
|
||||||
|
|
||||||
if [[ $result -eq 0 ]]
|
if [[ $result -eq 0 ]]; then
|
||||||
then
|
|
||||||
# contactible and has keys loaded
|
# contactible and has keys loaded
|
||||||
_KEY_COUNT=`SSH_AUTH_SOCK=$SOCKET ssh-add -l | wc -l | tr -d ' '`
|
_KEY_COUNT=$(SSH_AUTH_SOCK=$SOCKET ssh-add -l | wc -l | tr -d ' ')
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ $result -eq 1 ]]
|
if [[ $result -eq 1 ]]; then
|
||||||
then
|
|
||||||
# contactible butno keys loaded
|
# contactible butno keys loaded
|
||||||
_KEY_COUNT=0
|
_KEY_COUNT=0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ ( ( $result -eq 0 ) || ( $result -eq 1 ) ) ]]
|
if [ $result -eq 0 ] || [ $result -eq 1 ]; then
|
||||||
then
|
if [[ -n "$_LIVE_AGENT_LIST" ]]; then
|
||||||
if [[ -n "$_LIVE_AGENT_LIST" ]]
|
|
||||||
then
|
|
||||||
_LIVE_AGENT_LIST="${_LIVE_AGENT_LIST} ${SOCKET}:$_KEY_COUNT"
|
_LIVE_AGENT_LIST="${_LIVE_AGENT_LIST} ${SOCKET}:$_KEY_COUNT"
|
||||||
else
|
else
|
||||||
_LIVE_AGENT_LIST="${SOCKET}:$_KEY_COUNT"
|
_LIVE_AGENT_LIST="${SOCKET}:$_KEY_COUNT"
|
||||||
|
@ -90,43 +87,39 @@ test_agent_socket() {
|
||||||
}
|
}
|
||||||
|
|
||||||
find_live_gnome_keyring_agents() {
|
find_live_gnome_keyring_agents() {
|
||||||
for i in $_GNOME_KEYRING_AGENT_SOCKETS
|
for i in $_GNOME_KEYRING_AGENT_SOCKETS; do
|
||||||
do
|
test_agent_socket "$i"
|
||||||
test_agent_socket $i
|
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
find_live_osx_keychain_agents() {
|
find_live_osx_keychain_agents() {
|
||||||
for i in $_OSX_KEYCHAIN_AGENT_SOCKETS
|
for i in $_OSX_KEYCHAIN_AGENT_SOCKETS; do
|
||||||
do
|
test_agent_socket "$i"
|
||||||
test_agent_socket $i
|
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
find_live_gpg_agents() {
|
find_live_gpg_agents() {
|
||||||
for i in $_GPG_AGENT_SOCKETS
|
for i in $_GPG_AGENT_SOCKETS; do
|
||||||
do
|
test_agent_socket "$i"
|
||||||
test_agent_socket $i
|
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
find_live_ssh_agents() {
|
find_live_ssh_agents() {
|
||||||
for i in $_SSH_AGENT_SOCKETS
|
for i in $_SSH_AGENT_SOCKETS; do
|
||||||
do
|
test_agent_socket "$i"
|
||||||
test_agent_socket $i
|
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
function fingerprints() {
|
function fingerprints() {
|
||||||
local file="$1"
|
local file="$1"
|
||||||
while read l; do
|
while read -r l; do
|
||||||
[[ -n $l && ${l###} = $l ]] && ssh-keygen -l -f /dev/stdin <<<$l
|
[[ -n $l && ${l###} == "$l" ]] && ssh-keygen -l -f /dev/stdin <<<"$l"
|
||||||
done < $file
|
done <"$file"
|
||||||
}
|
}
|
||||||
|
|
||||||
find_all_agent_sockets() {
|
find_all_agent_sockets() {
|
||||||
_SHOW_IDENTITY=0
|
_SHOW_IDENTITY=0
|
||||||
if [ "$1" = "-i" ] ; then
|
if [ "$1" = "-i" ]; then
|
||||||
_SHOW_IDENTITY=1
|
_SHOW_IDENTITY=1
|
||||||
fi
|
fi
|
||||||
_LIVE_AGENT_LIST=
|
_LIVE_AGENT_LIST=
|
||||||
|
@ -142,27 +135,21 @@ find_all_agent_sockets() {
|
||||||
_LIVE_AGENT_LIST=$(echo $_LIVE_AGENT_LIST | tr ' ' '\n' | sort -n -t: -k 2 -k 1 | uniq)
|
_LIVE_AGENT_LIST=$(echo $_LIVE_AGENT_LIST | tr ' ' '\n' | sort -n -t: -k 2 -k 1 | uniq)
|
||||||
_LIVE_AGENT_SOCK_LIST=()
|
_LIVE_AGENT_SOCK_LIST=()
|
||||||
_debug_print "SORTED: $_LIVE_AGENT_LIST"
|
_debug_print "SORTED: $_LIVE_AGENT_LIST"
|
||||||
if [ -e ~/.ssh/authorized_keys ] ; then
|
if [[ $_SHOW_IDENTITY -gt 0 ]]; then
|
||||||
_FINGERPRINTS=$(fingerprints ~/.ssh/authorized_keys)
|
|
||||||
fi
|
|
||||||
if [[ $_SHOW_IDENTITY -gt 0 ]]
|
|
||||||
then
|
|
||||||
i=0
|
i=0
|
||||||
for a in $_LIVE_AGENT_LIST ; do
|
for a in $_LIVE_AGENT_LIST; do
|
||||||
sock=${a/:*/}
|
sock=${a/:*/}
|
||||||
_LIVE_AGENT_SOCK_LIST[$i]=$sock
|
_LIVE_AGENT_SOCK_LIST[$i]=$sock
|
||||||
# technically we could have multiple keys forwarded
|
# technically we could have multiple keys forwarded
|
||||||
# But I haven't seen anyone do it
|
# But I haven't seen anyone do it
|
||||||
akeys=$(SSH_AUTH_SOCK=$sock ssh-add -l)
|
akeys=$(SSH_AUTH_SOCK=$sock ssh-add -l)
|
||||||
key_size=$(echo ${akeys} | awk '{print $1}')
|
fingerprint=$(echo "${akeys}" | awk '{print $2}')
|
||||||
fingerprint=$(echo ${akeys} | awk '{print $2}')
|
if [ -e ~/.ssh/authorized_keys ]; then
|
||||||
remote_name=$(echo ${akeys} | awk '{print $3}')
|
authorized_entry=$(fingerprints ~/.ssh/authorized_keys | grep "$fingerprint")
|
||||||
if [ -e ~/.ssh/authorized_keys ] ; then
|
|
||||||
authorized_entry=$(fingerprints ~/.ssh/authorized_keys | grep $fingerprint)
|
|
||||||
fi
|
fi
|
||||||
comment=$(echo ${authorized_entry} | awk '{print $3,$4,$5,$6,$7}')
|
comment=$(echo "${authorized_entry}" | awk '{print $3,$4,$5,$6,$7}')
|
||||||
printf "export SSH_AUTH_SOCK=%s \t#%i) \t%s\n" "$sock" $((i+1)) "$comment"
|
printf "export SSH_AUTH_SOCK=%s \t#%i) \t%s\n" "$sock" $((i + 1)) "$comment"
|
||||||
i=$((i+1))
|
i=$((i + 1))
|
||||||
done
|
done
|
||||||
else
|
else
|
||||||
printf "%s\n" "$_LIVE_AGENT_LIST" | sed -e 's/ /\n/g' | sort -n -t: -k 2 -k 1
|
printf "%s\n" "$_LIVE_AGENT_LIST" | sed -e 's/ /\n/g' | sort -n -t: -k 2 -k 1
|
||||||
|
@ -170,21 +157,19 @@ find_all_agent_sockets() {
|
||||||
}
|
}
|
||||||
|
|
||||||
set_ssh_agent_socket() {
|
set_ssh_agent_socket() {
|
||||||
if [ "$1" = "-c" -o "$1" = "--choose" ]
|
if [ "$1" = "-c" ] || [ "$1" = "--choose" ]; then
|
||||||
then
|
|
||||||
find_all_agent_sockets -i
|
find_all_agent_sockets -i
|
||||||
|
|
||||||
if [ -z "$_LIVE_AGENT_LIST" ] ; then
|
if [ -z "$_LIVE_AGENT_LIST" ]; then
|
||||||
echo "No agents found"
|
echo "No agents found"
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo -n "Choose (1-${#_LIVE_AGENT_SOCK_LIST[@]})? "
|
echo -n "Choose (1-${#_LIVE_AGENT_SOCK_LIST[@]})? "
|
||||||
read choice
|
read -r choice
|
||||||
if [ -n "$choice" ]
|
if [ -n "$choice" ]; then
|
||||||
then
|
n=$((choice - 1))
|
||||||
n=$((choice-1))
|
if [ -z "${_LIVE_AGENT_SOCK_LIST[$n]}" ]; then
|
||||||
if [ -z "${_LIVE_AGENT_SOCK_LIST[$n]}" ] ; then
|
|
||||||
echo "Invalid choice"
|
echo "Invalid choice"
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
@ -193,28 +178,26 @@ set_ssh_agent_socket() {
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
# Choose the first available
|
# Choose the first available
|
||||||
SOCK=$(find_all_agent_sockets|tail -n 1|awk -F: '{print $1}')
|
SOCK=$(find_all_agent_sockets | tail -n 1 | awk -F: '{print $1}')
|
||||||
if [ -z "$SOCK" ] ; then
|
if [ -z "$SOCK" ]; then
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
export SSH_AUTH_SOCK=$SOCK
|
export SSH_AUTH_SOCK=$SOCK
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# set agent pid
|
# set agent pid
|
||||||
if [ -n "$SSH_AUTH_SOCK" ] ; then
|
if [ -n "$SSH_AUTH_SOCK" ]; then
|
||||||
export SSH_AGENT_PID=$((`echo $SSH_AUTH_SOCK | cut -d. -f2` + 1))
|
export SSH_AGENT_PID=$(($(echo "$SSH_AUTH_SOCK" | cut -d. -f2) + 1))
|
||||||
fi
|
fi
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
ssh-find-agent() {
|
ssh-find-agent() {
|
||||||
if [ "$1" = "-c" -o "$1" = "--choose" ]
|
if [ "$1" = "-c" ] || [ "$1" = "--choose" ]; then
|
||||||
then
|
|
||||||
set_ssh_agent_socket -c
|
set_ssh_agent_socket -c
|
||||||
return $?
|
return $?
|
||||||
elif [ "$1" = "-a" -o "$1" = "--auto" ]
|
elif [ "$1" = "-a" ] || [ "$1" = "--auto" ]; then
|
||||||
then
|
|
||||||
set_ssh_agent_socket
|
set_ssh_agent_socket
|
||||||
return $?
|
return $?
|
||||||
else
|
else
|
||||||
|
@ -225,8 +208,7 @@ ssh-find-agent() {
|
||||||
|
|
||||||
# Automatically add ssh-agent to any new ssh connection
|
# Automatically add ssh-agent to any new ssh connection
|
||||||
ssh-find-agent -a
|
ssh-find-agent -a
|
||||||
if [ -z "$SSH_AUTH_SOCK" ]
|
if [ -z "$SSH_AUTH_SOCK" ]; then
|
||||||
then
|
eval "$(ssh-agent)" >/dev/null
|
||||||
eval $(ssh-agent) > /dev/null
|
|
||||||
ssh-add -l >/dev/null || alias ssh='ssh-add -l >/dev/null || ssh-add && unalias ssh; ssh'
|
ssh-add -l >/dev/null || alias ssh='ssh-add -l >/dev/null || ssh-add && unalias ssh; ssh'
|
||||||
fi
|
fi
|
|
@ -4,9 +4,7 @@
|
||||||
type vifm >/dev/null 2>&1 && alias vm=vifm
|
type vifm >/dev/null 2>&1 && alias vm=vifm
|
||||||
|
|
||||||
# if vifm exists, also let me open current dir in vifm with vmm
|
# if vifm exists, also let me open current dir in vifm with vmm
|
||||||
type vifm >/dev/null 2>&1 && alias vmm="vifm ${PWD}"
|
type vifm >/dev/null 2>&1 && alias vmm='vifm ${PWD}'
|
||||||
|
|
||||||
# Check for existence of vifmrun command. If found, substitute vifm with it.
|
# Check for existence of vifmrun command. If found, substitute vifm with it.
|
||||||
type vifmrun >/dev/null 2>&1 && alias vifm=vifmrun
|
type vifmrun >/dev/null 2>&1 && alias vifm=vifmrun
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
#!/bin/zsh
|
||||||
|
|
||||||
### Set ZSH History defaults
|
### Set ZSH History defaults
|
||||||
|
|
||||||
# set some history options
|
# set some history options
|
||||||
|
@ -20,8 +22,7 @@ setopt pushd_ignore_dups
|
||||||
#setopt pushd_silent
|
#setopt pushd_silent
|
||||||
|
|
||||||
# Keep a ton of history.
|
# Keep a ton of history.
|
||||||
HISTSIZE=100000
|
export HISTSIZE=100000
|
||||||
SAVEHIST=100000
|
export SAVEHIST=100000
|
||||||
HISTFILE=~/.zsh_history
|
HISTFILE=~/.zsh_history
|
||||||
export HISTIGNORE="ls:cd:cd -:pwd:exit:date:* --help"
|
export HISTIGNORE="ls:cd:cd -:pwd:exit:date:* --help"
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
|
#!/bin/zsh
|
||||||
|
#
|
||||||
# Expand aliases inline - see http://blog.patshead.com/2012/11/automatically-expaning-zsh-global-aliases---simplified.html
|
# Expand aliases inline - see http://blog.patshead.com/2012/11/automatically-expaning-zsh-global-aliases---simplified.html
|
||||||
globalias() {
|
globalias() {
|
||||||
if [[ $LBUFFER =~ ' [A-Z0-9]+$' ]]; then
|
if [[ $LBUFFER =~ [A-Z0-9]+$ ]]; then
|
||||||
zle _expand_alias
|
zle _expand_alias
|
||||||
zle expand-word
|
zle expand-word
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -1,18 +1,20 @@
|
||||||
|
#!/bin/zsh
|
||||||
# Clone zgen if you haven't already
|
# Clone zgen if you haven't already
|
||||||
check_zgen_installation() {
|
check_zgen_installation() {
|
||||||
if [[ -z "$ZGEN_PARENT_DIR" ]]; then
|
if [[ -z "$ZGEN_PARENT_DIR" ]]; then
|
||||||
ZGEN_PARENT_DIR=${${XDG_CONFIG_HOME}:="$HOME/.config/"}
|
ZGEN_PARENT_DIR=${XDG_CONFIG_HOME:="$HOME/.config/"}
|
||||||
ZGEN_DIR="$ZGEN_PARENT_DIR/zgen"
|
ZGEN_DIR="$ZGEN_PARENT_DIR/zgen"
|
||||||
fi
|
fi
|
||||||
if [[ ! -f $ZGEN_DIR/zgen.zsh ]]; then
|
if [[ ! -f $ZGEN_DIR/zgen.zsh ]]; then
|
||||||
if [[ ! -d "$ZGEN_PARENT_DIR" ]]; then
|
if [[ ! -d "$ZGEN_PARENT_DIR" ]]; then
|
||||||
mkdir -p "$ZGEN_PARENT_DIR"
|
mkdir -p "$ZGEN_PARENT_DIR"
|
||||||
fi
|
fi
|
||||||
pushd $ZGEN_PARENT_DIR
|
cd "$ZGEN_PARENT_DIR" || return
|
||||||
git clone https://github.com/tarjoilija/zgen.git $ZGEN_DIR
|
git clone https://github.com/tarjoilija/zgen.git "$ZGEN_DIR"
|
||||||
popd
|
|
||||||
fi
|
fi
|
||||||
source $ZGEN_DIR/zgen.zsh
|
# shellcheck source=/home/marty/.config/zgen/zgen.zsh
|
||||||
|
# shellcheck disable=SC1091
|
||||||
|
source "$ZGEN_DIR"/zgen.zsh
|
||||||
unset ZGEN_PARENT_DIR
|
unset ZGEN_PARENT_DIR
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -34,8 +36,8 @@ load_plugins() {
|
||||||
|
|
||||||
# Set keystrokes for substring searching
|
# Set keystrokes for substring searching
|
||||||
zmodload zsh/terminfo
|
zmodload zsh/terminfo
|
||||||
bindkey "$terminfo[kcuu1]" history-substring-search-up
|
bindkey "${terminfo[kcuu1]:?}" history-substring-search-up
|
||||||
bindkey "$terminfo[kcud1]" history-substring-search-down
|
bindkey "${terminfo[kcud1]:?}" history-substring-search-down
|
||||||
|
|
||||||
# Automatically run zgen update and zgen selfupdate every 7 days.
|
# Automatically run zgen update and zgen selfupdate every 7 days.
|
||||||
zgen load unixorn/autoupdate-zgen
|
zgen load unixorn/autoupdate-zgen
|
||||||
|
@ -91,7 +93,7 @@ load_plugins() {
|
||||||
zgen oh-my-zsh plugins/screen
|
zgen oh-my-zsh plugins/screen
|
||||||
zgen oh-my-zsh plugins/vagrant
|
zgen oh-my-zsh plugins/vagrant
|
||||||
# check for autojump install before applying plugin
|
# check for autojump install before applying plugin
|
||||||
if [ type autojump >/dev/null 2>&1 ]; then
|
if type autojump >/dev/null 2>&1; then
|
||||||
zgen oh-my-zsh plugins/autojump
|
zgen oh-my-zsh plugins/autojump
|
||||||
fi
|
fi
|
||||||
zgen oh-my-zsh plugins/tmux
|
zgen oh-my-zsh plugins/tmux
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
|
#!/bin/zsh
|
||||||
# deal with screen, if we're using it - courtesy MacOSXHints.com
|
# deal with screen, if we're using it - courtesy MacOSXHints.com
|
||||||
# Login greeting ------------------
|
# Login greeting ------------------
|
||||||
if [ "$TERM" = "screen" -a ! "$SHOWED_SCREEN_MESSAGE" = "true" ]; then
|
if [ "$TERM" = "screen" ] && [ ! "$SHOWED_SCREEN_MESSAGE" = "true" ]; then
|
||||||
detached_screens=$(screen -list | grep Detached)
|
detached_screens=$(screen -list | grep Detached)
|
||||||
if [ ! -z "$detached_screens" ]; then
|
if [ -n "$detached_screens" ]; then
|
||||||
echo "+---------------------------------------+"
|
echo "+---------------------------------------+"
|
||||||
echo "| Detached screens are available: |"
|
echo "| Detached screens are available: |"
|
||||||
echo "$detached_screens"
|
echo "$detached_screens"
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
#!/bin/zsh
|
||||||
# Correct spelling for commands
|
# Correct spelling for commands
|
||||||
setopt correct
|
setopt correct
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
|
#!/bin/zsh
|
||||||
# Long running processes should return time after they complete. Specified
|
# Long running processes should return time after they complete. Specified
|
||||||
# in seconds.
|
# in seconds.
|
||||||
REPORTTIME=2
|
export REPORTTIME=2
|
||||||
TIMEFMT="%U user %S system %P cpu %*Es total"
|
export TIMEFMT="%U user %S system %P cpu %*Es total"
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
#!/bin/zsh
|
||||||
|
|
||||||
POWERLEVEL9K_MODE='nerdfont-complete'
|
POWERLEVEL9K_MODE='nerdfont-complete'
|
||||||
#POWERLEVEL9K_SHORTEN_DIR_LENGTH=1
|
#POWERLEVEL9K_SHORTEN_DIR_LENGTH=1
|
||||||
#POWERLEVEL9K_SHORTEN_DELIMITER=""
|
#POWERLEVEL9K_SHORTEN_DELIMITER=""
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
#!/bin/zsh
|
||||||
|
#
|
||||||
# Clone tmux plugin manager if not existing
|
# Clone tmux plugin manager if not existing
|
||||||
if [[ -z "$TPM_PARENT_DIR" ]]; then
|
if [[ -z "$TPM_PARENT_DIR" ]]; then
|
||||||
TPM_PARENT_DIR=${XDG_CONFIG_HOME:-$HOME/.config}/tmux
|
TPM_PARENT_DIR=${XDG_CONFIG_HOME:-$HOME/.config}/tmux
|
||||||
|
@ -7,14 +9,12 @@ if [[ ! -f $TPM_PARENT_DIR/plugins/tpm/tpm ]]; then
|
||||||
if [[ ! -d "$TPM_PARENT_DIR" ]]; then
|
if [[ ! -d "$TPM_PARENT_DIR" ]]; then
|
||||||
mkdir -p "$TPM_PARENT_DIR"
|
mkdir -p "$TPM_PARENT_DIR"
|
||||||
fi
|
fi
|
||||||
pushd $TPM_PARENT_DIR
|
cd "$TPM_PARENT_DIR" || exit
|
||||||
git clone https://github.com/tmux-plugins/tpm plugins/tpm
|
git clone https://github.com/tmux-plugins/tpm plugins/tpm
|
||||||
popd
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
export TMUX_PLUGIN_MANAGER_PATH=$TPM_PARENT_DIR/plugins
|
export TMUX_PLUGIN_MANAGER_PATH=$TPM_PARENT_DIR/plugins
|
||||||
alias tmux="tmux -f ${TPM_PARENT_DIR}/tmux.conf"
|
alias tmux="tmux -f "'"${TPM_PARENT_DIR}"'"/tmux.conf"
|
||||||
|
|
||||||
unset TPM_PARENT_DIR
|
unset TPM_PARENT_DIR
|
||||||
unset TPM_SUB_DIR
|
unset TPM_SUB_DIR
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
#!/bin/zsh
|
||||||
# uses k (installed with plugins) but makes it accessible through l as well
|
# uses k (installed with plugins) but makes it accessible through l as well
|
||||||
alias k="k -h"
|
alias k="k -h"
|
||||||
alias l="k -A"
|
alias l="k -A"
|
|
@ -1,4 +1,5 @@
|
||||||
|
#!/bin/zsh
|
||||||
# mkdir & cd
|
# mkdir & cd
|
||||||
function mkcd {
|
function mkcd() {
|
||||||
mkdir -p "$@" && cd $_
|
mkdir -p "$@" && cd "$_" || return
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
|
#!/bin/zsh
|
||||||
# show newest files
|
# show newest files
|
||||||
# http://www.commandlinefu.com/commands/view/9015/find-the-most-recently-changed-files-recursively
|
# http://www.commandlinefu.com/commands/view/9015/find-the-most-recently-changed-files-recursively
|
||||||
newest (){
|
newest() {
|
||||||
find . -type f -printf '%TY-%Tm-%Td %TT %p\n' | \
|
find . -type f -printf '%TY-%Tm-%Td %TT %p\n' |
|
||||||
grep -v cache | \
|
grep -v cache |
|
||||||
grep -v '.hg' | grep -v '.git' | \
|
grep -v '.hg' | grep -v '.git' |
|
||||||
sort -r | \
|
sort -r |
|
||||||
less
|
less
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
|
#!/bin/zsh
|
||||||
# automatically use tmux whenever we ssh to a server
|
# automatically use tmux whenever we ssh to a server
|
||||||
|
|
||||||
function ssht(){
|
function ssht() {
|
||||||
ssh $* -t 'tmux a || tmux || /bin/bash'
|
ssh "$@" -t 'tmux a || tmux || /bin/bash'
|
||||||
}
|
}
|
|
@ -1,13 +1,16 @@
|
||||||
|
#!/bin/zsh
|
||||||
|
#
|
||||||
# Speed up autocomplete, force prefix mapping
|
# Speed up autocomplete, force prefix mapping
|
||||||
zstyle ':completion:*' accept-exact '*(N)'
|
zstyle ':completion:*' accept-exact '*(N)'
|
||||||
zstyle ':completion:*' use-cache on
|
zstyle ':completion:*' use-cache on
|
||||||
zstyle ':completion:*' cache-path ~/.zsh/cache
|
zstyle ':completion:*' cache-path ~/.zsh/cache
|
||||||
zstyle -e ':completion:*:default' list-colors 'reply=("${PREFIX:+=(#bi)($PREFIX:t)*==34=34}:${(s.:.)LS_COLORS}")';
|
# shellcheck disable=SC2016
|
||||||
|
zstyle -e ':completion:*:default' list-colors 'reply=("${PREFIX:+=(#bi)($PREFIX:t)*==34=34}:${(s.:.)LS_COLORS}")'
|
||||||
|
|
||||||
# Load any custom zsh completions we've installed
|
# Load any custom zsh completions we've installed
|
||||||
if [ -d ~/.zsh-completions ]; then
|
if [ -d ~/.zsh-completions ]; then
|
||||||
for completion in ~/.zsh-completions/*
|
for completion in ~/.zsh-completions/*; do
|
||||||
do
|
# shellcheck source=/dev/null
|
||||||
source "$completion"
|
source "$completion"
|
||||||
done
|
done
|
||||||
fi
|
fi
|
|
@ -1,19 +1,22 @@
|
||||||
|
#!/bin/zsh
|
||||||
|
# shellcheck disable=SC2206
|
||||||
|
# shellcheck disable=SC2179
|
||||||
|
# shellcheck disable=SC2154
|
||||||
|
|
||||||
# In case a plugin adds a redundant path entry, remove duplicate entries
|
# In case a plugin adds a redundant path entry, remove duplicate entries
|
||||||
# from PATH
|
# from PATH
|
||||||
#
|
# from: https://unix.stackexchange.com/questions/40749/remove-duplicate-path-entries-with-awk-command
|
||||||
# This snippet is from Mislav Marohnić <mislav.marohnic@gmail.com>'s
|
get_var() {
|
||||||
# dotfiles repo at https://github.com/mislav/dotfiles
|
eval 'printf "%s\n" "${'"$1"'}"'
|
||||||
dedupe_path() {
|
|
||||||
typeset -a paths result
|
|
||||||
paths=($path)
|
|
||||||
|
|
||||||
while [[ ${#paths} -gt 0 ]]; do
|
|
||||||
p="${paths[1]}"
|
|
||||||
shift paths
|
|
||||||
[[ -z ${paths[(r)$p]} ]] && result+="$p"
|
|
||||||
done
|
|
||||||
|
|
||||||
export PATH=${(j+:+)result}
|
|
||||||
}
|
}
|
||||||
|
set_var() {
|
||||||
dedupe_path
|
eval "$1=\"\$2\""
|
||||||
|
}
|
||||||
|
dedup_pathvar() {
|
||||||
|
pathvar_name="$1"
|
||||||
|
pathvar_value="$(get_var "$pathvar_name")"
|
||||||
|
deduped_path="$(perl -e 'print join(":",grep { not $seen{$_}++ } split(/:/, $ARGV[0]))' "$pathvar_value")"
|
||||||
|
set_var "$pathvar_name" "$deduped_path"
|
||||||
|
}
|
||||||
|
dedup_pathvar PATH
|
||||||
|
dedup_pathvar MANPATH
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
#!/bin/zsh
|
||||||
# Assumes enhancd is installed (via plugin)
|
# Assumes enhancd is installed (via plugin)
|
||||||
# Let's you go back a directory with .. (usual cd .. behavior)
|
# Let's you go back a directory with .. (usual cd .. behavior)
|
||||||
# Let's the enhancd backtrack menu appear with cd .. (usual enhancd behavior)
|
# Let's the enhancd backtrack menu appear with cd .. (usual enhancd behavior)
|
||||||
|
|
|
@ -5,17 +5,17 @@
|
||||||
# you can delete this line if you're not using Docker
|
# you can delete this line if you're not using Docker
|
||||||
image: fnichol/check-shell:latest
|
image: fnichol/check-shell:latest
|
||||||
|
|
||||||
shellcheck:
|
analyze:
|
||||||
stage: test
|
stage: test
|
||||||
before_script:
|
before_script:
|
||||||
- shellcheck --version
|
- shellcheck --version
|
||||||
script:
|
script:
|
||||||
- echo "--------- CHECKING POSIX SHELLSCRIPTS -------------"
|
- echo "--------- CHECKING POSIX SHELLSCRIPTS -------------"
|
||||||
- find . -type f -name '*.sh' | xargs shellcheck -s sh
|
- find . -type f -name '*.sh' | xargs shellcheck -Calways
|
||||||
- echo "--------- CHECKING ZSH SHELLSCRIPTS -------------"
|
- echo "--------- CHECKING ZSH SHELLSCRIPTS -------------"
|
||||||
- find . -type f -name '*.zsh' | xargs shellcheck -s bash
|
- find . -type f -name '*.zsh' | xargs shellcheck -Calways -s bash -e SC2034
|
||||||
|
|
||||||
shfmt:
|
lint:
|
||||||
stage: test
|
stage: test
|
||||||
before_script:
|
before_script:
|
||||||
- shfmt -version
|
- shfmt -version
|
||||||
|
|
|
@ -3,10 +3,5 @@
|
||||||
# from swalladge:
|
# from swalladge:
|
||||||
# https://github.com/swalladge/dotfiles/blob/master/local/share/qutebrowser/userscripts/wallabag_add.sh
|
# https://github.com/swalladge/dotfiles/blob/master/local/share/qutebrowser/userscripts/wallabag_add.sh
|
||||||
|
|
||||||
# for wallabag v1.*
|
|
||||||
# `-w 0` disables auto line wrapping in base64
|
|
||||||
# echo "open -t https://www.framabag.org/u/swalladge/?action=add&url='`echo -n "$QUTE_URL" | base64 -w 0`'" >> "$QUTE_FIFO"
|
|
||||||
|
|
||||||
|
|
||||||
# v2.*
|
# v2.*
|
||||||
echo "open https://read.martyoeh.me/bookmarklet?url=$QUTE_URL" >> "$QUTE_FIFO"
|
echo "open https://read.martyoeh.me/bookmarklet?url=$QUTE_URL" >>"$QUTE_FIFO"
|
||||||
|
|
Loading…
Reference in a new issue