Flake lock file updates:
• Updated input 'neovim-src':
'github:neovim/neovim/e916f0327728c78945e6353eeeeb88749b077c0b?narHash=sha256-0QP%2BbeaZydoVTJT8gKVInyKX4yMPWfvS2feY9hulW5E%3D' (2025-12-28)
→ 'github:neovim/neovim/03377b95523324a2a1657435f12c13a493ee5360?narHash=sha256-gjHEPV0agQqaxWrBsfQNVweLnlatR1Fin8xfdAYCWOQ%3D' (2025-12-29)
• Updated input 'nixpkgs':
'github:NixOS/nixpkgs/5c2bc52fb9f8c264ed6c93bd20afa2ff5e763dce?narHash=sha256-fHmxAesa6XNqnIkcS6%2BnIHuEmgd/iZSP/VXxweiEuQw%3D' (2025-12-27)
→ 'github:NixOS/nixpkgs/0744ef1b047f07d31d9962d757ffe38ec14a4d41?narHash=sha256-SosfgQSqVmOkqVgNYJnxW5FvoIQX4grOcpIKNrIwz4o%3D' (2025-12-29)
|
||
|---|---|---|
| flake | ||
| .envrc | ||
| .envrc.developer.template | ||
| .envrc.minimal.template | ||
| .git-blame-ignore-revs | ||
| .gitignore | ||
| default.nix | ||
| flake-compat.nix | ||
| flake.lock | ||
| flake.nix | ||
| README.md | ||
To use the overlay
Important
When using this overlay, you might encounter
error: hash mismatch in fixed-output derivation '/nix/store/...-tree-sitter-bundled-vendor-staging.drv'.
The issue is thatneovim-nightly-overlayuses and overrides thetreesitterfrom your own package set. If thistreesitteris different than the one we expect, you might get a hash mismatch.
To work around this, you can either:
- Do not use this flake as an overlay, but simply get its default package output (
inputs.neovim-nightly.packages.${system}.default)- Override
treesitterwith your own version:pkgs.neovim.override ...
with Flakes
If you are using flakes to configure your system, you can either reference the package provided by this flake directly, e.g. for nixos:
{ inputs, pkgs, ... }:
{
programs.neovim = {
enable = true;
package = inputs.neovim-nightly-overlay.packages.${pkgs.system}.default;
};
# or
environment.systemPackages = [
inputs.neovim-nightly-overlay.packages.${pkgs.system}.default
];
}
or you can apply the overlay to your package set, e.g for home-manager:
{
inputs = {
neovim-nightly-overlay.url = "github:nix-community/neovim-nightly-overlay";
};
outputs = { self, ... }@inputs:
let
overlays = [
inputs.neovim-nightly-overlay.overlays.default
];
in
{
homeConfigurations = {
macbook-pro = inputs.home-manager.lib.homeManagerConfiguration {
modules = [
{
nixpkgs.overlays = overlays;
}
];
};
};
};
}
Updating
The neovim-nightly-overlay flake itself is updated every day to use the latest neovim source code.
However, your own flake needs to be synced manually. Remember to regularly update your flake (e.g. by using nix flake update) to get a most recent neovim build.
without Flakes
Add the overlay to your home.nix (home-manager) or configuration.nix (nixos):
{
nixpkgs.overlays = [
(import (builtins.fetchTarball {
url = "https://github.com/nix-community/neovim-nightly-overlay/archive/master.tar.gz";
}))
];
}
Due to some nixpkgs breaking changes if you are using NixOS 24.05 use the overlay below
also requires that you have the nixpkgs-unstable nix-channel
{
nixpkgs.config = {
packageOverrides = pkgs: let
pkgs' = import <nixpkgs-unstable> {
inherit (pkgs) system;
overlays = [
(import (builtins.fetchTarball {
url = "https://github.com/nix-community/neovim-nightly-overlay/archive/master.tar.gz";
}))
];
};
in {
inherit (pkgs') neovim;
};
};
}