nix-super/src
Eelco Dolstra 6d6c68c0d2 * Added a new kind of multi-line string literal delimited by two
single quotes.  Example (from NixOS):

    job = ''
      start on network-interfaces

      start script

        rm -f /var/run/opengl-driver
        ${if videoDriver == "nvidia"        
          then "ln -sf ${nvidiaDrivers} /var/run/opengl-driver"
          else if cfg.driSupport
          then "ln -sf ${mesa} /var/run/opengl-driver"
          else ""
        }

        rm -f /var/log/slim.log

      end script
    '';

  This style has two big advantages:

  - \, ' and " aren't special, only '' and ${.  So you get a lot less
    escaping in shell scripts / configuration files in Nixpkgs/NixOS.
    The delimiter '' is rare in scripts (and can usually be written as
    "").  ${ is also fairly rare.

    Other delimiters such as <<...>>, {{...}} and <|...|> were also
    considered but this one appears to have the fewest drawbacks
    (thanks Martin).

  - Indentation is intelligently stripped so that multi-line strings
    can follow the nesting structure of the containing Nix
    expression.  E.g. in the example above 6 spaces are stripped from
    the start of each line.  This prevents unnecessary indentation in
    generated files (which sometimes even breaks things).

  See tests/lang/eval-okay-ind-string.nix for some examples.
2007-11-30 16:48:45 +00:00
..
bin2c * "Fix expression" -> "Nix expression". 2003-11-18 12:06:07 +00:00
boost * Install header files in /nix/include/nix. 2006-09-04 22:41:36 +00:00
bsdiff-4.3 * Print a better error message when writing the patched file (e.g., 2006-02-01 17:28:13 +00:00
libexpr * Added a new kind of multi-line string literal delimited by two 2007-11-30 16:48:45 +00:00
libmain * Flag `--no-build-hook' to disable distributed builds. 2007-11-16 16:15:26 +00:00
libstore * nix-env -e: support uninstalling by path, so that one can say 2007-11-29 16:18:24 +00:00
libutil * nix-env -e: support uninstalling by path, so that one can say 2007-11-29 16:18:24 +00:00
nix-env * nix-env -e: support uninstalling by path, so that one can say 2007-11-29 16:18:24 +00:00
nix-hash * Use a proper namespace. 2006-09-04 21:06:23 +00:00
nix-instantiate * Option --argstr for passing string arguments easily. (NIX-75) 2007-01-14 12:32:44 +00:00
nix-log2xml * Support for srcdir != builddir (NIX-41). 2006-05-12 11:47:45 +00:00
nix-setuid-helper * Remove a warning. 2007-04-16 14:45:25 +00:00
nix-store * nix-env -e: support uninstalling by path, so that one can say 2007-11-29 16:18:24 +00:00
nix-worker * Flag `--no-build-hook' to disable distributed builds. 2007-11-16 16:15:26 +00:00
aterm-helper.pl * Big cleanup of the semantics of paths, strings, contexts, string 2006-10-16 15:55:34 +00:00
Makefile.am * Start of the setuid helper (the program that performs the operations 2006-12-06 01:24:02 +00:00