title: What is the purpose of nix-instantiate? What is a store-derivation?
body: <p>In the <a href="http://nixos.org/nix/manual/#sec-nix-instantiate" rel="noreferrer">manual</a> it is written :</p>
  
  <blockquote>
    <p>The command <code>nix-instantiate</code> generates store derivations from
    (high-level) Nix expressions.</p>
  </blockquote>
  
  <p>But what are store derivations ? </p>
  
  <p>The manual says the following about <a href="http://nixos.org/nix/manual/#gloss-derivation" rel="noreferrer">store derivations</a> :</p>
  
  <blockquote>
    <p>A description of a build action. The result of a derivation is a store
    object. Derivations are typically specified in Nix expressions using
    the derivation primitive. These are translated into low-level store
    derivations (implicitly by <code>nix-env</code> and <code>nix-build</code>, or explicitly by
    <code>nix-instantiate</code>)</p>
  </blockquote>
  
  <p>This is a little bit difficult to understand for a nix-newbee and I found nothing more enlightening about <code>nix-instantiate</code> and store derivations by googling. I also asked on #nixos, I got no answer, yet.</p>
  
  <p>Could someone please explain on a simple example what a store derivation is, what is it used for ?</p>
  
  <p>Why one would generate store derivations using <code>nix-instantiate</code>? Could you give a super simple, easy to understand example ?</p>