nmattia / niv

Easy dependency management for Nix projects

Home Page:https://github.com/nmattia/niv

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

niv doesn't allow overriding the names of the download derivation

lf- opened this issue · comments

Niv seems to hardcode names to things of format like *-nixpkgs-src according to a cursory reading of the file nix/sources.nix. This is problematic while interoperating with flakes, since if you put a path of any name except *-source as a "path" entry in the nix flake registry, it will be pointlessly copied on nearly every nix command run.

That limitation is filed upstream here: NixOS/nix#7075

It would be good to be able to override these names to workaround this Nix issue.

hi, I'm still not 100% familiar with flakes. I'm quite curious though, what does your workflow look like with niv + flakes?

I use the option nix.registry.nixpkgs in my non flake NixOS configuration to set the nixpkgs flake in the system registry to the same nixpkgs the system was built with.

For instance, nix run nixpkgs#hello will get the same hello as nix-shell -p.

However Nix doesn't like it when you name store paths anything but "source" then put them in a flake registry and will recopy them every time if so. I wound up just patching niv's sources.nix about it.