My Dot Castle
castle for my dotfiles - the cornetstone of dev-kind ! :)
This repository contains the dotfiles (stolen/compiled/created) by me. Major inspirations from @holman and @mathiasybnens. More inspirations from dotfiles repository by @skwp. Credit has been given where I could. :)
Load Time Comparison
$ ./scripts/benchmark.rb 96d8773..3d7efab zsh on 96d8773: 0.784s (ran 10 times with rehearsal) zsh on 3d7efab: 0.272s (ran 10 times with rehearsal) vim on 96d8773: 0.724s (ran 10 times with rehearsal) vim on 3d7efab: 0.357s (ran 10 times with rehearsal) vim_ruby on 96d8773: 1.323s (ran 10 times with rehearsal) vim_ruby on 3d7efab: 0.382s (ran 10 times with rehearsal)
Save dotfiles in ~/Code/__dotfiles !!!
Following some conventions, I store all my code inside
This has obvious organizational benefits.
On similar grounds, I store my dotfiles inside
which is more sensible in my opinion than
- dotfiles are the heart of your code - obvious reason to have them stored
right next to all your code in
- dotfiles directory is in front of your eyes at all times, and hence, you will be intrigued to change it more often than when it was hidden.
- more importantly, improving code in dotfiles implies improved productivity.
There will be a 80% chance you will have a reason not to use
~/Code/__dotfiles for the installation, in which case, you can simply
modify the first line of the following bash commands to suit your taste
;) Note that,
ohmyzsh, and the same can be installed manually, or via the installer
export DOTCASTLE=$HOME/Code/__dotfiles git clone git://github.com/nikhgupta/dotfiles.git $DOTCASTLE # run the installer script $DOTCASTLE/scripts/dotcastle/dep-installer.sh $DOTCASTLE/scripts/dotcastle/bootstrap.sh
How my Development Environment is Setup
A lot of this information can be found on my blog.
Primarily, I use a lot of tools to setup my development environment, and thanks to the *nix goodness, all fo these tools have a way to specify their configurations. Most of the times, I will include such configurations within this repository to keep them versioned.
The minimal setup that I would like to work with includes these
dotfiles, as well as
solarized themes for both
iTerm2 and MacVim, along with Homebrew on my MacOSX.
Everything goes inside ~/Code
All my code resides in the
~/Code directory. Typically:
- repositories are downloaded to the
- these dotfiles are present at
- scripts are saved to
__dotfiles/scriptsdirectory, and include
- websites that I develop upon locally are present at
- work related code is located in
- other personal/miscelleneous code is present in topic-wise directories
I prefer iTerm2 over Terminal app in MacOSX, and have installed the
base16-eighties theme for it. Note that, this requires
to be loaded in my ZSH configuration.
I like OhMyZSH! project, which provides me with a ready-to-use ZSH configuration. I customize upon that heavily, but OMZ! is a major ingredient.
HomeBrew and packages
HomeBrew is a necessity for development on OSX, and is
a really awesome package manager. I use it to install various
dependencies and packages, like
zsh-syntax-highlighting etc. If there is a formula available for
a particular program in Homebrew, I would prefer it over other sources.
Also, note that brew installs
zsh completions to
/usr/local/share/zsh/site-functions file, which helps me add custom
completions, easily. On Ubuntu, I install the Linux version of Homebrew,
Post Install Tasks
- Install dotjs