aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarel Kočí <cynerd@email.cz>2018-08-12 18:37:31 +0200
committerKarel Kočí <cynerd@email.cz>2018-08-12 18:37:31 +0200
commita55cffa8b3cbc02e2b021ed25e67203d337c36bb (patch)
tree8ccc7d7fd3a8423af46a77c488511589142fc08b
parent8720b8f7bb072a861dcc5b4be1c97b02f0912a9e (diff)
downloadshellrc-a55cffa8b3cbc02e2b021ed25e67203d337c36bb.tar.gz
shellrc-a55cffa8b3cbc02e2b021ed25e67203d337c36bb.tar.bz2
shellrc-a55cffa8b3cbc02e2b021ed25e67203d337c36bb.zip
Move some definitions around and add --desktop optionv0.5.2
-rwxr-xr-xinstall17
-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/alias24
-rw-r--r--shellrc.d/common129
-rw-r--r--shellrc.d/function66
-rw-r--r--shellrc.d/git29
-rw-r--r--shellrc.d/less10
8 files changed, 143 insertions, 132 deletions
diff --git a/install b/install
index 55d3cfd..422eaf0 100755
--- a/install
+++ b/install
@@ -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"