{ description = "Neovim configuration"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; flake-utils.url = "github:numtide/flake-utils"; blink-cmp = { url = "github:Saghen/blink.cmp"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { self, nixpkgs, flake-utils, blink-cmp }: flake-utils.lib.eachDefaultSystem (system: let pkgs = import nixpkgs { inherit system; overlays = [(final: prev: { node-lsp = final.callPackage ./node-lsp {}; blink-cmp = blink-cmp.packages.${system}.blink-cmp; })]; }; in { packages.neovim = pkgs.callPackage ./neovim.nix {}; packages.neovim-with-luadev = pkgs.callPackage ./neovim.nix { withLuadev = true; }; packages.neovim-minimal = (pkgs.callPackage ./neovim.nix {}).minimal; packages.default = self.packages.${system}.neovim; } ); }