Commit graph

2376 commits

Author SHA1 Message Date
Eelco Dolstra
6ca9c7f0a9 * Finished GNU Hello walkthrough. 2004-11-05 13:10:08 +00:00
Eelco Dolstra
8b934694f2 * Manual: writing Nix expressions. 2004-11-04 20:21:08 +00:00
Eelco Dolstra
5f2c5a306c * chapter -> appendix. 2004-11-02 08:25:29 +00:00
Eelco Dolstra
0913f5a615 * Section about channels. 2004-11-01 16:21:37 +00:00
Eelco Dolstra
ee5dcfade2 * Section about garbage collection. 2004-11-01 16:03:35 +00:00
Eelco Dolstra
cbe8de592d * Profiles section. 2004-11-01 12:02:44 +00:00
Eelco Dolstra
b05a596d61 * Document setuid Nix installs. 2004-10-31 17:08:48 +00:00
Eelco Dolstra
0d80d237c5 * Add figures to make install' / make dist'. 2004-10-31 16:13:25 +00:00
Eelco Dolstra
f8ac8d1ec8 * Began adding build farm docs. 2004-10-29 15:26:26 +00:00
Eelco Dolstra
37d7abd694 * New language feature: with expressions.
The expression `with E1; E2' evaluates to E2 with all bindings in
  the attribute set E1 substituted.  E.g.,

    with {x = 123;}; x

  evaluates to 123.  That is, the attribute set E1 is in scope in E2.

  This is particularly useful when importing files containing lots
  definitions.  E.g., instead of

    let {
      inherit (import ./foo.nix) a b c d e f;

      body = ... a ... f ...;
    }

  we can now say

    with import ./foo.nix;

    ... a ... f ...

  I.e., we don't have to say what variables should be brought into scope.
2004-10-25 16:54:56 +00:00
Eelco Dolstra
2cd590d96c * Instead of — use the actual Unicode character. By the way, to
edit the manual, you should have something like

    (modify-coding-system-alist 'file "\\.xml\\>" 'utf-8)

  in your ~/.emacs.
2004-10-18 12:22:14 +00:00
Eelco Dolstra
692204e0c5 * Rewrite of package management stuff. 2004-10-14 16:43:09 +00:00
Eelco Dolstra
febd8bed1b * Split overview chapter into a chapter on package management and a
chapter on writing Nix expressions.
2004-10-14 11:55:12 +00:00
Eelco Dolstra
98c69e5172 * Unindent. 2004-10-14 11:54:41 +00:00
Eelco Dolstra
371c57d8a7 * Updated the quick start section. Use channels instead of
downloading Nix expressions and calling nix-pull.  This is so
  user-friendly that even a Mac user can do it! :-)
2004-10-13 15:35:47 +00:00
Eelco Dolstra
2b20701f78 * Better introduction.
* Set notes in a different color than warnings.
2004-10-13 15:08:35 +00:00
Eelco Dolstra
5396304c73 * Use setre[ug]id() instead of setres[ug]id(), since the former is
more common than the latter (which exists only on Linux and
  FreeBSD).  We don't really care about dropping the saved IDs since
  there apparently is no way to quiry them in any case, so it can't
  influence the build (unlike the effective IDs which are checked by
  Perl for instance).
2004-09-09 15:55:31 +00:00
Eelco Dolstra
eb233e728f * `--min-age' flag in nix-store and nix-collect-garbage to only delete
unreachable paths that haven't been used for N hours.  For instance,
  `nix-collect-garbage --min-age 168' only deletes paths that haven't
  been accessed in the last week.

  This is useful for instance in the build farm where many derivations
  can be shared between consecutive builds, and we wouldn't want a
  garbage collect to throw them all away.  We could of course register
  them as roots, but then we'd to unregister them at some point, which
  would be a pain to manage.  The `--min-age' flag gives us a sort of
  MRU caching scheme.

  BUG: this really shouldn't be in gc.cc since that violates
  mechanism/policy separation.
