[Nix-dev] Customizing packages via overrideDerivation

Marc Weber marco-oweber at gmx.de
Fri Oct 18 19:08:28 CEST 2013


Excerpts from Andrey Rogozhin's message of Fri Oct 18 18:51:09 +0200 2013:
> Thanks, Eelco! I've just tried to fetch a fresh installation CD and
> did a fresh install with the updated expression as you advised.
That's the first thing to learn about nixos: Never do a fresh install.
Its not necessary. Update the channel or your nixpkgs repository.
The update will be incremental and deterministic at the same time!
The Nix manual should make this clear.

There is the /run/current-system/sw/bin indirection taking care of
"switching the system" and similar /etc/* symlink stuff.

Also compare with https://nixos.org/wiki/Nix_impurities

To be be fool proof you need to:

- checkout nixpkgs

- export NIX_PATH=nixos=path-to-nixpkgs/nixos:nixpkgs=path-to-nixpkgs:nixos-config=/etc/nixos/configuration.nix

Then run any of:

  nixos-rebuild test/boot/switch/vm
  (see --help)

You've been unlucky hitting this in the first place:
https://nixos.org/wiki/Open_issues:derivation_styles

builderDefs is a second way to decsribe how packages are build.
In contrast to the standard mkDerivation it allows to replace parts of
the builder script without causing rebuilds.

However those cases did not happen enough to adopt builderDefs for
all packages.

Marc Weber


More information about the nix-dev mailing list