- Shell 60.3%
- Lua 35.4%
- Vim Script 1.9%
- JavaScript 1.2%
- Python 1.2%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| certs | ||
| claude | ||
| cmux | ||
| docs | ||
| gem | ||
| ghostty | ||
| git | ||
| k9s | ||
| lazygit | ||
| mise | ||
| nvim | ||
| opencode | ||
| pi | ||
| prettier | ||
| skills | ||
| ssh | ||
| starship | ||
| step | ||
| tmux | ||
| zed | ||
| zsh | ||
| .gitignore | ||
| .gitmodules | ||
| AGENTS.md | ||
| finicky.js | ||
| LICENSE | ||
| mackup.cfg | ||
| README.md | ||
| setup.sh | ||
kreeger's dotfiles
My dotfiles. Also works with the following repos:
To use, clone this repo (and its submodules!) to $XDG_CONFIG_HOME/dotfiles (on
my macOS machine, I have this set to ~/.config instead of
~/Library/Application Support).
$ git clone --recurse-submodules \
https://git.kree.gr/kreeger/dotfiles \
$XDG_CONFIG_HOME/dotfiles
$ $XDG_CONFIG_HOME/dotfiles/setup.sh
setup.sh links the managed configuration into the appropriate locations:
- whole directories under
$XDG_CONFIG_HOME:cmux,gem,ghostty,gnupg,k9s,lazygit,mise,nvim,starship, andtmux; - selected entries inside real
$XDG_CONFIG_HOME/zed,$XDG_CONFIG_HOME/opencode, and~/.claudedirectories, leaving application-managed state in place; ~/.ssh/config,~/.zshenv,~/.zshrc, and the Git files under$XDG_CONFIG_HOME/git; and~/.step,~/.mackup.cfg, and~/.finicky.js.
Claude Code statusline
claude/statusline.sh is symlinked to ~/.claude/statusline.sh by
setup.sh. It's a powerline-style statusline (directory, model, reasoning
effort, git, cost, context usage, token flow, cache, rate limits) needing
only bash, jq, and awk, plus a Nerd Font in your terminal for the
icons to render. To enable it, add this to ~/.claude/settings.json:
{
"statusLine": {
"type": "command",
"command": "bash ~/.claude/statusline.sh"
}
}
An optional spend segment shells out to ~/.claude/claude-usage-refresh.sh
if present — that script isn't part of this repo, it's installed by the
orm-claude-statusline-usage plugin. Without it, the statusline just
skips that segment.
Existing directory targets are left in place. Pass --no-force to preserve an
existing managed file or symlink rather than replace it.
On macOS, the script requires GNU readlink (for example, from Homebrew's
coreutils) because it uses readlink -f.
The XDG-managed paths follow the XDG base directory specification.
My zshrc files also include a function (update_dotfiles) to do a git pull
on this repo to keep things up-to-date.