Any feedback is welcome
So people tend to have their own personal vim configurations that include more than language support so I am not sure how useful this is on its own but it might be a solid reference as just a minimal golang neovim setup. In fact, now I might be going to add something similar as an example to nix2vim
Also a little tip: consider using builtins.readFile instead large strings in nix. This way you get syntax highlighting
Here’s-how-I-do-it:
For packages like neovim
or tmux
… since I’d want to run these in whatever directory I’m in, I’d want these installed globally. I use pkgs.buildEnv
as described in the 2.6.2. “Declarative Package Management” of the nixpkgs manual, and just install that to the user profile. (I started Nix without using NixOS, without using HM; and still like this approach well enough).
For language+lsp+lint, TBH I like the idea of having this specific to the project. In the same direction as using the devShell output of the flake, I’d use direnv with a .envrc
like use flake github:...
. Then, any terminal-based editor run from that directory, or any GUI editor with a direnv plugin, can use the language+lsp.