config/Readme.md
Sami Samhuri dc4359eb0a
Add direct links to custom git commands in README
Make it easier to view the implementation of rmb and gup by linking directly to the scripts in the samsonjs/bin repository.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-09 09:14:10 -07:00

2.7 KiB

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 add
  • c - git commit
  • chp - git cherry-pick
  • co - git checkout
  • b - git branch
  • m - git merge
  • f - git fetch
  • t - 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 dates
  • glo - git log --oneline --decorate
  • gls - git log --stat

Stashing:

  • st - git stash
  • stl - git stash list
  • stp - git stash pop

Custom scripts: See ~/bin for these ones.

other aliases

  • be - Bundle exec
  • doc - docker-compose
  • u/uu/uuu - Navigate up 1-3 directories
  • myip - Get your public IP using icanhazip