1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- {
- description = "Neovim configuration";
- inputs = {
- neovim-flake.url = "github:neovim/neovim?dir=contrib";
- neovim-flake.inputs.nixpkgs.follows = "nixpkgs";
- };
- outputs = { self, nixpkgs, neovim-flake }: {
- overlay = final: prev: {
- neovim-unwrapped = neovim-flake.packages.${prev.system}.neovim;
- };
- packages.x86_64-linux.default =
- with import nixpkgs {
- system = "x86_64-linux";
- overlays = [ self.overlay ];
- };
- let
- extraPath = [
- fzf
- bat
- ripgrep
- nodePackages.typescript-language-server
- nodePackages.eslint_d
- ];
- in
- neovim.override {
- extraMakeWrapperArgs = "--prefix PATH : ${lib.makeBinPath extraPath} --set BAT_THEME OneHalfDark";
- configure = {
- customRC = ''
- source ${./vimrc}
- source ${./init.lua}
- '';
- packages.myVimPackage = with vimPlugins; {
- start = [
- vim-sensible
- vim-sleuth
- vim-fugitive
- vim-surround
- vim-abolish
- undotree
- vim-merginal
- fzf-vim
- fzf-lsp-nvim
- mini-nvim
- gitsigns-nvim
- onedark-nvim
- (nvim-treesitter.withPlugins (p: with p; [
- tree-sitter-css
- tree-sitter-go
- tree-sitter-javascript
- tree-sitter-json
- tree-sitter-lua
- tree-sitter-nix
- tree-sitter-ruby
- tree-sitter-tsx
- tree-sitter-typescript
- ]))
- nvim-lspconfig
- nvim-lsp-ts-utils
- null-ls-nvim
- ];
- };
- };
- };
- };
- }
|