A collection of configuration files essential to my daily work on UNIXy systems.
.bash_profile
is executed for login shells (e.g. connecting to a
server over SSH), while .bashrc
is executed for interactive, non-login
shells (e.g. running the 'bash' command directly, opening a new terminal tab).
For the most part, my .bash_profile
just wraps .bashrc
. The only
interesting functionality I've added is a call to a custom login script,
dynmotd.sh
which displays information about the OS and is useful when
logging in over SSH.
As for my .bashrc
file, it's really just a few simple alias
shortcuts for commonly used tasks. However, I also keep a
non-versioned .bashrc_private
file that is called from
.bashrc
and can bootstrap sensitive environment variables or perform
other tasks that shouldn't be committed to source control but should
be part of the local environment.
dotfiles/bashrc
dotfiles/bash_profile
bin/dynmotd.sh
Tmux is a "terminal multiplexer" that dramatically improves efficiency when working on a UNIXy system. A few of the primary benefits I enjoy include the ability to quickly switch between multiple terminal sessions (similar to tabbing in a GUI environment), the ability to arrange my terminal window into multiple panes for different workflows, and the ability to easily leave entire tmux/shell workflows running in the background while disconnecting, travelling, etc.
In addition to my tmux config file, I'm also including a clone of a simple tmux save/restore bash script taken from the dotfiles repo of mislav. This allows one to run the following command to save an active tmux session:
tmux-session save
Or to restore a tmux session:
tmux-session restore
dotfiles/tmux.conf
bin/tmux-session
Over the years, I've grown to think of Vim as more of an extension of myself than a text editor. This is the result of both Vim's philosophy as well its extensive capacity for configuration.
In addition to my baseline Vim configuration file, I also use a collection of plugins that can rival more feature-rich editors like SublimeText or Brackets. These plugins are managed by pathogen and live at /workflow/pathogen/bundle.
dotfiles/vimrc
pathogen