I issued the command once, then quickly canceled it because i thought I had to change something, changed my mind, and re-did the command (all over a period of about a second.)
``` bash [spacekitteh@spaceserv:~]$ sudo nixos-rebuild dry-build -I nixpkgs=https://github.com/NixOS/nixpkgs/archive/master.tar.gz
building the system configuration...
^C
[spacekitteh@spaceserv:~]$ error: interrupted by the user
sudo nixos-rebuild dry-build -I nixpkgs=https://github.com/NixOS/nixpkgs/archive/master.tar.gz
building the system configuration...
fetching path ‘/nix/store/1skciy7shbqd30a9krf22bcxr48yrmrd-cjdns-v18.tar.gz’...
fetching path ‘/nix/store/p388ghnjvnxslac0rg7zv0yccpih4q1w-nodejs-6.9.1’...
fetching path ‘/nix/store/8bvcnygy0xpddy6mq9mwpy5zvp7hai60-util-linux-2.28.1-dev’...
* Downloading ‘https://cache.nixos.org/nar/1mdkyqks1bdqxd7z88wixcfqb85v1ydgymb15y69v1a5vwks7r7a.nar.xz’ (signed by ‘cache.nixos.org-1’) to ‘/nix/store/8bvcnygy0xpddy6mq9mwpy5zvp7hai60-util-linux-2.28.1-dev’...
* Downloading ‘https://cache.nixos.org/nar/0wfvii9xrqrxi07b75zd4diyz7094f9q7hji7py2irhcgjx31wzw.nar.xz’ (signed by ‘cache.nixos.org-1’) to ‘/nix/store/1skciy7shbqd30a9krf22bcxr48yrmrd-cjdns-v18.tar.gz’...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 % Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
* Downloading ‘https://cache.nixos.org/nar/1f6c3kk09m6hvpg8h13y8p4vzblg0apqc6n3zhkc81ab81pn27wy.nar.xz’ (signed by ‘cache.nixos.org-1’) to ‘/nix/store/p388ghnjvnxslac0rg7zv0yccpih4q1w-nodejs-6.9.1’...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 15692 100 15692 0 0 8907 0 0:00:01 0:00:01 --:--:-- 8905
100 3813k 100 3813k 0 0 86102 0 0:00:45 0:00:45 --:--:-- 87947
100 7374k 100 7374k 0 0 88620 0 0:01:25 0:01:25 --:--:-- 93050
building path(s) ‘/nix/store/qnb2l3vqmk757qyvi602rr46cmpg0zcj-cjdns-18’
unpacking sources
unpacking source archive /nix/store/1skciy7shbqd30a9krf22bcxr48yrmrd-cjdns-v18.tar.gz
source root is cjdns-cjdns-v18
setting SOURCE_DATE_EPOCH to timestamp 1476221984 of file cjdns-cjdns-v18/wire/SwitchHeader.h
patching sources
configuring
no configure script, doing nothing
building
Initialize 12ms
{"isLLVM":false,"isClang":false,"isGCC":true,"version":"5.4.0"}
Copy dependencies
Compiler supports link time optimization
Build NaCl
Creating directories
Getting system type
System is [amd64]
Using premade plan at [node_build/plans/amd64_plan.json]
Creating system specific integer type headers
beginning build
implementations generated
Compiling jsbuild/objects_internal/crypto_hashblocks_sha512_inplace_blocks.c.o
Compiling jsbuild/objects_internal/crypto_scalarmult_curve25519_donna_c64_base.c.o
Compiling jsbuild/objects_internal/crypto_scalarmult_curve25519_donna_c64_smult.c.o
etc etc etc
```
My guess is it is because of import from derivation (https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/services/networking/cjdns.nix#L32). Eelco already mentioned this in in another thread
This is expected behavior. It needs a build of cjdns at eval time to add stuff to extraHosts.
The only obvious way around the need for import-from-derivation is to implement the pubkey -> ipv6 addr in pure Nix. Alternatively, a self-contained pubkey -> ipv6 addr utility could be created/extracted and used instead of pulling in all of cjdns for that purpose, but then you'd still have to contend with a stdenv build at eval time.
Might make sense to guard that logic with a conditional, so that only users who need that feature pay for the overhead. If it turns out nobody actually needs it, it could be outright removed.
cc @ehmry
I say remove it, its kind of a cool feature, but not worth the overhead.
Most helpful comment
I say remove it, its kind of a cool feature, but not worth the overhead.