{ pkgs, ... }: # TODO Need to find a solution to have my own packages? # Or at least update to recent versions of the packages I do use in nixpkgs { home.sessionVariables.EDITOR = "nvim"; home.shellAliases = { vim = "nvim"; k = "cd ~/kitaab/vimwiki; vim -c :VimwikiIndex; cd $OLDPWD"; # kitaab zettel kz = "cd ~/kitaab/vimwiki; vim -c :VimwikiIndex -c :ZettelNew; cd $OLDPWD"; # kitaab get by tagged kt = "cd /home/anish/kitaab/vimwiki; eza *_index.wiki | fzf --preview 'bat --style=numbers --color=always --terminal-width -1 ./{}';cd $OLDPWD"; }; home.file.".config/nvim".source = ./config; #environment.systemPackages = with customPlugins; [ tidal ]; programs.neovim = { enable = true; extraPackages = with pkgs; [ # used to compile tree-sitter grammar # python-with-my-packages # nodejs # clojure-lsp # clojure # clj-kondo terraform-lsp nil gopls gcc shellcheck shfmt proselint nixfmt # statix # nodePackages.typescript # nodePackages.typescript-language-server # luajitPackages.lua-lsp fennel-ls unstable.starpls-bin ]; plugins = with pkgs.unstable.vimPlugins; [ #hotpot hotpot-nvim nvim-navic # ui lualine-nvim neo-tree-nvim fzf-vim vim-devicons nvim-web-devicons telescope-nvim plenary-nvim FTerm-nvim barbar-nvim neovim-ayu rainbow_parentheses-vim auto-session which-key-nvim aerial-nvim todo-comments-nvim indent-blankline-nvim nvim-parinfer # Tree sitter (nvim-treesitter.withPlugins (p: [ p.nix p.clojure p.fennel p.lua p.html p.css p.regex p.supercollider p.beancount p.markdown_inline p.markdown p.glsl p.yaml p.toml p.dockerfile p.json p.go p.starlark ])) nvim-treesitter-context nvim-treesitter-textobjects # TODO undotree marks-nvim # language vim-nix emmet-vim csv-vim direnv-vim # conjure # kitaab stuff vimwiki vim-zettel hologram-nvim # lsp stuff nvim-lspconfig nvim-cmp cmp-nvim-lsp cmp-treesitter # cmp-conjure cmp-buffer cmp-path cmp-spell lspkind-nvim conform-nvim none-ls-nvim mini-nvim # nvim-lspfuzzy # git stuff vim-fugitive gitsigns-nvim fzf-checkout-vim # Clojure stuff # conjure vim-sexp vim-sexp-mappings-for-regular-people fennel-vim # nvim-luapad scnvim flash-nvim vim-beancount ] ++ [ pkgs.vimPlugins.vim-tidal ]; # withPython3 = true; # extraPython3Packages = pkgs: with pkgs; [ tasklib six ]; # vimAlias = true; }; }