No description
Find a file
Sami Samhuri cb476d4979 Highlight change ID prefix and refine prompt colors
Bold magenta on the unique prefix, gray on the rest, matching jj's own
log output. Gray parens instead of yellow. Empty marker moved to the
diff-stat slot for a uniform layout.
2026-05-29 12:13:31 -07:00
emacs.d Remove old emacs.d/auto-save-list/ files 2024-07-08 18:36:18 -07:00
git-hooks [git] avoid useless whitespace and leftover conflict markers 2017-09-09 11:28:12 -07:00
zsh Highlight change ID prefix and refine prompt colors 2026-05-29 12:13:31 -07:00
.gitignore Extract SSH key config to gitconfig-ssh 2026-03-25 14:33:21 -07:00
ackrc add ackrc 2010-11-08 20:21:53 -08:00
bar Add multiline jj prompt with change id, bookmarks, diff stat, parents, and description 2026-05-26 18:04:32 -07:00
Brewfile Remove cruft from Brewfile 2026-01-26 11:24:27 -08:00
clang-format add clang-format 2016-06-27 10:57:02 -07:00
CLAUDE.md Add Readme.md and CLAUDE.md, remove some cruft 2025-06-06 09:05:43 -07:00
emacs [emacs] clean out cruft 2011-08-22 20:42:03 -07:00
foo Add multiline jj prompt with change id, bookmarks, diff stat, parents, and description 2026-05-26 18:04:32 -07:00
gdbinit add gdbinit 2011-04-30 15:00:51 -07:00
gemrc update gemrc 2018-02-16 16:02:18 -08:00
gitattributes Improve git diffs for Swift code 2024-01-02 10:39:11 -08:00
gitconfig Fix gitconfig include syntax 2026-03-25 15:10:48 -07:00
gitignore Add .claude to gitignore 2025-07-09 16:32:21 -07:00
init.sh Configure jj defaults to prefer github remote 2026-05-17 08:17:49 -07:00
irbrc whitespace 2020-02-26 14:25:44 -08:00
Readme.md Add direct links to custom git commands in README 2025-06-09 09:14:10 -07:00
screenrc Add tmux.conf and enable mousewheel in screenrc 2025-09-04 22:15:55 +00:00
tmux.conf Try workaround from mosh PR #1054 2026-02-28 11:30:31 -08:00
vimrc turn off mouse support in vim 2012-05-29 10:24:42 -07:00
zshrc Use difft with git via GIT_EXTERNAL_DIFF instead of gitconfig 2026-03-19 17:09:45 -07:00

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