| bundle | ||
| emacs.d | ||
| git-hooks | ||
| zsh | ||
| .gitignore | ||
| ackrc | ||
| Brewfile | ||
| clang-format | ||
| CLAUDE.md | ||
| emacs | ||
| gdbinit | ||
| gemrc | ||
| gitattributes | ||
| gitconfig | ||
| gitignore | ||
| init.sh | ||
| irbrc | ||
| Readme.md | ||
| screenrc | ||
| vimrc | ||
| zshrc | ||
sjs's config (dotfiles)
These are my personal *nix config files, hand-crafted since around 2004 when I started by pilfering everything I could find on mailing lists and blogs. They work great on both Linux and macOS, with more server-ish stuff on the Linux side and desktop-ish stuff on the macOS side.
After zsh (big time zsh hipster) this is the first thing I set up in my shell environment on a new machine, along with ~/bin.
what've we got here?
- zsh: custom prompt with git integration, extensive aliases, lots of nitpicky tweaks like subword navigation excluding / for easy subpath traversal
- $EDITOR: vim and emacs configs, though the emacs one is fairly dated
- git: enhanced diffing, signed commits, pre-commit hooks
- ruby: rbenv integration, IRB customizations
- screen: yep I'm old, no tmux here
- iOS simulator stuff: device control utilities via
devicectl.sh(from Gui Rambo)
setup
All files in this repo are symlinked to ~/.filename. Any existing files are backed up to ~/original-dot-files/ before linking so you won't lose anything, though it is up to you to merge the changes if you care.
# symlink all the files in this directory
# (excluding init.sh, Brewfile, and zsh directory)
./init.sh
There's also a Brewfile with stuff that I usually want for general shell usability, along with ruby and iOS dev. I don't recommend using this without customizing it.
brew bundle install
git aliases
These short aliases make git really easy to use in your shell:
Making changes:
a-git addc-git commitchp-git cherry-pickco-git checkoutb-git branchm-git mergef-git fetcht-git tag
Viewing changes:
d-git diff(working tree changes)dc-git diff --cached(staged changes)ds-git diff --stat(summary)s-git status -sb(short status)
Commit log:
gl- Fancy graph log with colors and relative datesglo-git log --oneline --decorategls-git log --stat
Stashing:
st-git stashstl-git stash liststp-git stash pop
Custom scripts: See ~/bin for these ones.
rmb-git remove-merged-branches(custom command)gup-git update(custom command)
other aliases
be- Bundle execdoc- docker-composeu/uu/uuu- Navigate up 1-3 directoriesmyip- Get your public IP using icanhazip