[Nix-dev] Improving the Developer Experience in the Nix Community

Marc Weber marco-oweber at gmx.de
Wed Jun 27 23:48:33 CEST 2012


Excerpts from Bryce L Nordgren's message of Wed Jun 27 22:03:51 +0200 2012:
> I can't pretend to know what the original poster meant, but I'd want this
> at least to mean rolling back the stateful information maintained by a
> package too. (maybe by snapshotting the drive before upgrading in case
> things go south?)
Use btrfs, and add snapshot commands to your activation script (man
configuration.nix) or such. Should be easy doable.

In the real world (server case) you can't just rollback - because you
may have new bookings on your disk when noticing that something went
wrong. In either case you have trouble. 

> I'd like to know if there's an analog to "provides" and "requires" in arch.
> So if a pure java package needs "a" java runtime environment, 
No.

> Should I have to recompile all my *.jar files just because I upgraded my
> runtime environment? I hope the answer is no! :)
nix has both: runtime and buildtime dependencies (right?).
Thus if you don't reference JRE only using JAVA_HOME in a bin/ script
you can install JRE later in your user env.

> Continuing with a Java theme: the Java Advanced Imaging interfaces have a
> (default) pure java implementation as well as a native (accelerated)
> implementation.

How should this be solved? Try find answers yourself. Its the same
problem M.R. talked about if buildfarm uses optimiziations your computer
doesn't support (or let it be a kernel not matching glibc. Then suddenly
touch does no longer work).

Marc Weber


More information about the nix-dev mailing list