{ pkgs, lib, ... }: let fromGitHub = repo: ref: rev: pkgs.vimUtils.buildVimPlugin { pname = "${lib.strings.sanitizeDerivationName repo}"; version = ref; src = builtins.fetchGit { url = "https://github.com/${repo}.git"; ref = ref; rev = rev; }; }; in { programs.neovim = { enable = true; viAlias = true; vimAlias = true; defaultEditor = true; withNodeJs = true; plugins = with pkgs.vimPlugins; [ # lazy-nvim # treesitterWithGrammars # surround-nvim # telescope-nvim # plenary-nvim # dependency of telescope # rnvimr # (fromGitHub "decaycs/decay.nvim" "HEAD" "457014541ebcfb29bd660592a0b02f22c9e2d0e2") # auto-session ]; extraPackages = with pkgs; [ gcc # For treesitter complation ripgrep # Search support wayclip # Clipboard support fd # finder for telescope fzf # Fuzzy finder lazygit # LazyVim dep? wget # LazyVim dep? sqlite # For Snacks ]; }; home.file.".config/nvim" = { source = ./config; recursive = true; }; }