Skip to content

Instantly share code, notes, and snippets.

@mikldt
Created June 6, 2010 19:49
Show Gist options
  • Save mikldt/427834 to your computer and use it in GitHub Desktop.
Save mikldt/427834 to your computer and use it in GitHub Desktop.

Revisions

  1. mikldt revised this gist Aug 3, 2011. 1 changed file with 23 additions and 11 deletions.
    34 changes: 23 additions & 11 deletions .bashrc
    Original file line number Diff line number Diff line change
    @@ -12,13 +12,21 @@
    # If not running interactively, don't do anything
    [ -z "$PS1" ] && return

    # don't put duplicate lines in the history. See bash(1) for more options
    export HISTCONTROL=ignoredups:ignorespace
    # See bash(1) for more options
    # Could add ignoredups to remove duplicate lines
    HISTCONTROL=ignorespace

    # append to the history file, don't overwrite it
    shopt -s histappend

    # for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
    HISTSIZE=1000
    HISTFILESIZE=2000

    # Keep timestamp in history.
    export HISTTIMEFORMAT='%F %T '
    HISTTIMEFORMAT='%F %T '

    export EDITOR=vim
    EDITOR=vim

    # check the window size after each command and, if necessary,
    # update the values of LINES and COLUMNS.
    @@ -34,17 +42,21 @@ if [ -f ~/.bash_prompt ]; then
    fi

    # enable color support of ls and also add handy aliases
    if [ "$TERM" != "dumb" ]; then
    eval "`dircolors -b`"
    if [ -x /usr/bin/dircolors ]; then
    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
    alias ls='ls --color=auto'
    #alias dir='ls --color=auto --format=vertical'
    #alias vdir='ls --color=auto --format=long'
    #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

    # some more ls aliases
    alias ll='ls -l'
    alias la='ls -al'
    #alias l='ls -CF'
    alias ll='ls -alF'
    alias la='ls -A'
    alias l='ls -CF'

    # Alias definitions.
    # You may want to put all your additions into a separate file like
  2. mikldt revised this gist Jun 7, 2010. 1 changed file with 10 additions and 0 deletions.
    10 changes: 10 additions & 0 deletions README
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,10 @@
    Linux configs by mikldt

    This gist contains a couple of configs that I use. They're a combination of default config files, things I've found online, and my own work. They're mostly set up for my own use, but should be generic enough that you can adapt them as needed.

    Feel free to download, use, modify, redistribute. If you redistribute any of my contributions to these files, attribution would be nice.

    Included are a .bashrc and .screenrc. The .bashrc uses a .bash_prompt config file where a fance prompt is set up. There is also install.sh which creates links to all these files from the repository so you can pull updates.

    Quick install:
    cd ~; git clone git://gist.github.com/427834.git conf-gist; conf-gist/install.sh
  3. mikldt revised this gist Jun 7, 2010. 1 changed file with 3 additions and 0 deletions.
    3 changes: 3 additions & 0 deletions .bashrc
    Original file line number Diff line number Diff line change
    @@ -6,6 +6,9 @@
    # Sources fancy prompt settings to .bash_prompt if it exists.
    # http://gist.github.com/427834

    # Quick Install:
    # cd ~; git clone git clone git://gist.github.com/427834.git conf-gist; conf-gist/install.sh

    # If not running interactively, don't do anything
    [ -z "$PS1" ] && return

  4. mikldt revised this gist Jun 7, 2010. 1 changed file with 7 additions and 2 deletions.
    9 changes: 7 additions & 2 deletions .bashrc
    Original file line number Diff line number Diff line change
    @@ -52,12 +52,17 @@ 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 [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
    fi

    export PATH=/home/ditorm/.gem/ruby/1.8/bin:$PATH
    export PATH=$HOME/.gem/ruby/1.8/bin:$PATH

    # Easy local mods.
    if [ -f ~/.bash_local ]; then
    . ~/.bash_local
    fi

  5. mikldt revised this gist Jun 7, 2010. 1 changed file with 33 additions and 0 deletions.
    33 changes: 33 additions & 0 deletions install.sh
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,33 @@
    #!/bin/bash
    # install.sh: Create symlinks so that user will use the
    # configurations specified in this repository
    # ( http://gist.github.com/427834 )

    LSOF=$(lsof -p $$ | grep -E "/"$(basename $0)"$")
    MY_PATH=$(echo $LSOF | sed -r s/'^([^\/]+)\/'/'\/'/1 2>/dev/null)
    CONFIG_DIR=$(dirname $MY_PATH)

    cd $HOME

    # Save old configs for posterity
    if [ -f .bashrc ]; then
    mv .bashrc .bashrc.old
    echo ".bashrc moved to .bashrc.old"
    fi

    if [ -f .bash_prompt ]; then
    mv .bash_prompt .bash_prompt.old
    echo ".bash_prompt moved to .bash_prompt.old"
    fi

    if [ -f .screenrc ]; then
    mv .screenrc .screenrc.old
    echo ".screenrc moved to .screenrc.old"
    fi

    # Link in configs from this directory
    `ln -s $CONFIG_DIR/.bashrc .bashrc`
    `ln -s $CONFIG_DIR/.bash_prompt .bash_prompt`
    `ln -s $CONFIG_DIR/.screenrc .screenrc`

    echo "links created!"
  6. mikldt revised this gist Jun 7, 2010. 2 changed files with 97 additions and 79 deletions.
    70 changes: 70 additions & 0 deletions .bash_prompt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,70 @@
    # My pretty prompt:
    # - Truncates the first few dirs in long paths
    # - red/green prompt based on return value of previous command
    # - inserts git branch name if in a repo
    # Developed primarily for debian/ubunu systems

    # First, some stuff from the Ubunutu .bashrc

    # 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

    #Add git stuff to the prompt.
    #We'll keep the default prompt from /etc/profile.
    function parse_git_branch {
    ref=$(git symbolic-ref HEAD 2> /dev/null) || return
    echo "("${ref#refs/heads/}")"
    }


    RED="\033[0;31m"
    YELLOW="\033[0;33m"
    GREEN="\033[0;32m"
    BLUE="\033[0;034m"
    TXTRST="\e[0m"


    #return value visualisation
    RET_COMMAND='RET=$?'
    RET_COLOR='$(if [[ $RET = 0 ]]; then echo -ne \[$GREEN\]; else echo -ne \[$RED\]; fi;)'

    #Shorten first 3 dirs in prompt to first char only for length
    SUBS='"s!([^/])[^/]+/!\1/!"'
    DIR_COMMAND="CurDir=\`pwd|sed -re "s!$HOME!~!" -e $SUBS -e $SUBS -e $SUBS\`"
    PROMPT_COMMAND="$RET_COMMAND $DIR_COMMAND"

    if [ "$PS1" ]; then
    if [ "$BASH" ]; then
    PS1="\[$GREEN\]\u@\h:\$CurDir\[$YELLOW\]\$(parse_git_branch)$RET_COLOR\$ \[$TXTRST\]"
    else
    if [ "`id -u`" -eq 0 ]; then
    PS1='# '
    else
    PS1='$ '
    fi
    fi
    fi

    # set a fancy prompt (non-color, unless we know we "want" color)
    #case "$TERM" in
    #xterm-color)
    # PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
    # ;;
    #*)
    # PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
    # ;;
    #esac

    # Comment in the above and uncomment this below for a color prompt
    #PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '

    # If this is an xterm set the title to user@host:dir
    #case "$TERM" in
    #xterm*|rxvt*)
    # PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007"'
    # ;;
    #*)
    # ;;
    #esac
    106 changes: 27 additions & 79 deletions .bashrc
    Original file line number Diff line number Diff line change
    @@ -1,14 +1,20 @@
    export PATH=/home/ditorm/.gem/ruby/1.8/bin:$PATH

    # ~/.bashrc: executed by bash(1) for non-login shells.
    # see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
    # for examples

    # This .bashrc modified by mikldt, but based on the default Ubuntu .bashrc
    # Sources fancy prompt settings to .bash_prompt if it exists.
    # http://gist.github.com/427834

    # If not running interactively, don't do anything
    [ -z "$PS1" ] && return

    # don't put duplicate lines in the history. See bash(1) for more options
    export HISTCONTROL=ignoredups
    export HISTCONTROL=ignoredups:ignorespace

    # Keep timestamp in history.
    export HISTTIMEFORMAT='%F %T '

    export EDITOR=vim

    # check the window size after each command and, if necessary,
    @@ -18,82 +24,12 @@ shopt -s checkwinsize
    # make less more friendly for non-text input files, see lesspipe(1)
    [ -x /usr/bin/lesspipe ] && eval "$(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

    #Add git stuff to the prompt.
    #We'll keep the default prompt from /etc/profile.
    function parse_git_branch {
    ref=$(git symbolic-ref HEAD 2> /dev/null) || return
    echo "("${ref#refs/heads/}")"
    }
    function shorter_path
    {
    path = pwd
    path = /$path/rails/rpitv
    echo path

    }
    RED="\033[0;31m"
    YELLOW="\033[0;33m"
    GREEN="\033[0;32m"
    BLUE="\033[0;034m"
    TXTRST="\e[0m"

    #return value visualisation
    RET_COMMAND='RET=$?' #; if [[ $RET = 0 ]]; then RET_COLOR=$GREEN; else RET_COLOR=$RED; fi;'
    RET_COLOR='$(if [[ $RET = 0 ]]; then echo -ne \[$GREEN\]; else echo -ne \[$RED\]; fi;)'

    #Shorten first 3 dirs in prompt to first char only for length
    SUBS='"s!([^/])[^/]+/!\1/!"'
    DIR_COMMAND="CurDir=\`pwd|sed -re "s!$HOME!~!" -e $SUBS -e $SUBS -e $SUBS\`"
    PROMPT_COMMAND="$RET_COMMAND $DIR_COMMAND"

    if [ "$PS1" ]; then
    if [ "$BASH" ]; then
    PS1="\[$GREEN\]\u@\h:\$CurDir\[$YELLOW\]\$(parse_git_branch)$RET_COLOR\$ \[$TXTRST\]"
    else
    if [ "`id -u`" -eq 0 ]; then
    PS1='# '
    else
    PS1='$ '
    fi
    fi
    # Prompt
    # I handle having a fancy prompt in a separate file, .bash_prompt
    if [ -f ~/.bash_prompt ]; then
    . ~/.bash_prompt
    fi

    # set a fancy prompt (non-color, unless we know we "want" color)
    #case "$TERM" in
    #xterm-color)
    # PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
    # ;;
    #*)
    # PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
    # ;;
    #esac

    # Comment in the above and uncomment this below for a color prompt
    #PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '

    # If this is an xterm set the title to user@host:dir
    #case "$TERM" in
    #xterm*|rxvt*)
    # PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007"'
    # ;;
    #*)
    # ;;
    #esac

    # 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 color support of ls and also add handy aliases
    if [ "$TERM" != "dumb" ]; then
    eval "`dircolors -b`"
    @@ -103,13 +39,25 @@ if [ "$TERM" != "dumb" ]; then
    fi

    # some more ls aliases
    #alias ll='ls -l'
    #alias la='ls -A'
    alias ll='ls -l'
    alias la='ls -al'
    #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 [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
    fi

    export PATH=/home/ditorm/.gem/ruby/1.8/bin:$PATH
  7. mikldt revised this gist Jun 6, 2010. 1 changed file with 115 additions and 0 deletions.
    115 changes: 115 additions & 0 deletions .bashrc
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,115 @@
    export PATH=/home/ditorm/.gem/ruby/1.8/bin:$PATH

    # ~/.bashrc: executed by bash(1) for non-login shells.
    # see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
    # for examples

    # If not running interactively, don't do anything
    [ -z "$PS1" ] && return

    # don't put duplicate lines in the history. See bash(1) for more options
    export HISTCONTROL=ignoredups
    export EDITOR=vim

    # check the window size after each command and, if necessary,
    # update the values of LINES and COLUMNS.
    shopt -s checkwinsize

    # make less more friendly for non-text input files, see lesspipe(1)
    [ -x /usr/bin/lesspipe ] && eval "$(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

    #Add git stuff to the prompt.
    #We'll keep the default prompt from /etc/profile.
    function parse_git_branch {
    ref=$(git symbolic-ref HEAD 2> /dev/null) || return
    echo "("${ref#refs/heads/}")"
    }
    function shorter_path
    {
    path = pwd
    path = /$path/rails/rpitv
    echo path

    }
    RED="\033[0;31m"
    YELLOW="\033[0;33m"
    GREEN="\033[0;32m"
    BLUE="\033[0;034m"
    TXTRST="\e[0m"

    #return value visualisation
    RET_COMMAND='RET=$?' #; if [[ $RET = 0 ]]; then RET_COLOR=$GREEN; else RET_COLOR=$RED; fi;'
    RET_COLOR='$(if [[ $RET = 0 ]]; then echo -ne \[$GREEN\]; else echo -ne \[$RED\]; fi;)'

    #Shorten first 3 dirs in prompt to first char only for length
    SUBS='"s!([^/])[^/]+/!\1/!"'
    DIR_COMMAND="CurDir=\`pwd|sed -re "s!$HOME!~!" -e $SUBS -e $SUBS -e $SUBS\`"
    PROMPT_COMMAND="$RET_COMMAND $DIR_COMMAND"

    if [ "$PS1" ]; then
    if [ "$BASH" ]; then
    PS1="\[$GREEN\]\u@\h:\$CurDir\[$YELLOW\]\$(parse_git_branch)$RET_COLOR\$ \[$TXTRST\]"
    else
    if [ "`id -u`" -eq 0 ]; then
    PS1='# '
    else
    PS1='$ '
    fi
    fi
    fi

    # set a fancy prompt (non-color, unless we know we "want" color)
    #case "$TERM" in
    #xterm-color)
    # PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
    # ;;
    #*)
    # PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
    # ;;
    #esac

    # Comment in the above and uncomment this below for a color prompt
    #PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '

    # If this is an xterm set the title to user@host:dir
    #case "$TERM" in
    #xterm*|rxvt*)
    # PROMPT_COMMAND='echo -ne "\033]0;${USER}@${HOSTNAME}: ${PWD/$HOME/~}\007"'
    # ;;
    #*)
    # ;;
    #esac

    # 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 color support of ls and also add handy aliases
    if [ "$TERM" != "dumb" ]; then
    eval "`dircolors -b`"
    alias ls='ls --color=auto'
    #alias dir='ls --color=auto --format=vertical'
    #alias vdir='ls --color=auto --format=long'
    fi

    # some more ls aliases
    #alias ll='ls -l'
    #alias la='ls -A'
    #alias l='ls -CF'

    # 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 [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
    fi
  8. mikldt created this gist Jun 6, 2010.
    Empty file added .bashrc
    Empty file.
    6 changes: 6 additions & 0 deletions .screenrc
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,6 @@
    # An alternative hardstatus to display a bar at the bottom listing the
    # windownames and highlighting the current windowname in blue. (This is only
    # enabled if there is no hardstatus setting for your terminal)
    hardstatus on
    hardstatus alwayslastline
    hardstatus string "%{.bW}%-w%{.rW}%n %t%{-}%+w %=%{..G} %H %{..Y} %m/%d %C%a "