Warning: Donβt blindly use my settings unless you know what that entails. Use at your own risk!
- Herdr β Mouse-first multiplexer with native Claude Code/agent integration (daily-driver, replaces tmux)
- Tmux β Kept as a minimal fallback for remote/SSH-only boxes without herdr
- Neovim β Custom plugins, keybindings, and themes (LazyVim)
- Hue Theme β Custom HuαΊΏ-inspired theme system across Fish/Tide, herdr, Ghostty, tmux, and Neovim
- Git β Configuration for efficient version control
- Karabiner β Custom key mappings with Fn (Hyper) key
- Fish Shell β Enhanced terminal experience with Tide prompt
- FZF β Fuzzy finder with fd, ripgrep, bat integration
- Agent Rules β Shared rule packs for Claude, Codex, Inkdrop, and stack-specific workflows
- GNU Stow β Simple dotfiles management
This repository uses GNU Stow to manage dotfiles efficiently with symlinks. Follow these steps to set up your new machine:
macOS:
brew install stow git fish tmux neovim fd ripgrep bat eza fzfLinux (Debian/Ubuntu):
sudo apt update && sudo apt install stow git fish tmux neovimLinux (Arch):
sudo pacman -S stow git fish tmux neovimherdr (https://herdr.dev) replaces tmux as the daily-driver terminal multiplexer; tmux is kept as a minimal fallback for remote/SSH-only boxes.
curl -fsSL https://herdr.dev/install.sh | sh
herdr integration install claude
herdr plugin install crafts69guy/hue-theme/packages/herdr-pluginA plugin manager for Fish
macOS:
curl -sL https://raw.githubusercontent.com/jorgebucaran/fisher/main/functions/fisher.fish | source && fisher install jorgebucaran/fisherThe ultimate Fish prompt.
macOS:
fisher install IlanCosman/tide@v6The Tide prompt colors are loaded from the generated Hue theme checkout without
copying generated files into this dotfiles repo. By default the Fish config looks
for ~/Developments/github.com/crafts69guy/hue-theme; on another machine, set:
set -Ux HUE_THEME_HOME /path/to/hue-themeThen restart Fish with exec fish.
Use the Fish command below to switch the Hue mood across Fish/Tide, herdr, tmux, Ghostty, and Neovim:
hue-theme mua
hue-theme huong
hue-theme cungThe command stores the active mood in ~/.local/state/hue-theme/current, so
switching moods does not dirty this dotfiles repo. Dotfiles keep the switcher,
host integration, and Ghostty theme files versioned. herdr has no scriptable
theme API of its own, so its mood is applied by a separate herdr plugin (see
Herdr below) that hue-theme triggers automatically.
git clone https://github.com/crafts69guy/.dotfiles.git ~/.dotfiles
cd ~/.dotfilesTo symlink all configurations:
# Using run script (recommended)
~/.dotfiles/stow_setup.sh
# Without script
stow -v . # [Add -R flag if need]To symlink specific configurations:
# Stow .config package contains fish, tmux, nvim,...
stow -v ~/.dotfiles/.config
# Stow biome file configurations
stow -v ~/.dotfiles/biome.jsonexec fish # or exec zshCheck if configurations are correctly applied:
echo $SHELL # Should show fish or zsh
nvim --version # Ensure Neovim is installed
test -f ~/agent-rules/README.md && echo "Agent rules linked"This repo includes shared rule packs under agent-rules/ for multi-agent workflows. CLAUDE.md, AGENTS.md, and Codex skills should stay thin and route agents to these shared rules instead of duplicating long policies.
Key entry points:
agent-rules/README.mdβ Cross-agent routing indexagent-rules/shared/β General Markdown and research/citation rulesagent-rules/tools/inkdrop-v6/β Inkdrop v6 note-taking, Mermaid, links, organization, and MCP token workflowagent-rules/tools/herdr/β Herdr multiplexer config, agent panes, socket API scriptingagent-rules/stacks/β Stack-specific rules for React Native, Medusa, and Web3
After stowing this repo, agents can resolve the shared rules from ~/agent-rules/....
Herdr is a mouse-first terminal multiplexer with native
lifecycle-hook integration for AI coding agents (Claude Code, opencode, and
others) β it reports idle/working/blocked pane state directly instead of
polling, and shows it in its sidebar (screenshots at the top of this README).
- Config:
.config/herdr/config.tomlβ prefixctrl+t(same muscle memory as the tmux fallback below), lazygit/git-graph popups onprefix+alt+g/prefix+alt+shift+g, mouse-first pane splitting, nested-session protection, and pane history enabled. - Fish aliases:
hrlaunches/attaches Herdr;hrlapplies the saved IDE pane layout from.scripts/ide-herdr. - Navigation: workspace navigation mode uses
j/kfor down/up, workspace switching usesprefix+ctrl+j/k, agent switching usesprefix+alt+j/k, andprefix+alt+1..9jumps directly to agent panes. - Agent integration:
herdr integration install claude(andopencode) wires up native session-state hooks β seeagent-rules/tools/herdr/README.mdfor the socket API/plugin caveats. - Theming: herdr has no scriptable theme API, so the Hue Tide theme is applied
by a small herdr plugin (
crafts69guy/hue-theme,packages/herdr-plugin) thathue-theme.fishtriggers β see the Hue theme switcher above. - tmux (
.config/tmux/tmux.conf) is kept as a trimmed-down fallback for remote/SSH-only boxes without herdr installed; itstpm/tmux-summarizeplugins still apply there.
I use Karabiner to customize keyboard mappings for Vim efficiency.
brew install --cask karabiner-elementsVim Efficiency:
Caps LockβLeft ControlCtrl + [βEscapeFn + h/j/k/lβ Arrow keys
Search in the registry:
Comprehensive fuzzy finder integration with modern CLI tools, based on official fzf documentation.
brew install fzf fd ripgrep bat eza ghq- fd β Fast file/directory search (replaces find)
- ripgrep β Fast text search with live reload
- bat β Syntax-highlighted file previews
- eza β Modern ls with tree view for directories
- Solarized Dark theme matching Ghostty terminal
- ghq β Project management
.config/fish/conf.d/fzf.fishβ FZF environment variables.config/fish/functions/fzf_*.fishβ Individual workflow functions
- Neovim >= 0.9.0 (with LuaJIT)
- Git >= 2.19.0
- LazyVim
- A Nerd Font (v3.0+ for icons)
- lazygit (optional)
- A C compiler for
nvim-treesitter - Snacks.nvim picker dependencies:
- Supported Terminals:
- Colorscheme: hue-nvim β the same Hue Tide mood system used across Fish/Tide, herdr, Ghostty, and tmux (see the Hue theme switcher above)
- Plugin versions are pinned in
.config/nvim/lazy-lock.jsonand should be committed whenever Lazy updates the lockfile.
- Takuya's blog - vim-setup-to-speed-up-javascript-coding-for-my-electron-and-react-native-apps
- Takuya's blog - a-productive-command-line-git-workflow-for-indie-app-developers
- GNU Stow cheat sheet
π Happy Coding!






