Kishore's personal macOS setup. It covers the shell, Git, tmux, Starship, mise, Ghostty, iTerm2, and the coding agents' settings.
Important
The governance moved to github.com/agentsfleet/orly.
This repository once held two jobs. It was the personal dotfiles. It was also the rule source every other repository read from. The second job has ended.
The orly repository now owns the rules, the gate scripts, the dispatch pages,
the audits, the evals, and the engine. It publishes them as
@agentsfleet/orly.
Run bunx @agentsfleet/orly init in a repository to install them. The command
commits the rules into that repository. A fresh clone then reads its own rules
and runs its own gates.
Nothing resolves out of this checkout now. There is no ORLY_ROOT, no
agent-home symlink, and no ~/bin/orly.
Sets up the shell, Git, tmux, Starship, mise, Ghostty, iTerm2, and four coding
agents. Defaults name Kishore's paths, keys, and email, and assume the clone
sits at ~/Projects/dotfiles.
brew install bun coreutils starship mise 1password-cliYou also need macOS with Zsh and Git, access to indykish/dotfiles, and any coding agents already installed. Back up configuration you want to keep.
git clone git@github.com:indykish/dotfiles.git ~/Projects/dotfilesln -sfn ~/Projects/dotfiles/.tmux.conf ~/.tmux.conf
ln -sfn ~/Projects/dotfiles/.claude/settings.json ~/.claude/settings.json
ln -sfn ~/Projects/dotfiles/.codex/config.toml ~/.codex/config.toml
ln -sfn ~/Projects/dotfiles/.config/amp/settings.json ~/.config/amp/settings.json
ln -sfn ~/Projects/dotfiles/.config/opencode/opencode.json ~/.config/opencode/opencode.json
ln -sfn ~/Projects/dotfiles/bin/provision-env-1password ~/bin/provision-env-1passwordSymlinked, not copied: a /model switch or a newly trusted Codex directory
lands in this checkout as a change to commit. Back up anything real already at
one of those paths — ln -sfn replaces it.
Keep ~/bin on your PATH; the supplied .zshrc does. Install orly
separately: npm install --global @agentsfleet/orly.
cp -i asks before replacing a file. Replace Kishore's name, email, and GNU
Privacy Guard (GnuPG) key with your own first.
There is no .npmrc here to copy: npm auth belongs to your machine, via
npm login, and publishing runs on Trusted Publishing with no token at all.
cp -i .zshrc ~/.zshrc && cp -i .zshenv ~/.zshenv
cp -i .gitconfig ~/.gitconfig && cp -i .gitconfig-agentsfleet ~/.gitconfig-agentsfleet
cp -i .gitignore_global ~/.gitignore_global
mkdir -p ~/.config/mise && cp -i .config/starship.toml ~/.config/starship.toml && cp -i .config/mise/config.toml ~/.config/mise/config.tomlGhostty and iTerm2 settings live under Library/ at their macOS
paths; copy them the same way if you use those terminals. Finish with exec zsh.
cd ~/.local/share/gstack && ./setup --host autoprovision-env-1password✔ Done. Restart shell or: source ~/.zshrc
Writes ~/.config/agentsfleet/.env, ~/.config/e2e/.env,
~/.config/agentsfleet/ui.env.local, and
~/.config/agentsfleet/runner.env.local from 1Password vaults with mode
600. The two *.env.local files are the machine-level sources that the
agentsfleet repo's post-checkout hook symlinks into every worktree — one
copy per machine, zero per checkout. Requires OP_SERVICE_ACCOUNT_TOKEN
exported; never commit or print it. Verify with
provision-env-1password --doctor.
Only if you see fork: resource temporarily unavailable:
echo "kern.maxproc=16384" | sudo tee -a /etc/sysctl.conf
echo "kern.maxprocperuid=8192" | sudo tee -a /etc/sysctl.conf
sudo sysctl -w kern.maxproc=16384 kern.maxprocperuid=8192
printf '%s\n' 'ulimit -u 8192' 'ulimit -n 65536' >> ~/.zshenv && exec zshRepeated runs append duplicate lines; inspect both files first.
claude upgrade; opencode upgrade; amp update; npm i -g @openai/codexLinks are symbolic. Inspect, then remove:
readlink "$HOME/.tmux.conf" && unlink "$HOME/.tmux.conf"Restore copied files from your backup. Deleting the clone breaks every link into it — remove those links first.