{config, lib, pkgs, ...}: with lib; let cfg = config.ryan.neovim; in { options.ryan.neovim.enable = mkEnableOption "Neovim"; config = mkIf cfg.enable { programs.neovim = { enable = true; extraConfig = builtins.readFile ./init.vim; initLua = builtins.readFile ./init.lua; plugins = with pkgs.vimPlugins; [ vim-pandoc vim-pandoc-syntax vim-table-mode tokyonight-nvim lualine-nvim nvim-web-devicons coq_nvim #coq-artifacts (nvim-treesitter.withPlugins (p: [ p.zig p.go p.python p.vim ])) #transparent-nvim marks-nvim leap-nvim ]; extraPackages = with pkgs; [ pyright gopls zls ]; }; xdg.configFile."nvim/after".source = ./extraConfigs/after; }; }