Personal dotfiles
  • Lua 82%
  • Shell 18%
Find a file
2026-05-18 08:44:19 +01:00
nvim first commit 2026-05-18 08:36:13 +01:00
zellij first commit 2026-05-18 08:36:13 +01:00
zsh first commit 2026-05-18 08:36:13 +01:00
README.md chore: added README 2026-05-18 08:44:19 +01:00

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 (replaces cd)
  • Runtime manager: mise
  • Aliases: ~/.config/zsh/aliases.zsh (git shortcuts, Node, Docker Compose, Terraform) and ~/.config/zsh/azure.zsh (Azure CLI helpers)

Note: ~/.zshrc is 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.