Skip to content
0xrnpPublic

About

My dotfiles

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

25 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

0xrnp/dotfiles

My personal dotfiles for macOS, managed with GNU Stow.

What's inside

Tool What it does
aerospace Window manager
ai-agent Personal AI standards + Cursor/Claude gates
atuin Shell history search
bat Better cat
borders Window borders
btop System monitor
cursor Cursor editor
eza Better ls
flutter Flutter SDK config
ghostty Terminal emulator
htop Process viewer
git Portable git pager (delta)
jgit Git helper
lazygit Git TUI
luvus AI agent terminal multiplexer
nvim Neovim editor
raycast Spotlight replacement
sketchybar Menu bar customizer
swiftpm Swift package manager
yazi File manager
zed Zed editor
zellij Terminal multiplexer

Fresh Mac Setup

1. Install Homebrew

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

2. Install core tools

brew install stow git zsh

3. Install your tools

brew install neovim lazygit git-delta yazi eza bat btop htop atuin zellij
brew install RizRiyz/luvus/luvus
brew install --cask ghostty zed cursor aerospace raycast

4. Set up SSH key for GitHub

# Generate personal SSH key
ssh-keygen -t ed25519 -C "rnp.rudranarayanpanda@gmail.com" -f ~/.ssh/id_github_personal

# Add to SSH agent
ssh-add ~/.ssh/id_github_personal

# Print public key — copy and add to GitHub → Settings → SSH Keys
cat ~/.ssh/id_github_personal.pub

Add this to ~/.ssh/config:

# Personal GitHub
Host github-personal
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_github_personal

5. Clone this repo

git clone git@github-personal:0xrnp/dotfiles.git ~/dotfiles

6. Stow everything

cd ~/dotfiles

for tool in aerospace ai-agent atuin bat borders btop cursor eza flutter git ghostty htop jgit lazygit luvus nvim raycast sketchybar swiftpm yazi zed zellij; do
  stow --adopt --target="$HOME" "$tool"
done

7. Verify symlinks

ls -la ~/.config | grep "\->"
ls -la ~/ai-standards ~/.cursor/hooks.json ~/.claude/CLAUDE.md
~/ai-standards/check.sh

Every tool should show an arrow pointing to ~/dotfiles. Agent standards should print OK.


Day-to-day usage

Making a change

Just edit files inside ~/dotfiles directly — changes are live instantly because of symlinks.

# Example: edit ghostty config
nvim ~/dotfiles/ghostty/.config/ghostty/config

# Commit and push
cd ~/dotfiles
git add .
git commit -m "feat: update ghostty config"
git push

Adding a new tool's config

# 1. Create the stow structure
mkdir -p ~/dotfiles/newtool/.config/newtool

# 2. Move the existing config in
mv ~/.config/newtool ~/dotfiles/newtool/.config/

# 3. Stow it
cd ~/dotfiles
stow --target="$HOME" newtool

# 4. Commit
git add newtool
git commit -m "feat: add newtool config"
git push

Pulling updates on another machine

cd ~/dotfiles
git pull

for tool in aerospace ai-agent atuin bat borders btop cursor eza flutter git ghostty htop jgit lazygit luvus nvim raycast sketchybar swiftpm yazi zed zellij; do
  stow --adopt --target="$HOME" "$tool"
done

Agent standards (ai-agent)

Personal plan-first rules and Cursor hard gates live in ai-agent/ (not in work repos):

Live path Role
~/ai-standards/universal.md Doctrine
~/.cursor/hooks.json + ~/.cursor/hooks/ Enforcement
~/.claude/CLAUDE.md Claude Code pointer

Edit under ~/dotfiles/ai-agent/…. Verify with ~/ai-standards/check.sh.


SSH config for work + personal

This setup uses github-personal as the SSH host so it never conflicts with company git configs.

# Company (Bitbucket) — global git config
Host bitbucket.org
  IdentityFile ~/.ssh/id_ed25519

# Personal (GitHub)
Host github-personal
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_ed25519_personal

Cloning personal repos always uses:

git clone git@github-personal:0xrnp/reponame.git

Troubleshooting

Stow conflict error:

# Use --adopt to pull in any existing files
stow --adopt --target="$HOME" <toolname>

Symlink not working:

# Remove the old file/folder and restow
rm -rf ~/.config/<toolname>
stow --target="$HOME" <toolname>

Check all symlinks at once:

ls -la ~/.config | grep "\->"

About

My dotfiles

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages