- Lua 82%
- Shell 18%
| nvim | ||
| zellij | ||
| zsh | ||
| README.md | ||
dotfiles
Personal config for Neovim, Zsh, and Zellij.
What's included
| Config | Location |
|---|---|
| Neovim | ~/.config/nvim/ |
| Zsh | ~/.config/zsh/ + ~/.zshrc |
| Zellij | ~/.config/zellij/ |
Prerequisites
Install the following with Homebrew before symlinking:
brew install neovim zellij fzf zoxide starship zsh-autosuggestions zsh-syntax-highlighting mise
For Neovim LSPs, Mason will handle most installs automatically on first launch. Formatters (Prettier, Stylua, CSharpier) are installed per-project or via Mason.
Installation
Clone and symlink the configs:
git clone <your-repo-url> ~/dotfiles
# Neovim
ln -sf ~/dotfiles/nvim ~/.config/nvim
# Zsh
ln -sf ~/dotfiles/zsh ~/.config/zsh
ln -sf ~/dotfiles/zsh/.zshrc ~/.zshrc
# Zellij
ln -sf ~/dotfiles/zellij ~/.config/zellij
# Starship prompt (used by zsh)
ln -sf ~/dotfiles/starship.toml ~/.config/starship.toml
Then restart your terminal. Neovim will bootstrap lazy.nvim and install all plugins on first open.
Zsh
Bare zsh (no framework) with:
- Prompt: Starship with a custom Gruvbox Dark theme
- Plugins:
zsh-autosuggestions,zsh-syntax-highlighting,fzf,zoxide(replacescd) - Runtime manager:
mise - Aliases:
~/.config/zsh/aliases.zsh(git shortcuts, Node, Docker Compose, Terraform) and~/.config/zsh/azure.zsh(Azure CLI helpers)
Note:
~/.zshrcis in the home directory, not inside~/.config/zsh/. Make sure to symlink it separately.
Neovim
Modular Lua config using lazy.nvim.
Key plugins:
| Category | Plugin |
|---|---|
| Theme | gruvbox.nvim (hard contrast) |
| Statusline | lualine.nvim |
| Syntax | nvim-treesitter |
| LSP | nvim-lspconfig + mason.nvim |
| Completion | nvim-cmp + LuaSnip |
| Files | oil.nvim (-) |
| Search | telescope.nvim |
| Git | neogit + gitsigns + diffview |
| Testing | neotest (jest + dart) |
| Formatting | conform.nvim |
| Terminal | toggleterm.nvim (Ctrl+T) |
LSPs configured: TypeScript (ts_ls), C# (omnisharp), Terraform, Docker, Bicep.
Leader key: Space
Key mappings:
| Key | Action |
|---|---|
<leader>ff |
Find files (Telescope) |
<leader>fg |
Live grep |
<leader>gg |
Open Neogit |
<leader>fm |
Format buffer |
<leader>tn |
Run nearest test |
<leader>tf |
Run file tests |
gd |
Go to definition |
gr |
References |
K |
Hover docs |
- |
Open oil.nvim (file explorer) |
Zellij
Uses Catppuccin Frappé theme with pane frames disabled and a minimal compact-bar layout.
Custom keybinds (all defaults cleared):
| Key | Action |
|---|---|
Ctrl+p |
Pane mode |
Ctrl+t |
Tab mode |
Ctrl+n |
Resize mode |
Ctrl+s |
Scroll mode |
Ctrl+g |
Toggle locked mode |
Ctrl+q |
Quit |
Alt+h/j/k/l |
Move focus / switch tabs |
Alt+f |
Toggle floating panes |
In pane mode: h/j/k/l to move focus, d for new pane down, r for new pane right, f for fullscreen.
In tab mode: n/p next/prev, c new tab, d close tab.