lazy evaluation

why nix only evaluates what it needs and what that means in practice.

i'll get to it eventually
lazy evaluation, and also this readme