2004-08-25 16:54:08 +00:00
Eelco Dolstra
fdec72c6cc * `nix-collect-garbage' now actually performs a garbage collection, it
doesn't just print the set of paths that should be deleted.  So
  there is no more need to pipe the result into `nix-store --delete'
  (which doesn't even exist anymore).
2004-08-25 15:39:13 +00:00
Eelco Dolstra
1eddee59f2 * The default verbosity level of all Nix commands is now lvlInfo.
* Builder output is written to standard error by default.
  * The option `-B' is gone.
  * The option `-Q' suppresses builder output.

The result of this is that most Nix invocations shouldn't need any
flags w.r.t. logging.
2004-08-18 12:19:06 +00:00
Eelco Dolstra
151e61fa5a * By default, `nix-env -i' now deletes previously installed
derivations with names matching the derivations being installed.
  The option `--preserve-installed / -P' overrides this behaviour.
2004-06-28 14:40:26 +00:00
Eelco Dolstra
24286e15c9 * `nix-env -u' now allows a specific version to be specified when
upgrading.

  This fixes a bug reported by Martin:

    $ nix-env -i foo-1.0
    $ nix-env -u foo-1.0
    upgrading foo-1.0 to foo-1.1
2004-06-28 13:37:05 +00:00
Eelco Dolstra
91dc023665 * Added a switch `--fallback'. From the manual:
Whenever Nix attempts to realise a derivation for which a closure is
  already known, but this closure cannot be realised, fall back on
  normalising the derivation.

  The most common scenario in which this is useful is when we have
  registered substitutes in order to perform binary distribution from,
  say, a network repository.  If the repository is down, the
  realisation of the derivation will fail.  When this option is
  specified, Nix will build the derivation instead.  Thus, binary
  installation falls back on a source installation.  This option is
  not the default since it is generally not desirable for a transient
  failure in obtaining the substitutes to lead to a full build from
  source (with the related consumption of resources).
2004-06-28 10:42:57 +00:00
Eelco Dolstra
b113edeab7 * A flag `--keep-going / -k' to keep building goals if one fails, as
much as possible.  (This is similar to GNU Make's `-k' flag.)

* Refactoring to implement this: previously we just bombed out when
  a build failed, but now we have to clean up.  In particular this
  means that goals must be freed quickly --- they shouldn't hang
  around until the worker exits.  So the worker now maintains weak
  pointers in order not to prevent garbage collection.

* Documented the `-k' and `-j' flags.
2004-06-25 15:36:09 +00:00
Eelco Dolstra
87bf541f23 * Documented the primops. 2004-04-08 15:51:26 +00:00
Eelco Dolstra
b0c9baf1b5 * EBNF grammar for the Nix expression language. 2004-04-08 13:31:57 +00:00
Eelco Dolstra
92e832348d * Lots of manual stuff. Reference pages for most Nix commands.
* nix-pull now requires the full url to the manifest, i.e.,
  `/MANIFEST/' is no longer automatically appended.
* nix-prefetch-url works again.
2004-02-10 16:14:47 +00:00
Eelco Dolstra
0616b7feea * Documented the most important nix-env flags. 2004-02-10 11:51:16 +00:00
Eelco Dolstra
66e94d3275 * Improvements to profiles. Generations are now per-profile, e.g.,
default -> default-94-link
  default-82-link -> /nix/store/cc4480...
  default-83-link -> /nix/store/caeec8...
  ...
  default-94-link -> /nix/store/2896ca...
  experimental -> experimental-2-link
  experimental-1-link -> /nix/store/cc4480...
  experimental-2-link -> /nix/store/a3148f...

* `--profile' / `-p' -> `--switch-profile' / `-S'
* `--link' / `-l' -> `--profile' / `-p'
* The default profile is stored in $prefix/var/nix/profiles.
  $prefix/var/nix/links is gone.  Profiles can be stored anywhere.
* The current profile is now referenced from ~/.nix-profile, not
  ~/.nix-userenv.
* The roots to the garbage collector now have extension `.gcroot', not
  `.id'.
2004-02-06 10:30:20 +00:00
Eelco Dolstra
d9f30fe7c7 * Sort `nix-env -q' output by derivation name.
* `--version' flag for all commands.
* Manual updates.
2004-02-02 10:51:54 +00:00
Eelco Dolstra
c625718513 * Detect flex and bison; updated the manual. 2004-01-30 16:32:14 +00:00
Eelco Dolstra
cdb50886f4 * Typos. 2004-01-22 09:35:35 +00:00
Eelco Dolstra
3c4bc7276a * Added a note about adding /nix/etc/profile.d/nix.sh to the profile. 2004-01-22 09:17:55 +00:00
Martin Bravenboer
4f72b408a5 Typos and url losser -> catamaran 2004-01-22 08:47:59 +00:00
Eelco Dolstra
4db7ef3fcc * Fixed URL. 2004-01-20 17:18:41 +00:00
Eelco Dolstra
3778586b2a * Nix Quick Start guide. 2004-01-20 15:37:55 +00:00
Eelco Dolstra
8baf50f108 * Manual updates.
* Updated the README.  Now it just refers to the manual.
2004-01-20 11:49:32 +00:00
Eelco Dolstra
ff9af107d3 * Option `-B' to always show the output of builders, regardless of
verbosity level.
2004-01-13 16:35:43 +00:00
Eelco Dolstra
46a71c857c * Option --force-realise' in nix-store --query'. 2004-01-09 14:18:28 +00:00
Eelco Dolstra
30b31a8f61 * Start of nix-env reference.
* Some CSS tweaks.
2004-01-08 16:56:40 +00:00
Eelco Dolstra
b594215531 * Manual updates. 2004-01-08 15:01:37 +00:00
Eelco Dolstra
5346536b62 * Include version number in manual. 2004-01-08 10:45:23 +00:00
Eelco Dolstra
abe8c8c2aa * Include images/ in distribution. 2004-01-07 10:59:38 +00:00
Eelco Dolstra
1ff986d51a * book -> manual 2004-01-06 16:38:32 +00:00
Eelco Dolstra
2f0b93904b * Install images. 2004-01-06 16:35:07 +00:00
Eelco Dolstra
94175e978a * RPM spec file.
* Respect DESTDIR variable.
2003-12-30 20:09:00 +00:00
Eelco Dolstra
0a753e182a * Oops. 2003-12-21 22:02:58 +00:00
Eelco Dolstra
df7a718786 * Man pages in sections. 2003-12-21 21:57:09 +00:00
Eelco Dolstra
00d4f907e1 * Get rid of the icons in warnings etc. 2003-12-03 09:33:03 +00:00
Eelco Dolstra
31fd72ee17 * Epigraph ;-) 2003-12-02 16:29:41 +00:00
Eelco Dolstra
16d971bce7 * A nice stylesheet for the manual. 2003-12-02 15:36:49 +00:00
Eelco Dolstra
905d5b91fa * Manual fixes (thanks to Merijn). 2003-12-01 14:52:51 +00:00
Eelco Dolstra
dc05f29cf6 * Manual updates. 2003-11-27 14:58:32 +00:00
Eelco Dolstra
7b0e29b4dc * Overview of nix-env. Recommended reading. :-) 2003-11-26 16:09:27 +00:00
Eelco Dolstra
62d9b31d0a * Updates. 2003-11-26 14:25:39 +00:00
Eelco Dolstra
f6a30ab264 * Updates. 2003-11-26 12:30:16 +00:00
Eelco Dolstra
2a4bac5459 * Refactoring.
* Convert tabs to spaces.
2003-11-26 11:24:13 +00:00
Eelco Dolstra
bd0ce1a4be * Minor fix. 2003-11-26 10:47:54 +00:00
Eelco Dolstra
c38ba181ed * Configure flags to specify the location of the DocBook DTD / stylesheets. 2003-11-26 10:41:21 +00:00
Eelco Dolstra
6d5877ea12 * Use --nonet flag to prevent fetching of DTD. 2003-11-25 13:43:48 +00:00
Eelco Dolstra
12e805cfb0 * Don't hardcode the path to the DocBook DTD/stylesheets. 2003-11-25 13:06:12 +00:00
Eelco Dolstra
56b98c3857 * Some work on the introduction. 2003-08-22 11:29:20 +00:00
Eelco Dolstra
2de8504791 * Delete the temporary directories of failed builds by default, and an
option `--keep-failed' to override this behaviour.
2003-08-19 09:04:47 +00:00
Eelco Dolstra
161aab582b * Use a catalog when calling xsltproc. 2003-08-14 18:24:40 +00:00
Eelco Dolstra
a24cb19361 * Use xmllint instead of nsgmls to validate the manual. 2003-08-14 18:17:02 +00:00
Eelco Dolstra
2e16ff22ac * Fix man page. 2003-08-14 11:27:02 +00:00
Eelco Dolstra
95b49f8044 * Manual updates. 2003-08-13 15:17:57 +00:00
Eelco Dolstra
68022552d2 * Put the pre-built manual and man pages in the tar distribution. 2003-08-13 15:17:36 +00:00
Eelco Dolstra
c34a153ae5 * Documented the `--query' operation. 2003-08-13 10:45:01 +00:00
Eelco Dolstra
b4f88d0ec3 * Split the book.xml into several xml files. 2003-08-13 09:13:52 +00:00
Eelco Dolstra
469f1eba56 * Documented some Nix operations. 2003-08-12 15:06:49 +00:00
Eelco Dolstra
e405ca506e * Generate man pages from the manual. 2003-08-12 13:54:42 +00:00
Eelco Dolstra
4b7b0bd12c * Started on the introduction. 2003-08-07 15:27:14 +00:00
Eelco Dolstra
74867e72f2 * Start of manual; installation instructions. 2003-08-07 14:17:18 +00:00
Eelco Dolstra
9f4c19276d * Basic makefile. 2003-07-31 13:13:13 +00:00
Eelco Dolstra
64c617e984 * Directories for the manual. 2003-07-30 14:40:18 +00:00