flake.nix 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. {
  2. description = "Neovim configuration";
  3. outputs = { self, nixpkgs }: {
  4. packages.x86_64-linux.default =
  5. with nixpkgs.legacyPackages.x86_64-linux;
  6. let
  7. extraPath = [
  8. fzf
  9. bat
  10. ripgrep
  11. nodePackages.typescript-language-server
  12. nodePackages.eslint_d
  13. ];
  14. in
  15. neovim.override {
  16. extraMakeWrapperArgs = "--prefix PATH : ${lib.makeBinPath extraPath} --set BAT_THEME OneHalfDark";
  17. configure = {
  18. customRC = ''
  19. source ${./vimrc}
  20. source ${./init.lua}
  21. '';
  22. packages.myVimPackage = with vimPlugins; {
  23. start = [
  24. vim-sensible
  25. vim-sleuth
  26. vim-fugitive
  27. vim-surround
  28. vim-abolish
  29. undotree
  30. vim-merginal
  31. fzf-vim
  32. fzf-lsp-nvim
  33. mini-nvim
  34. gitsigns-nvim
  35. onedark-nvim
  36. (nvim-treesitter.withPlugins (p: with p; [
  37. tree-sitter-css
  38. tree-sitter-go
  39. tree-sitter-javascript
  40. tree-sitter-json
  41. tree-sitter-lua
  42. tree-sitter-nix
  43. tree-sitter-ruby
  44. tree-sitter-tsx
  45. tree-sitter-typescript
  46. ]))
  47. nvim-lspconfig
  48. nvim-lsp-ts-utils
  49. null-ls-nvim
  50. ];
  51. };
  52. };
  53. };
  54. };
  55. }