Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nixvim Config

One flake. One command. A fully loaded Neovim.

A reproducible, cross-platform Nixvim configuration for Linux and macOS.

Build status Nix Unstable Neovim

Linux macOS Last commit GitHub stars

Quick start

If you already have Nix with flakes enabled, try the configuration without cloning anything:

nix run github:yolofanhd/nixvim-config

Or run a local checkout:

git clone https://github.com/yolofanhd/nixvim-config.git
cd nixvim-config
nix run .

Tip

The map leader is the backtick key: `

What is inside?

  • Editor essentials — relative line numbers, persistent undo, smart search, system clipboard integration, sensible splits, and Gruvbox.
  • IDE features — LSP, completion, snippets, formatting, linting, diagnostics, testing, and debugging.
  • Fast navigation — Snacks pickers, NvimTree, Flash, sessions, and undo history.
  • Git workflow — Gitsigns, Fugitive, Diffview, and conflict helpers.
  • Language tooling — dedicated support for Nix, Rust, and LaTeX alongside the general LSP stack.
  • Reproducible everywhere — the same flake runs on x86_64 and ARM64 Linux and macOS.

Configuration map

.
├── flake.nix              # Packages, dev shell, formatter, and checks
└── config
    ├── default.nix        # Module entry point and colorscheme
    ├── options.nix        # Core Neovim options
    ├── mappings.nix       # Key bindings
    ├── auto_cmd.nix       # Autocommands
    ├── plugins.nix        # Plugin registry
    └── plugins/           # Focused plugin configuration modules

Plugin configuration stays split into small Nix modules, while plugins.nix is the single inventory. This keeps additions discoverable without turning the entry point into one large file.

Development

Enter the repository shell to get the formatter and static-analysis tools:

nix develop

Format and validate changes:

nix fmt
nix flake check

The checks build the generated Nixvim configuration, verify Nix formatting, run statix and deadnix, and validate the GitHub Actions workflows.

Update pinned flake inputs with:

nix flake update
Key bindings

Files and search

Mode Key Action
Normal n Toggle NvimTree
Normal ff Smart file search
Normal fw Search file contents
Normal fb List buffers
Normal fg List Git commits
Normal fB List Git branches
Normal fD View Git diff
Normal fo Open recent files
Normal fu Browse undo history
Normal fd Browse diagnostics
Normal fe Browse TODO comments
Normal fs Search sessions

LSP and diagnostics

Mode Key Action
Normal K Show hover information
Normal gd Go to definition
Normal gD Go to declaration
Normal gi Go to implementation
Normal go Go to type definition
Normal gr List references
Normal gs Show signature help
Normal gl Show line diagnostics
Normal [d / ]d Previous / next diagnostic
Normal F2 Rename symbol
Normal / Visual F4 Code action

Other

Mode Key Action
Normal cl Toggle comment
Normal t Toggle floating terminal
Terminal Esc Close floating terminal
Normal dn Dismiss notifications
Normal `du Toggle debugger UI

Built with Nix and Nixvim.

About

My nixvim config :)

Resources

Stars

1 star

Watchers

1 watching

Forks

Used by

Contributors

Languages