Permalink
Browse files

updated readme and auto install oh-my-zsh if not already installed

  • Loading branch information...
1 parent 4ac6b4e commit 5e3201aca27313173e6555c4e2921e633d0f60c1 @forest committed Jan 17, 2012
Showing with 78 additions and 75 deletions.
  1. +72 −0 README.mkd
  2. +0 −74 README.rdoc
  3. +6 −1 Rakefile
View
@@ -0,0 +1,72 @@
+# Forest's Dot Files
+
+These are config files to set up a system the way I like it.
+
+The core is oh-my-zsh with the dotfiles providing customization and installation.
+
+See https://github.com/robbyrussell/oh-my-zsh for oh-my-zsh docs and available plugins.
+
+## Installation
+
+ git clone git://github.com/forest/dotfiles ~/.dotfiles
+ cd ~/.dotfiles
+ rake install
+
+
+## Environment
+
+Set zsh as your default shell.
+
+ chsh -s /bin/zsh
+
+
+## Features
+
+I normally place all of my coding projects in ~/work/code/projects, so this directory
+can easily be accessed (and tab completed) with the "p" command.
+
+ p proj<tab>
+
+There is also an "h" command which behaves similar, but acts on the
+home path.
+
+ h doc<tab>
+
+If you're using git, you'll notice the current branch name shows up in
+the prompt while in a git repository.
+
+If you’re using Rails, you’ll find some handy aliases (below). You can also use
+show_log and hide_log in script/console to show the log inline.
+
+ rc # rails console
+ rs # rails server thin
+ rg # rails generate
+ rdb # rails dbconsole
+ tlog # tail -f log/development.log
+ rst # touch tmp/restart.txt
+ migrate # rake db:migrate db:test:clone
+
+See the other aliases in ~/.dotfiles/oh-my-zsh/custom/aliases.zsh. To edit or
+add new aliases the alias. The source .zshrc to reload.
+
+ ealias # vi ~/.dotfiles/oh-my-zsh/custom/aliases.zsh
+
+ source ~/.zshrc
+
+Enabled oh-my-zsh plugins (aliases and completions):
+ autojump
+ brew
+ bundler
+ cap
+ gem
+ git
+ git
+ git-flow
+ github
+ heroku
+ mydirs
+ powder
+ rails3
+ redis-cli
+ rvm
+
View
@@ -1,74 +0,0 @@
-= Forest's Dot Files (forked from Ryan Bates)
-
-These are config files to set up a system the way I like it.
-
-
-== Installation
-
- git clone git://github.com/forest/dotfiles ~/.dotfiles
- cd ~/.dotfiles
- rake install
-
-
-== Environment
-
-I am running on Mac OS X, but it will likely work on Linux as well with
-minor fiddling. I primarily use zsh, but this includes some older bash
-files as well. If you would like to switch to zsh, you can do so with
-the following command.
-
- chsh -s /bin/zsh
-
-
-== Features
-
-I normally place all of my coding projects in ~/work/code/projects, so this directory
-can easily be accessed (and tab completed) with the "p" command.
-
- p proj<tab>
-
-There is also an "h" command which behaves similar, but acts on the
-home path.
-
- h doc<tab>
-
-Tab completion is also added to rake and cap commands:
-
- rake db:mi<tab>
- cap de<tab>
-
-To speed things up, the results are cached in local .rake_tasks~ and
-.cap_tasks~. It is smart enough to expire the cache automatically in
-most cases, but you can simply remove the files to flush the cache.
-
-There are a few key bindings set. Many of these require option to be
-set as the meta key. Option-left/right arrow will move cursor by word,
-and control-left/right will move to beginning and end of line.
-Control-option-N will open a new tab with the current directory under
-Mac OS X Terminal.
-
-If you're using git, you'll notice the current branch name shows up in
-the prompt while in a git repository.
-
-If you're using Rails, you'll find some handy aliases (below). You can
-also use show_log and hide_log in script/console to show the log inline.
-
- ss # script/server
- sc # script/console
- sg # script/generate
- a # autotest
- tlog # tail -f log/development.log
- rst # touch tmp/restart.txt
- migrate # rake db:migrate db:test:clone
- scaffold # script/generate nifty_scaffold
-
-See the other aliases in ~/.zsh/aliases
-
-If there are some shell configuration settings which you want secure or
-specific to one system, place it into a ~/.localrc file. This will be
-loaded automatically if it exists.
-
-There are several features enabled in Ruby's irb including history and
-completion. Many convenience methods are added as well such as "ri"
-which can be used to get inline documentation in IRB. See irbrc and
-railsrc files for details.
View
@@ -3,12 +3,17 @@ require 'erb'
desc "install the dot files into user's home directory"
task :install do
+ # clone oh-my-zsh if it doesn't already exist
+ unless File.directory?(File.join(ENV['HOME'], '.oh-my-zsh'))
+ system %Q{git clone git://github.com/robbyrussell/oh-my-zsh.git "$HOME/.oh-my-zsh"}
+ end
+
replace_all = false
Dir['*'].each do |file|
next if %w[Rakefile README.rdoc LICENSE oh-my-zsh].include? file
if File.exist?(File.join(ENV['HOME'], ".#{file.sub('.erb', '')}"))
- if File.identical? file, File.join(ENV['HOME'], ".#{file.sub('.erb', '')}")
+ if File.identical?(file, File.join(ENV['HOME'], ".#{file.sub('.erb', '')}"))
puts "identical ~/.#{file.sub('.erb', '')}"
elsif replace_all
replace_file(file)

0 comments on commit 5e3201a

Please sign in to comment.