diff options
Diffstat (limited to '')
-rw-r--r-- | bashrc | 140 |
1 files changed, 53 insertions, 87 deletions
@@ -3,11 +3,22 @@ # for examples # If not running interactively, don't do anything -case $- in - *i*) ;; - *) return;; +#case $- in +# *i*) ;; +# *) return;; +#esac + +# Use vi if not vim +case "$(command -v vim)" in + */vim) VIM=vim ;; + *) VIM=vi ;; esac +# set PATH so it includes user's private bin if it exists +if [ -d "$HOME/bin" ] ; then + PATH="$HOME/bin:$PATH" +fi + # don't put duplicate lines or lines starting with space in the history. # See bash(1) for more options HISTCONTROL=ignoreboth @@ -17,95 +28,27 @@ shopt -s histappend # for setting history length see HISTSIZE and HISTFILESIZE in bash(1) HISTSIZE=1000 -HISTFILESIZE=2000 +HISTFILESIZE=20000 + +# use colorls if it's installed, plain old ls otherwise +if command -v colorls > /dev/null ; then + LS='colorls' +else + LS='ls' +fi # check the window size after each command and, if necessary, # update the values of LINES and COLUMNS. shopt -s checkwinsize -# If set, the pattern "**" used in a pathname expansion context will -# match all files and zero or more directories and subdirectories. -#shopt -s globstar - -# make less more friendly for non-text input files, see lesspipe(1) -[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)" - -# set variable identifying the chroot you work in (used in the prompt below) -if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then - debian_chroot=$(cat /etc/debian_chroot) -fi - -# set a fancy prompt (non-color, unless we know we "want" color) -# case "$TERM" in -# xterm-color|*-256color) color_prompt=yes;; -# esac - -# uncomment for a colored prompt, if the terminal has the capability; turned -# off by default to not distract the user: the focus in a terminal window -# should be on the output of commands, not on the prompt -force_color_prompt=yes - -if [ -n "$force_color_prompt" ]; then - if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then - # We have color support; assume it's compliant with Ecma-48 - # (ISO/IEC-6429). (Lack of such support is extremely rare, and such - # a case would tend to support setf rather than setaf.) - color_prompt=yes - else - color_prompt= - fi -fi - PS1="\h:\w \u$ " -#if [ "$color_prompt" = yes ]; then -# PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' -#else -# PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' -#fi -unset color_prompt force_color_prompt - -# If this is an xterm set the title to user@host:dir -case "$TERM" in -xterm*|rxvt*) - PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1" - ;; -*) - ;; -esac - -# enable color support of ls and also add handy aliases -if [ -x /usr/bin/dircolors ]; then - test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" - alias ls='ls --color=auto' - #alias dir='dir --color=auto' - #alias vdir='vdir --color=auto' - - alias grep='grep --color=auto' - #alias fgrep='fgrep --color=auto' - #alias egrep='egrep --color=auto' -fi - -# colored GCC warnings and errors -export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01' - -# some more ls aliases -alias ll='ls -l' -alias la='ls -A' -alias l='ls -CF' - # Alias definitions. -# You may want to put all your additions into a separate file like -# ~/.bash_aliases, instead of adding them here directly. -# See /usr/share/doc/bash-doc/examples in the bash-doc package. - if [ -f ~/.bash_aliases ]; then . ~/.bash_aliases fi # enable programmable completion features (you don't need to enable -# this, if it's already enabled in /etc/bash.bashrc and /etc/profile -# sources /etc/bash.bashrc). if ! shopt -oq posix; then if [ -f /usr/share/bash-completion/bash_completion ]; then . /usr/share/bash-completion/bash_completion @@ -114,10 +57,14 @@ if ! shopt -oq posix; then fi fi +# source funcs and completion +for f in ~/.bash_completion.d/*; do source $f; done +for f in ~/.bash_functions.d/*; do source $f; done + # use GPG to encrypt files secret () { - output=~/"${1}".$(date +%s).enc - gpg --encrypt --armor --output ${output} -r 0xEE63349F8526B820 "${1}" && echo "${1} -> ${output}" + output=~/Downloads/"${1}".$(date +%s).enc + gpg --encrypt --armor --output ${output} -r matt@matthewlemon.com "${1}" && echo "${1} -> ${output}" } reveal () { @@ -125,12 +72,35 @@ reveal () { gpg --decrypt --output ${output} "${1}" && echo "${1} -> ${output}" } +# journal funcs +todj () { + CMD=cat + if [[ $1 = "-vim" ]]; then + CMD=vim + fi + $CMD $(find /home/lemon/Notes/journal -name "*$(date '+%Y-%m-%d')*") +} + +tj () { + if [[ -z $1 ]]; then + echo "Please give me your message in quotes." + fi + echo $1 | _tj +} + +tjclip () { + if [[ -z $1 ]]; then + echo "Please give me your message in quotes." + fi + echo "$1: $(xclip -o -selection clipboard)." | _tj +} + # GPG agent settings (https://github.com/hammerheadlemon/YubiKey-Guide) # See Replace Agents section export GPG_TTY="$(tty)" -export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket) -gpgconf --launch gpg-agent +#export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket) +#gpgconf --launch gpg-agent # FZF export FZF_DEFAULT_COMMAND='ag -g ""' @@ -141,10 +111,6 @@ export FZF_DEFAULT_OPTS='--color info:108,prompt:109,spinner:108,pointer:168,mar #set TERM export TERM="xterm-256color" -#PATH -export PATH=/home/lemon/bin:/home/lemon/.local/bin:$PATH - [ -f ~/.fzf.bash ] && source ~/.fzf.bash EDITOR=/usr/local/bin/vim -#source ~/.bash_completion.d/task.sh |