✨ My personal development environment configuration files for macOS, featuring a modern Neovim IDE setup with AI-assisted coding, fuzzy finding, custom UI, and VS Code-like shortcuts.
An IDE-like workflow built on lazy.nvim plugin manager with:
- 🎭 Modern UI: Cyberdream theme (dark + transparent)
- 📁 File Management: Neo-tree explorer with git + diagnostics integration
- 🔍 Fuzzy Finding: Telescope with FZF-native + UI select
- 🧠 AI Assistant: CodeCompanion (OpenAI adapter) for inline and chat-based coding help
- 🌈 Syntax Highlighting: Treesitter for Lua, JavaScript/TypeScript, Python
- 💻 LSP Integration: lua_ls, ts_ls, pyright via Mason & nvim-lspconfig
- ⚡ Completion: nvim-cmp with LSP sources
- 📊 Statusline: Lualine with branch/diff/diagnostics
- 📑 Tabs: Bufferline with styled tabs and inline diagnostics
- 🧩 Git Integration: LazyGit + gitsigns
- 🔧 Auto-formatting: Format on save using LSP
- ✍️ Commenting: Comment.nvim with
gcc/gcstyle mappings - 🐼 LSP Signature Help: Inline function hints with borders + emoji hints
- 🪟 Enhanced Cmdline: fine-cmdline with styled popup prompt
- 🚨 Diagnostics: Trouble.nvim for quick error/usages navigation
# Install Homebrew if not already installed
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Install required tools
brew install neovim # 🚀 Neovim editor
brew install ripgrep # 🔍 For telescope live grep
brew install lazygit # 🔧 Git TUI integration
brew install font-fira-code-nerd-font # 📝 Nerd Font for icons- Terminal: Warp 🌊 (recommended) or iTerm2
- Font: FiraCode Nerd Font 🔤
- 📥 Clone the repository:
git clone https://github.com/rootsec1/dotfiles.git ~/.dotfiles
cd ~/.dotfiles- 🔄 Backup existing Neovim configuration:
mv ~/.config/nvim ~/.config/nvim.backup 2>/dev/null || true- 🔗 Create symbolic link:
ln -sf ~/.dotfiles/nvim ~/.config/nvim- 🎉 Start Neovim and let plugins install automatically:
nvimnvim/
├── init.lua # 🏠 Main config (settings, plugin setup, keymaps)
├── lua/
│ └── plugins.lua # 🧩 Plugin definitions
└── lazy-lock.json # 🔒 Plugin lockfile
Ctrl + P→ Find files (open in new tab)Ctrl + F→ Search in current fileSpace + F→ Live grep across projectCtrl + B→ Toggle file explorer
Shift + Tab→ Next tabCtrl + W→ Close tabSpace + Q→ Quit all
Ctrl + S→ SaveCtrl + A→ Select allCtrl + Z→ UndoCtrl + Y→ RedoCtrl + D→ Duplicate lineCtrl + H→ Find & replaceCtrl + G→ Go to definitionCtrl + U→ Show usages (Trouble)Ctrl + I→ Hover info
Space + G→ Open LazyGit
Space + E→ Show error detailsCtrl + K→ Format fileCtrl + L/Leader + L→ CodeCompanion inline & chat AI
Ctrl + C/X/V→ Copy/Cut/Paste (system clipboard)- Works in normal, visual, and insert modes
gcc→ Toggle line commentgc→ Toggle visual selection comment
:→ Launch fine-cmdline popup
- 🌙 Lua → lua_ls
- 📜 TypeScript/JavaScript → ts_ls
- 🐍 Python → pyright (virtualenv-aware)
Install more via :Mason.
- Theme: Cyberdream dark + transparent (
init.lua) - Tabs & Statusline: bufferline + lualine themed
- Keymaps: Easily modifiable in
init.lua
- Icons not showing → Use FiraCode Nerd Font
- Clipboard issues → Run
:checkhealth - LSP not working → Check
:Mason,:LspInfo - Python env not detected → Add
pyrightconfig.jsonto project root
⚡ With this setup, Neovim behaves like a VS Code on steroids — terminal-native, lightweight, but with AI-assisted coding and fully customizable workflows.