lib: don't duplicate nixpkgs' lib #1190
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The current implementation of nvf's custom lib uses nixpkgs'
lib.extend
function.This is intended as an escape hatch for buggy behaviour in nixpkgs and adds unnecessary eval time.
As well, when I was initially looking at nvf's codebase, the use of the
lib.nvim
namespace obfuscated where functions were actually coming from in nvf's code, but this might be a nonissue depending on personal opinion.This PR converts the codebase to a separate extensible fixed-point, implemented similarly to nixpkgs' lib, without being a direct extension of it.
This is fairly simple and imo actually reduces complexity with not having to keep around the extension function.
I think it's fair to call this a reduction in technical debt.
The current implementation is incomplete, since I want to know whether this might be accepted and, if so, whether to take the approach:
This means
_module.args.lib = pkgs.lib // {nvim = self.lib;}
, probably.lib.nvim
->self.lib
.Sanity Checking
nix fmt
).#nix
(default package).#maximal
.#docs-html
(manual, must build).#docs-linkcheck
(optional, please build if adding links)x86_64-linux
aarch64-linux
x86_64-darwin
aarch64-darwin
Add a 👍 reaction to pull requests you find important.