6d6c68c0d2
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. |
||
---|---|---|
.. | ||
figures | ||
bugs.xml | ||
build-farm.xml | ||
builtins.xml | ||
conf-file.xml | ||
env-common.xml | ||
glossary.xml | ||
installation.xml | ||
introduction.xml | ||
Makefile.am | ||
manual.xml | ||
nix-build.xml | ||
nix-channel.xml | ||
nix-collect-garbage.xml | ||
nix-copy-closure.xml | ||
nix-env.xml | ||
nix-hash.xml | ||
nix-install-package.xml | ||
nix-instantiate.xml | ||
nix-lang-ref.xml | ||
nix-pack-closure.xml | ||
nix-prefetch-url.xml | ||
nix-pull.xml | ||
nix-push.xml | ||
nix-store.xml | ||
nix-unpack-closure.xml | ||
opt-common-syn.xml | ||
opt-common.xml | ||
opt-inst-syn.xml | ||
package-management.xml | ||
quick-start.xml | ||
quote-literals.xsl | ||
release-notes.xml | ||
schemas.xml | ||
style.css | ||
troubleshooting.xml | ||
writing-nix-expressions.xml |