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;
}
];
};
};
};
}
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.
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;
};
};
}