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:
- 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.
You only have to do this the first time:
git clone firstname.lastname@example.org:rubyruy/ninjapack.git ~/.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
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
id_rsa.pubis 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)
ninstallis ran as above
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
Known broken shit
zsh 4.3.9(i think) or higher is require and will silently fail otherwise as it lacks smart handling of
- I’m relying on
zkbdto 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 manage.py (that don’t rely on hard-coding known switches if possible)