A personalized coding workspace configuration for macOS, featuring a custom Neovim setup and Ghostty terminal integration.
This is a lightweight, modular Neovim configuration built from scratch (migrated from LazyVim), designed for performance and maintainability.
- Plugin Manager: lazy.nvim
- Modular Structure: Plugins are organized by category for easy maintenance:
- UI:
lua/plugins/ui/(Catppuccin, Lualine, Noice, Dashboard, etc.) - Editor:
lua/plugins/editor/(Neo-tree, Telescope, Toggleterm, Git tools, etc.) - Coding:
lua/plugins/coding/(LSP, Blink.cmp, Treesitter, Rustaceanvim, etc.)
- UI:
- Completion: blink.cmp - High-performance completion engine.
- LSP: Native LSP with Mason for easy tool management.
- File Explorer: Neo-tree.
- Fuzzy Finder: Telescope.
- Terminal: Toggleterm.
- Rust: Rustaceanvim for a full-featured Rust IDE experience.
- Prerequisites: MacOS, Neovim >= 0.12, Ghostty (optional but recommended).
- Installation:
Execute the commands in init.sh to set up the environment.
./init.sh
- Usage:
Open
nvimandlazy.nvimwill automatically install all plugins.
Rust uses Cargo workspace detection through Rustaceanvim. TypeScript uses Vtsls
with nvim-lspconfig's default root detection: package-manager lockfiles or .git,
falling back to the current working directory.
Install language servers and formatters with :Mason, and keep the Rust toolchain
available on PATH.
| Shortcut | Action |
|---|---|
<leader>cf |
Format with Conform: rustfmt for Rust; project Biome or Prettier for TypeScript |
<leader>fF, <leader>/, <leader>e |
Find files, search text, or browse the current file's .git root (fall back to the working directory) |
<leader>ff, <leader>sg, <leader>E |
Find files, search text, or browse the current working directory |
]f, [f |
Jump to the next or previous function |
]e, [e |
Jump to the next or previous error |
<leader>du |
Toggle the debugger panels |
nvim/
├── init.lua # Entry point
├── lua/
│ ├── config/ # Core config (options, keymaps, autocmds)
│ └── plugins/ # Plugin specifications
│ ├── coding/ # LSP, Completion, Treesitter
│ ├── editor/ # Navigation, Git, Terminal
│ └── ui/ # Theme, Statusline, Decorations