Skip to content

Latest commit

History

511 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

dotfiles

My personal dotfiles — meticulously curated configurations for the ultimate terminal-centric development environment. Managed by Dotbot with a two-phase installer that works across Linux and macOS.

zsh · bash · fish | Linux · macOS | tmux · neovim · Claude Code

One-Click Install

bash <(curl -fsSL https://raw.githubusercontent.com/magic3007/dotfiles/master/bootstrap.sh)

Bootstraps everything: SSH keys → Claude Code → repo clone → ./install → git config → wechat-reminder. All API keys and env vars land in ~/.common_shell_setup_local.sh (never committed).

Manual install
git clone --recursive https://github.com/magic3007/dotfiles.git ~/dotfiles
cd~/dotfiles
./install # idempotent — safe to re-run
./install -n # dry run

What's Configured

Shell & Prompt

ToolConfig
zshoh-my-zsh + autosuggestions + syntax-highlighting + vi-mode + autojump + wakatime
bashshared aliases, functions, and env vars via common_shell_setup.sh
fishFisher plugins, lazy-loaded functions, modular conf.d structure
starshipCross-shell prompt with custom styling

Terminal & Multiplexer

ToolConfig
tmuxStatus bar, keybindings, mouse support
cmuxSession/tab/panel JSON config
WarpModern terminal settings
iTerm2macOS — plist sync, custom profile
GhosttyCross-platform GPU terminal
zellij(installed via Homebrew/apt)

Editor & IDE

ToolConfig
neovimNvChad (full IDE) + nvim-basic-ide (lightweight), LSP, treesitter
vimvimrc with plugin management, undo history, extensive settings
VSCodeSettings sync via vscoderc
ideavimJetBrains Vim emulation
CursormacOS — keybindings + settings
AntigravitymacOS — keybindings + settings

Git

ToolConfig
gitconfigAliases (st/co/di/dc/gr…), fast-forward-only pull, custom hooks path
lazygit(installed via Homebrew/apt)

File Management

ToolConfig
rangerPlugins, rifle, custom commands, scope.sh
joshutoRust file manager — keymap, mimetype, theme
yaziRust file manager — keymap, theme
lsdModern ls replacement

AI Coding Tools

ToolConfig
Claude CodeSettings, hooks, skills, agents, commands, rules, API wrappers for 6+ backends
CodexOpenAI Codex config, env, skills
Gemini CLISettings, skills
OpencodeConfig, package.json
PiModels + settings
Kimi Codeconfig.toml
ChatGPTShell helper

Shell Aliases

cc # Claude Code — native Anthropic API
sdcc # Claude Code — VolcEngine (doubao-seed-2.0-lite)
dscc # Claude Code — DeepSeek (v4-flash)
dsccpro # Claude Code — DeepSeek (v4-pro)
kmcc # Claude Code — Kimi via OpenRouter
kmcc2 # Claude Code — Kimi direct
mxcc # Claude Code — MiniMax via OpenRouter
mmcc # Claude Code — MiMo
gm # Google Gemini CLI
oc # Opencode

macOS Window Management

ToolConfig
KarabinerKeyboard remapping, complex modifications, assets
skhdHotkey daemon
yabaiTiling window manager

Language & Package Managers

ToolConfig
cargorsproxy.cn mirror
pipTUNA mirror (tsinghua)
conda / mambaTUNA mirror
npmnpmmirror.com
R.Rprofile

Debugging & Profiling

ToolConfig
gdbDashboard, reverse engineering helpers, STL pretty-printers

Containers

ToolConfig
DockerDockerfiles for CUDA/PyTorch/Ubuntu dev environments, GUI setup guide

CLI Enhancements

ToolConfig
batbat — syntax-highlighted cat
fzfFuzzy finder
yolo~/.local/bin/yolo — generic LLM-powered shell helper script

Productivity & Knowledge

ToolConfig
ObsidianPlugins, appearance, core plugin settings
wechat-reminderDual-channel (WeChat PushDeer + Feishu webhook), Claude Code hook integration

Local Customization

Machine-specific overrides — gitignored:

FilePurpose
~/.gitconfig_localGit user name/email
~/.zsh_localZsh overrides
~/.bash_localBash overrides
~/.common_shell_setup_local.shAPI keys, webhook URLs, env vars
~/.config/fish/conf.d/local.fishFish overrides

Architecture

dotfiles/
├── claude/ → ~/.claude/ Claude Code (hooks, skills, agents, settings)
├── codex/ → ~/.codex/ OpenAI Codex
├── gemini/ → ~/.gemini/ Google Gemini CLI
├── opencode/ → ~/.config/opencode/ Opencode
├── pi/ → ~/.pi/agent/ Pi coding agent
├── kimi-code/ → ~/.kimi-code/ Kimi Code
├── neovim/ → ~/.config/nvim/ NvChad + basic-ide
├── vim/ → ~/.vim_runtime/ Vim config + plugins
├── git/ → ~/.gitconfig Git aliases + hooks
├── starship/ → ~/.config/starship.toml
├── fish/ → ~/.config/fish/ Fish shell
├── ranger/ → ~/.config/ranger/ Ranger file manager
├── joshuto/ → ~/.config/joshuto/ Joshuto file manager
├── yazi/ → ~/.config/yazi/ Yazi file manager
├── lsd/ → ~/.config/lsd/ LSD config
├── bat/ → ~/.config/bat/ Bat config
├── gdb/ → ~/.gdbinit + ~/.gdb/
├── ghostty/ → ~/.config/ghostty/
├── karabiner/ → ~/.config/karabiner/ (macOS)
├── skhd/ → ~/.skhdrc + ~/.skhd/ (macOS)
├── cursor_config/ → Cursor settings (macOS)
├── antigravity_config/ → Antigravity settings (macOS)
├── iterm2/ → iTerm2 plist (macOS)
├── obsidian/ → Obsidian vault settings
├── docker/ → Dev Dockerfiles
├── install-scripts/ → Platform package installers
└── wechat-reminder/ → Dual-channel notification tool

Reference

  • Dotbot — dotfile management
  • CLAUDE.md — full development guide and constraints

About

🤗 A collection of docker, gdb, git, vim, neovim, zsh, ranger, conda, and tmux configuration files and setup script under various OS.

Topics

Resources

Stars

10 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages