diff options
| author | Karel Kočí <cynerd@email.cz> | 2018-08-12 18:37:31 +0200 | 
|---|---|---|
| committer | Karel Kočí <cynerd@email.cz> | 2018-08-12 18:37:31 +0200 | 
| commit | a55cffa8b3cbc02e2b021ed25e67203d337c36bb (patch) | |
| tree | 8ccc7d7fd3a8423af46a77c488511589142fc08b | |
| parent | 8720b8f7bb072a861dcc5b4be1c97b02f0912a9e (diff) | |
| download | shellrc-a55cffa8b3cbc02e2b021ed25e67203d337c36bb.tar.gz shellrc-a55cffa8b3cbc02e2b021ed25e67203d337c36bb.tar.bz2 shellrc-a55cffa8b3cbc02e2b021ed25e67203d337c36bb.zip | |
Move some definitions around and add --desktop optionv0.5.2
| -rwxr-xr-x | install | 17 | ||||
| -rw-r--r-- | shellrc.d-desktop/desktop (renamed from shellrc.d/desktop) | 0 | ||||
| -rw-r--r-- | shellrc.d-desktop/xorg (renamed from shellrc.d/xorg) | 0 | ||||
| -rw-r--r-- | shellrc.d/alias | 24 | ||||
| -rw-r--r-- | shellrc.d/common | 129 | ||||
| -rw-r--r-- | shellrc.d/function | 66 | ||||
| -rw-r--r-- | shellrc.d/git | 29 | ||||
| -rw-r--r-- | shellrc.d/less | 10 | 
8 files changed, 143 insertions, 132 deletions
| @@ -6,6 +6,7 @@ I_PREFIX=/  U_BASE=true  U_BASH=false  U_ZSH=false +U_DESKTOP=false  while [ $# -gt 0 ]; do  	case "$1" in @@ -15,12 +16,14 @@ while [ $# -gt 0 ]; do  			echo "Options:"  			echo "  -h, --help"  			echo "    Print this help text." +			echo "  -d, --desktop" +			echo "    Install desktop specific configuration extensions for shellrc"  			echo "  -b, --bash"  			echo "    Install bash configuration"  			echo "  -z, --zsh"  			echo "    Install zsh configuration"  			echo "  --no-base" -			echo "    Do not install base only bash or zsh is installed" +			echo "    Do not install base only bash or zsh or desktop is installed"  			echo "  --prefix PATH"  			echo "    Install prefix (in default set to /)"  			exit 0 @@ -34,6 +37,9 @@ while [ $# -gt 0 ]; do  		--no-base)  			U_BASE=false  			;; +		-d|--desktop) +			U_DESKTOP=true +			;;  		--prefix)  			shift  			I_PREFIX="$1" @@ -48,8 +54,13 @@ done  # Install shellrc  if $U_BASE; then -	mkdir -p "$I_PREFIX/etc" -	cp -r shellrc.d "$I_PREFIX/etc/shellrc.d" +	mkdir -p "$I_PREFIX/etc/shellrc.d" +	cp -r shellrc.d/. "$I_PREFIX/etc/shellrc.d" +fi + +if $U_DESKTOP; then +	mkdir -p "$I_PREFIX/etc/shellrc.d" +	cp -r shellrc.d-desktop/. "$I_PREFIX/etc/shellrc.d"  fi  if $U_BASH; then diff --git a/shellrc.d/desktop b/shellrc.d-desktop/desktop index 52ca258..52ca258 100644 --- a/shellrc.d/desktop +++ b/shellrc.d-desktop/desktop diff --git a/shellrc.d/xorg b/shellrc.d-desktop/xorg index be9ef69..be9ef69 100644 --- a/shellrc.d/xorg +++ b/shellrc.d-desktop/xorg diff --git a/shellrc.d/alias b/shellrc.d/alias new file mode 100644 index 0000000..78dcafe --- /dev/null +++ b/shellrc.d/alias @@ -0,0 +1,24 @@ +# vim: ft=sh: +alias ls='ls --color=auto' +eval $(dircolors -b) +alias ll='ls -lh' +alias df='df -h' +alias du='du -h' +alias grep='grep --color=auto' +alias ip='ip -c' +alias git='LANG=en_GB git' +alias gdb='gdb -q' +alias cgdb='cgdb -q' +alias octave='octave-cli -q' +alias ssh='TERM="xterm-256color" ssh' +alias gst='git status' +alias v='vim' +alias watch='watch -n 1 -c -t -d' + +# Systemd aliases if we are running systemd +if pidof systemd >/dev/null 2>/dev/null; then +	alias sctl='sudo systemctl' +	alias usctl='systemctl --user' +	alias jrn='journalctl' +	alias ujrn='jrn --user' +fi diff --git a/shellrc.d/common b/shellrc.d/common deleted file mode 100644 index 8a30f3b..0000000 --- a/shellrc.d/common +++ /dev/null @@ -1,129 +0,0 @@ -# vim: ft=sh: - -alias ls='ls --color=auto' -eval $(dircolors -b) -alias ll='ls -lh' -alias df='df -h' -alias du='du -h' -alias grep='grep --color=auto' -alias ip='ip -c' -alias git='LANG=en_GB git' -alias gdb='gdb -q' -alias cgdb='cgdb -q' -alias octave='octave-cli -q' -alias ssh='TERM="xterm-256color" ssh' -alias gst='git status' -alias v='vim' -alias watch='watch -n 1 -c -t -d' - -export LESS=-R -export LESS_TERMCAP_mb=$'\E[1;31m' -export LESS_TERMCAP_md=$'\E[1;36m' -export LESS_TERMCAP_me=$'\E[0m' -export LESS_TERMCAP_se=$'\E[0m' -export LESS_TERMCAP_so=$'\E[01;44;33m' -export LESS_TERMCAP_ue=$'\E[0m' -export LESS_TERMCAP_us=$'\E[1;32m' -[ -x /usr/bin/src-hilite-lesspipe.sh ] && export LESSOPEN="| /usr/bin/src-hilite-lesspipe.sh %s" - -# Systemd aliases if we are running systemd -if pidof systemd >/dev/null 2>/dev/null; then -	alias sctl='sudo systemctl' -	alias usctl='systemctl --user' -	alias jrn='journalctl' -	alias ujrn='jrn --user' -fi - - -# Run process in background -tobg() { -	"$@" >/dev/null 2>&1 & -} - -# Generate random password (optionally takes length of password as first argument) -genpasswd() { -	local l=$1 -	[ -n "$l" ] || l=16 -	tr -dc A-Za-z0-9_ < /dev/urandom | head -c "$l" | xargs -} - -# Generate random hex number of given lenght -genhex() { -	if [ -z "$1" ]; then -		echo "Size is required as first argument!" >&2 -		return 1 -	fi -	tr -dc 0-9A-F < /dev/urandom | head -c "$1" | xargs -} - -# Automatic branch merger (merge branch, push it to server and remove branch) -# Expects name of the branch as argument -# It fails if it's not fast forward merge and if there is fixup! commit. -gitbmerge() { -	( -		set -e -		if [ -n "$(git log --grep="^fixup\!" HEAD.."$1")" ]; then -			echo "First squash fixups!" -			exit 1 -		fi -		local WT="$(git worktree list | sed -nE "/\[$1\]/{s/([^ ]+) .*/\1/p}")" -		if [ -n "$WT" ]; then -			rm -r "$WT" -			git worktree prune -		fi -		git merge --ff-only "$1" && git push && git branch -d "$1" && git push origin :"$1" -	) -} - -# Create new branch from HEAD -gitbnew() { -	git branch "$1" HEAD -	local NW="$(git rev-parse --show-toplevel)-$1" -	git worktree add "$NW" $1 -	cd "$NW" -	git submodule update --init --recursive -} - -# Run given command every second -dorepeat() { -	while true; do -		"$@" -		sleep 1 -		echo -	done -} - -# Clear all ssh control masters -ssh-clear() { -	rm -rf ~/.cache/ssh -	mkdir -p ~/.cache/ssh -} - -# Chroot to bash to given path -chroot-bash() { -	sudo chroot "$1" /bin/bash -} - -# Run command with inotifywait -# First argument has to be files then -- is expected and everything else -# is command to be executed when file changes. -inrun () { -	( -	set -e -	local TMPFS="$(mktemp --tmpdir inrun.XXXXXXXX)" -	trap "rm '$TMPFS'; trap '' EXIT; exit 0" EXIT INT QUIT TERM ABRT -	while [ $# -gt 0 -a "$1" != "--" ]; do -		echo "$1" >> "$TMPFS" -		shift -	done -	if [ $# -le 1 ]; then -		echo "Usage: inrun FILE.. -- COMMAND" -		return 1 -	fi -	shift -	while true; do -		inotifywait -qe close_write --fromfile "$TMPFS" || true -		"$@" || true -	done -	) -} diff --git a/shellrc.d/function b/shellrc.d/function new file mode 100644 index 0000000..56e648a --- /dev/null +++ b/shellrc.d/function @@ -0,0 +1,66 @@ +# vim: ft=sh: + +# Run process in background +tobg() { +	"$@" >/dev/null 2>&1 & +} + +# Generate random password (optionally takes length of password as first argument) +genpasswd() { +	local l=$1 +	[ -n "$l" ] || l=16 +	tr -dc A-Za-z0-9_ < /dev/urandom | head -c "$l" | xargs +} + +# Generate random hex number of given lenght +genhex() { +	if [ -z "$1" ]; then +		echo "Size is required as first argument!" >&2 +		return 1 +	fi +	tr -dc 0-9A-F < /dev/urandom | head -c "$1" | xargs +} + +# Run given command every second +dorepeat() { +	while true; do +		"$@" +		sleep 1 +		echo +	done +} + +# Clear all ssh control masters +ssh-clear() { +	rm -rf ~/.cache/ssh +	mkdir -p ~/.cache/ssh +} + +# Chroot to bash to given path +chroot-bash() { +	sudo chroot "$1" /bin/bash +} + +# Run command with inotifywait +# First argument has to be files then -- is expected and everything else +# is command to be executed when file changes. +inrun () { +	( +	set -e +	local TMPFS="$(mktemp --tmpdir inrun.XXXXXXXX)" +	trap "rm '$TMPFS'; trap '' EXIT; exit 0" EXIT INT QUIT TERM ABRT +	while [ $# -gt 0 -a "$1" != "--" ]; do +		echo "$1" >> "$TMPFS" +		shift +	done +	if [ $# -le 1 ]; then +		echo "Usage: inrun FILE.. -- COMMAND" +		return 1 +	fi +	shift +	while true; do +		inotifywait -qe close_write --fromfile "$TMPFS" || true +		"$@" || true +	done +	) +} diff --git a/shellrc.d/git b/shellrc.d/git new file mode 100644 index 0000000..47edae5 --- /dev/null +++ b/shellrc.d/git @@ -0,0 +1,29 @@ +# vim: ft=sh: + +# Automatic branch merger (merge branch, push it to server and remove branch) +# Expects name of the branch as argument +# It fails if it's not fast forward merge and if there is fixup! commit. +gitbmerge() { +	( +		set -e +		if [ -n "$(git log --grep="^fixup\!" HEAD.."$1")" ]; then +			echo "First squash fixups!" +			exit 1 +		fi +		local WT="$(git worktree list | sed -nE "/\[$1\]/{s/([^ ]+) .*/\1/p}")" +		if [ -n "$WT" ]; then +			rm -r "$WT" +			git worktree prune +		fi +		git merge --ff-only "$1" && git push && git branch -d "$1" && git push origin :"$1" +	) +} + +# Create new branch from HEAD +gitbnew() { +	git branch "$1" HEAD +	local NW="$(git rev-parse --show-toplevel)-$1" +	git worktree add "$NW" $1 +	cd "$NW" +	git submodule update --init --recursive +} diff --git a/shellrc.d/less b/shellrc.d/less new file mode 100644 index 0000000..d2490a5 --- /dev/null +++ b/shellrc.d/less @@ -0,0 +1,10 @@ +# vim: ft=sh: +export LESS=-R +export LESS_TERMCAP_mb=$'\E[1;31m' +export LESS_TERMCAP_md=$'\E[1;36m' +export LESS_TERMCAP_me=$'\E[0m' +export LESS_TERMCAP_se=$'\E[0m' +export LESS_TERMCAP_so=$'\E[01;44;33m' +export LESS_TERMCAP_ue=$'\E[0m' +export LESS_TERMCAP_us=$'\E[1;32m' +[ -x /usr/bin/src-hilite-lesspipe.sh ] && export LESSOPEN="| /usr/bin/src-hilite-lesspipe.sh %s" | 
