Skip to content

Installation

Before you go ahead and install it on your system, you probably want to install nvdots temporarily to play around with it. Run the following command to create a temporary shell with nvdots installed. Note that you will be stuck using the defaults and can not customize the package with your own plugins/configuration.

nix run github:Voxi0/nvdots \
--extra-trusted-public-keys nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs \
--extra-substituters https://nix-community.cachix.org \
--experimental-features 'nix-command flakes'

Add nvdots to your flake.

nvdots = {
url = "github:Voxi0/nvdots";
inputs.nixpkgs.follows = "nixpkgs";
};
  1. Add the package to home.packages or environment.systemPackages or whatever and configure it however by wrapping it with your own stuff.
    home.packages = [
    (inputs.nvdots.packages.${pkgs.stdenv.hostPlatform.system}.neovim.wrap ({pkgs, ...}: {
    # extraPackages = with pkgs; [];
    # specs.<spec_name> = {
    # # Add more plugins to this spec
    # data = with pkgs.vimPlugins; [];
    #
    # # Extend this spec with your own Lua config
    # config = ''
    # '';
    # };
    }))
    ];
  1. Add the overlay to your pkgs instance. Note that this will replace pkgs.neovim with the package that nvdots exports.
    pkgs = import inputs.nixpkgs {
    inherit system;
    overlays = [inputs.nvdots.overlays.default];
    };
  2. Configure nvdots however you want by wrapping the package with your own stuff.
    home.packages = [
    (pkgs.neovim.wrap ({pkgs, ...}: {
    # extraPackages = with pkgs; [];
    # specs.<spec_name> = {
    # # Add more plugins to this spec
    # data = with pkgs.vimPlugins; [];
    #
    # # Extend this spec with your own Lua config
    # config = ''
    # '';
    # };
    }))
    ];