{ config, pkgs, inputs, ... }: let nvim = pkgs.neovim.override { configure = { # Add Fennel to Lua path and require basic implementation # # runtimepath editing is not yet perfect, but works good enough so far customRC = '' set runtimepath+=${./nvim}/after set runtimepath^=${./nvim} lua << EOF vim.g.lsp_paths = { ['rust_analyzer'] = "${pkgs.rust-analyzer}/bin/rust-analyzer", ['lexical'] = "${pkgs.lexical}/bin/lexical", ['typos_lsp'] = "${pkgs.typos-lsp}/bin/typos-lsp" } package.path = package.path .. ";${pkgs.luajitPackages.fennel}/share/lua/5.1/?.lua" require('basic') EOF ''; packages.global = let plugins = pkgs.vimPlugins; in { start = [ plugins.packer-nvim plugins.vim-nickel # plugins.lua-utils-nvim plugins.neorg plugins.neorg-telescope plugins.nvim-treesitter.withAllGrammars ]; opt = []; }; }; }; in { nixpkgs.overlays = [ # inputs.neorg-overlay.overlays.default ]; home.sessionVariables.EDITOR = "nvim"; home.packages = [nvim]; }