Skip to content

mcfearsome/profile

 
 

Repository files navigation

My Bash Profile

This is the profile that I’m now using across a number of machines that I administer. Most of the tricks I use are fairly general and could be reused by anyone.

Usage

# Go home
cd ~

# Clone mine or your own fork
git clone git://github.com/matschaffer/profile.git .profile.d

# All *.conf files are loaded alphabetically, so this will retain your original settings
mv .profile .profile.d/z_myoldsettings.conf

# .profile.d/init kicks off the whole thing
ln -s .profile.d/init .profile

# Make sure you don't have any .bash_profile or .bashrc hanging out which might override .profile
# and reload your profile
source .profile

From here you can now put any .profile.d/*.conf file, or put it in a folder for your `uname` (Darwin, Linux, SunOS are already there). The load order is.

  1. .profile.d/init
  2. .profile.d/`uname`/init
  3. .profile.d/*.conf
  4. .profile.d/`uname`/*.conf

Features

  • Tab completion for ssh hosts on OS X.
  • Tab completion for rake and ant tasks
  • Git aliases
  • “Safe” edit. Makes a backup copy of a file before editing
  • Basic java set up on solaris and Darwin
  • Maven memory settings
  • ‘profile_push’ function for pushing these files out to other servers
  • Reactive prompt. Includes date and exit code of last command if error condition.
  • Auto setup of .foward file on Linux and Solaris
  • Integration with CDArgs (http://bit.ly/ZHvBF)

Planned features

  • Tab completion for ssh hosts in Solaris
  • Single-command for SSH key distribution and profile distribution
  • Auto setup of .irbrc, .vimrc, .ssh/config, .pythonrc.py, etc…

About

My shell profile

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 87.8%
  • Ruby 6.2%
  • Perl 6.0%