nix-community / neovim-nightly-overlay

[maintainer=@GaetanLepage, @willruggiano]
https://matrix.to/#/#neovim-nightly-overlay:nixos.org
287 stars 39 forks source link

feat: move neovim flake into the overlay itself #515

Closed teto closed 1 month ago

teto commented 1 month ago

Maintaing the flake in the official neovim repository became too much of a burden so we are moving it out to a nix-community repository.

This is the opportunity to do more and add automation so that the neovim nix overlay doesnt ever break !

This became a pressing issue so even though this is not perfect yet, let's merge and iterate.

Note that maintainers are welcome to help with this repo, I would rather focus on nixpkgs.

Kudos to @ribru17 @willruggiano for their help.

cc my neovim mates @gaetanlepage @mrcjkb and @Kranzes the maintainer

teto commented 1 month ago

haaaa I completely ignored the original flake, not noticing the flake-parts + hercules-ci additions. I am not familiar with flake-parts @Kranzes would you be able to refactor ?

willruggiano commented 1 month ago

@teto https://github.com/nix-community/neovim-nightly-overlay/compare/teto/move-neovim-flake...willruggiano:neovim-nightly-overlay:teto/move-neovim-flake

Kranzes commented 1 month ago

@teto teto/move-neovim-flake...willruggiano:neovim-nightly-overlay:teto/move-neovim-flake

This looks pretty good, just have to make sure the naming of the overlay and outputs stay the same (haven't checked). One improvement could be to split the flake over multiple files (via flake-parts' imports) (I can do that in another PR later) @teto Do you mind rebasing your branch on @willruggiano's? Also test it out.

willruggiano commented 1 month ago

I think the previous overlay used "neovim-nightly" so might've messed up the names.

It doesn't make much sense to have neovim-developer in the overlay IMO. The only reasonable usecase for that package is via --override-input neovim-src /path/to/your/local/neovim.

And really it will only be useful via an .envrc in your neovim source directory, e.g.

use flake github:nix-community/neovim-nightly-overlay --override-input neovim-src .

so, in a way, it doesn't make sense to even vend a packages.neovim-developer at all and just have the devshell

teto commented 1 month ago

@willruggiano do you want to become a maintainer of this repo ? looks like you have all the required nix and neovim skills ;)

@gaetanlepage proposed to fix this PR with your code (too bad you didn't patch this PR instead :( ) as he is kinda familar with flake-parts

Neovim-developer can be helpful to dogfood master and find more bugs with ASAN for instance. It's not because you are a few commits behind it's not useful and hopefully we can get the flake regularly updated (daily ? not sure what's the current frequency).

willruggiano commented 1 month ago

If you'd like @teto I will happily help maintain here.

As for the neovim-develop package, yeah I get the value of sanitizers. My comment was more so regarding the assumption that the neovim source code is co-located with the flake (which is not the case anymore). Which... I fixed with the neovim-developer shellHook: export VIMRUNTIME=${neovim-src}/runtime.

teto commented 1 month ago

superseeded by https://github.com/nix-community/neovim-nightly-overlay/pull/516