diff options
author | Amin Bandali <bandali@gnu.org> | 2019-04-14 15:36:58 -0400 |
---|---|---|
committer | Amin Bandali <bandali@gnu.org> | 2019-04-14 15:36:58 -0400 |
commit | d99f86cd913e15a2dc5792ca382fb5d4b2abeb7b (patch) | |
tree | 097c1014a250822e3671aaf26810b959d91b58a0 | |
parent | edb9a03a2fb953b707f286a6d944e6cf0b8fae82 (diff) | |
download | configs-d99f86cd913e15a2dc5792ca382fb5d4b2abeb7b.tar.gz configs-d99f86cd913e15a2dc5792ca382fb5d4b2abeb7b.tar.xz configs-d99f86cd913e15a2dc5792ca382fb5d4b2abeb7b.zip |
bash: various tweaks
- new include helper for checking if arg is a regular and readable
file, then sourcing it
- set VISUAL editor
- fix prompt to show an additional character when abbreviated folder’s
name starts with a dot
-rw-r--r-- | .bash_profile | 9 | ||||
-rw-r--r-- | .bashrc | 26 | ||||
-rw-r--r-- | .profile | 15 |
3 files changed, 33 insertions, 17 deletions
diff --git a/.bash_profile b/.bash_profile index d5f7cc9..f41056d 100644 --- a/.bash_profile +++ b/.bash_profile @@ -1,2 +1,7 @@ -[[ -f ~/.profile ]] && . ~/.profile -[[ -f ~/.bashrc ]] && . ~/.bashrc +include () { + [[ -f "$1" && -r "$1" ]] && source "$1" +} + +include ~/.profile +include ~/.nix-profile/etc/profile.d/nix.sh +include ~/.bashrc @@ -1,15 +1,26 @@ +# If not running interactively, don't do anything else +[[ $- != *i* ]] && return + +# i-beam cursor +# echo -e "\033[5 q" # blinking +echo -e "\033[6 q" # non-blinking + # various bash tweaks shopt -s histappend shopt -s cmdhist HISTSIZE= HISTFILESIZE= HISTCONTROL=ignoreboth -HISTIGNORE='ls:l:s:bg:fg:history' +HISTIGNORE='ls:l:s:g:[bf]g:history' HISTTIMEFORMAT='%F %T ' stty stop "" # aliases alias ls='ls --color=auto' +alias l='ls -lh' # long format and human-readable sizes +alias ll='l -A' # long format, all files +alias g='git' +include /usr/share/bash-completion/completions/git && __git_complete g _git alias mpv="mpv --ytdl-format mp4" alias mv="mv -iv" alias cp="cp -iv" @@ -24,16 +35,13 @@ aur() { cd ${1} } -# i-beam cursor -# echo -e "\033[5 q" # blinking -echo -e "\033[6 q" # non-blinking - - -# If not running interactively, don't do anything else -[[ $- != *i* ]] && return +# fzf +include /usr/share/fzf/key-bindings.bash +include /usr/share/fzf/completion.bash +# from https://unix.stackexchange.com/a/55935 a_prompt() { - cwd=$(pwd | sed -e "s!$HOME!~!" | sed -re "s!([^/])[^/]+/!\1/!g") + cwd=$(sed -e "s:$HOME:~:" -e "s:\(\.\?[^/]\)[^/]*/:\1/:g" <<<$PWD) printf $cwd } PS1="\u@\h \$(a_prompt)> " @@ -1,3 +1,5 @@ +export VISUAL="emacsclient -c" + export PATH="$HOME/.local/bin:$HOME/.cabal/bin:$HOME/.cargo/bin:$HOME/.elan/bin${PATH:+:}$PATH" export XDG_CONFIG_HOME="$HOME/.config" @@ -7,11 +9,12 @@ export XDG_DATA_DIRS="/usr/local/share:/usr/share" export MAILDIR="$HOME/mail" export CVS_RSH="ssh" -export GUIX_LOCPATH="$HOME/.guix-profile/lib/locale" -export PATH="$HOME/.config/guix/current/bin${PATH:+:}$PATH" -export SSL_CERT_DIR="$HOME/.guix-profile/etc/ssl/certs" -export SSL_CERT_FILE="$HOME/.guix-profile/etc/ssl/certs/ca-certificates.crt" -export GIT_SSL_CAINFO="$SSL_CERT_FILE" +if [ -x "$(command -v guix)" ]; then + export GUIX_LOCPATH="$HOME/.guix-profile/lib/locale" + export PATH="$HOME/.config/guix/current/bin${PATH:+:}$PATH" + export SSL_CERT_DIR="$HOME/.guix-profile/etc/ssl/certs" + export SSL_CERT_FILE="$HOME/.guix-profile/etc/ssl/certs/ca-certificates.crt" + export GIT_SSL_CAINFO="$SSL_CERT_FILE" +fi export NIXPKGS="$HOME/src/git/nixpkgs" -if [ -e $HOME/.nix-profile/etc/profile.d/nix.sh ]; then . $HOME/.nix-profile/etc/profile.d/nix.sh; fi |