Personal development environment configuration for Neovim, Zed, Kitty, IdeaVim, OpenCode, and PowerShell.
dotfiles/
├── nvim/ → ~/.config/nvim
├── zed/ → ~/.config/zed
├── kitty/ → ~/.config/kitty
├── IdeaVim/ → ~/.ideavimrc
├── PowerShell/ → PowerShell profile
├── opencode/ → ~/.config/opencode/{opencode.jsonc,plugins/,skills/}
├── github-copilot/ → Copilot version tracking
└── docs/ → Documentation
git clone https://github.com/nghiaphamln/dotfiles.git ~/dotfiles
cd ~/dotfilesln -sf ~/dotfiles/nvim ~/.config/nvim
ln -sf ~/dotfiles/zed ~/.config/zed
ln -sf ~/dotfiles/kitty ~/.config/kitty
ln -sf ~/dotfiles/IdeaVim/.ideavimrc ~/.ideavimrc
mkdir -p ~/.config/zed/promptsSee opencode/README.md for detailed setup instructions.
mkdir -p ~/.config/opencode
ln -sf ~/dotfiles/opencode/opencode.jsonc ~/.config/opencode/opencode.jsonc
ln -sfn ~/dotfiles/opencode/plugins ~/.config/opencode/plugins
ln -sf ~/dotfiles/opencode/skills ~/.config/opencode/skills
# Set API keys in ~/.zshenv — see opencode/README.md
# Optional token optimization for shell output:
# brew install rtk terminal-notifier && restart OpenCodeOpenCode setup details, provider environment variables, plugins, and skill layout are documented in opencode/README.md.
The checked-in OpenCode plugins currently cover token-optimized shell rewrites via RTK and native macOS notifications for long-running sessions.
| Tool | Config | Purpose |
|---|---|---|
| Neovim | nvim/ |
Primary editor |
| Zed | zed/ |
Secondary editor |
| Kitty | kitty/ |
Terminal emulator |
| IdeaVim | IdeaVim/ |
Vim emulation in JetBrains IDEs |
| OpenCode | opencode/ |
AI coding agent (terminal) |
| PowerShell | PowerShell/ |
Shell profile (Windows) |
| GitHub Copilot | github-copilot/ |
Copilot version tracking |
Requires Neovim 0.12+. Launch Neovim — lazy.nvim will auto-install plugins on first run.
Install language servers:
:Mason
Key plugins:
- LSP:
nvim-lspconfig+ Mason (Rust, Go, Python, Lua, C/C++, YAML, CMake) - Completion:
blink.cmp - Syntax:
nvim-treesitter - File explorer:
neo-tree.nvim - Fuzzy finder:
snacks.picker - Formatter:
conform.nvim - Theme:
tokyonight.nvim - Statusline:
lualine.nvim - AI:
copilot.lua+CopilotChat.nvim
See nvim/README.md for full documentation.
restart OpenCode