{ 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 = let expert = inputs.expert.packages.${pkgs.stdenv.hostPlatform.system}.expert; in '' set runtimepath+=${./nvim}/after set runtimepath^=${./nvim} lua << EOF vim.g.lsp_paths = { ['rust_analyzer'] = "${pkgs.rust-analyzer}/bin/rust-analyzer", ['expert'] = "${expert}/bin/expert", ['elp'] = "${pkgs.erlang-language-platform}/bin/elp", ['typos_lsp'] = "${pkgs.typos-lsp}/bin/typos-lsp", ['dexter'] = "dexter" } 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 ]; }