Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Ruy’s Ninja-Pack of Cool Shell Tools For Attractive People
tree: 913ad74e3e

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.


Ruy’s Ninja-Pack of Cool Shell Tools For Attractive People

This is a collection of random crap I am tired of setting up every time I get a new shell. It assumes a preference for the following tools:

  • ZSH
  • git
  • nano (if you’re a fancy vim/emacs person why do you need a shell anyway?)
  • SSH with key logins

It also assumes you like colors.


Initial Install

You only have to do this the first time:

git clone ~/.ninja

Then install (this updates various .files in your home directory):


If you haven’t changed your shell yet, now is a good time to run chsh. If you’re already using zsh, source .zshrc

Subsequent hosts

Rather then repeat the above steps for additional hosts you wish to connect to, you can use the provided command npush. It takes a hostname, optionally with username, same as the ssh command. e.g.


You will be asked to type in your SSH password.

This is what cool shit is about to happen:

  • Your current is added to the hosts’s authroized_keys (for SSH key login)
  • The current checkout of ninjapack is copied over to the new host (this means if you’re using a forked copy, the new host can be updated from your remote rather then mine)
  • ninstall is ran as above

Happy days!

Forking and Updating

You are very encouraged to use a fork rather then source. At the very least you will want to change your default .ninja/gitconfig.conf user and email to thine own self. (would be nice if this wasn’t required though…)

If you want to update a host from upstream (be it mine or your fork) simply git pull using the usual methods and then re-run ninstall.

Known broken shit

  • zsh 4.3.9 (i think) or higher is require and will silently fail otherwise as it lacks smart handling of PROMPT colors.
  • I’m relying on zkbd to handle fucked up terminals (achem OSX) which turns out to be a pain in the ass. This is why you have to type in all sort sof keys upon first startup (maybe). I hope to get rid of this.

Short term future wishlist

  • SVN support, grumble grumble
  • Better completions for (that don’t rely on hard-coding known switches if possible)
Something went wrong with that request. Please try again.