[Nix-dev] Hardcoding /var/run/current-system in nixpkgs
Lluís Batlle i Rossell
viric at viric.name
Mon Feb 13 21:41:38 CET 2012
On Mon, Feb 13, 2012 at 09:29:30PM +0100, Vladimír Čunát wrote:
> On 02/13/2012 08:45 PM, Michael Raskin wrote:
> >> Currently quite a few packages in nixpkgs have /var/run/current-system/sw
> >> and/or /var/setuid-wrappers hardcoded. Why is it better than having /usr?
> > Although suboptimal, it is better than /usr/ because upstream packages
> > themselves don't do this on their own (yet). Unlike /usr/ references,
> > these are at least easy to locate...
>
> Yes, moreover the directories are symlinks so they are easily updated
> (e.g. on nixos-rebuild switch). Anyway, it's only used for things that
> are (at most) once on every system.
>
> Or you mean it would be better to have these paths like
> /var/run/current-system as some configurable parameters in the
> expressions (attributes of pkgs)? It might be better but I would
> postpone such things until we find a use case...
The case of init-related binaries is a bit delicate. Nixpkgs can't know what
init has the system, to hardcode a specific path.
Some time ago, we used to make those paths overridable in nixpkgs, defaulting to
that nixos /var/blabla.
Since we made nixos 'multiplatform' (as in non-PC computers), nixpkgs has the
notion of 'platform'. Maybe we could use it to differentiate between a nixos
system and a /usr-based system, as for the default options.
Nevertheless, I prefer first to have the use case than working on a solution,
because we may come up with many solutions that don't solve any use case
problem for anyone.
Regards,
Lluís.
More information about the nix-dev
mailing list