nixpkgs manual introduction: improve

- make line wrapping more consistent (overlong lines)
- don't stress the manual is *only* for contributors,
  as it does contain some user-guide parts, including the intro itself
- since March our Hydra publishes binaries immediately,
  not waiting for channel update
This commit is contained in:
Vladimír Čunát 2016-04-05 09:56:32 +02:00
parent d2ef7ab10f
commit 2bbae9696a

View File

@ -6,13 +6,14 @@ date: 2015-11-25
# Introduction # Introduction
The Nix Packages collection (Nixpkgs) is a set of over 30,000 packages for the The Nix Packages collection (Nixpkgs) is a set of thousands of packages for the
[Nix package manager](http://nixos.org/nix/), released under a [permissive MIT/X11 license](https://github.com/NixOS/nixpkgs/blob/master/COPYING). [Nix package manager](http://nixos.org/nix/), released under a
Packages are available for several architectures, and can be used with the Nix package manager [permissive MIT/X11 license](https://github.com/NixOS/nixpkgs/blob/master/COPYING).
on most GNU/Linux distributions as well as NixOS. Packages are available for several platforms, and can be used with the Nix
package manager on most GNU/Linux distributions as well as NixOS.
This manual describes how to write packages for the Nix Packages collection This manual primarily describes how to write packages for the Nix Packages collection
(Nixpkgs). Thus its for packagers and developers who want to add packages to (Nixpkgs). Thus its mainly for packagers and developers who want to add packages to
Nixpkgs. If you like to learn more about the Nix package manager and the Nix Nixpkgs. If you like to learn more about the Nix package manager and the Nix
expression language, then you are kindly referred to the [Nix manual](http://nixos.org/nix/manual/). expression language, then you are kindly referred to the [Nix manual](http://nixos.org/nix/manual/).
@ -20,29 +21,33 @@ expression language, then you are kindly referred to the [Nix manual](http://nix
Nix expressions describe how to build packages from source and are collected in Nix expressions describe how to build packages from source and are collected in
the [nixpkgs repository](https://github.com/NixOS/nixpkgs). Also included in the the [nixpkgs repository](https://github.com/NixOS/nixpkgs). Also included in the
collection are Nix expressions for [NixOS modules](http://nixos.org/nixos/manual/index.html#sec-writing-modules). With collection are Nix expressions for
these expressions the Nix package manager can build binary packages. [NixOS modules](http://nixos.org/nixos/manual/index.html#sec-writing-modules).
With these expressions the Nix package manager can build binary packages.
Packages, including the Nix packages collection, are distributed through Packages, including the Nix packages collection, are distributed through
[channels](http://nixos.org/nix/manual/#sec-channels). The collection is [channels](http://nixos.org/nix/manual/#sec-channels). The collection is
distributed for users of Nix on non-NixOS distributions through the channel distributed for users of Nix on non-NixOS distributions through the channel
`nixpkgs`. Users of NixOS generally use one of the `nixos-*` channels, e.g. `nixpkgs`. Users of NixOS generally use one of the `nixos-*` channels, e.g.
`nixos-15.09`, which includes all packages and modules for the stable NixOS `nixos-16.03`, which includes all packages and modules for the stable NixOS
15.09. The channels of the stable NixOS releases are generally only given 16.03. The purpose of stable NixOS releases are generally only given
security updates. More up to date packages and modules are available via the security updates. More up to date packages and modules are available via the
`nixos-unstable` channel. `nixos-unstable` channel.
Both `nixos-unstable` and `nixpkgs` follow the `master` branch of the Nixpkgs Both `nixos-unstable` and `nixpkgs` follow the `master` branch of the Nixpkgs
repository, although both do lag the `master` branch by generally [a couple of days](http://howoldis.herokuapp.com/). Updates to a channel are distributed as repository, although both do lag the `master` branch by generally
soon as all tests for that channel pass, e.g. [this table](http://hydra.nixos.org/job/nixpkgs/trunk/unstable#tabs-constituents) [a couple of days](http://howoldis.herokuapp.com/). Updates to a channel are
distributed as soon as all tests for that channel pass, e.g.
[this table](http://hydra.nixos.org/job/nixpkgs/trunk/unstable#tabs-constituents)
shows the status of tests for the `nixpkgs` channel. shows the status of tests for the `nixpkgs` channel.
The tests are conducted by a cluster called [Hydra](http://nixos.org/hydra/), The tests are conducted by a cluster called [Hydra](http://nixos.org/hydra/),
which also builds binary packages from the Nix expressions in Nixpkgs. As soon which also builds binary packages from the Nix expressions in Nixpkgs for
as a channel is updated, the binaries are made available via a [binary cache](https://cache.nixos.org). Until the channel updates, binaries that have `x86_64-linux`, `i686-linux` and `x86_64-darwin`.
already been built, are available via [Hydra's binary cache](https://hydra.nixos.org). The binaries are made available via a [binary cache](https://cache.nixos.org).
The current Nix expressions of the channels are available in the The current Nix expressions of the channels are available in the
[`nixpkgs-channels`](https://github.com/NixOS/nixpkgs-channels) repository, [`nixpkgs-channels`](https://github.com/NixOS/nixpkgs-channels) repository,
which has branches corresponding to the available channels. There is also the which has branches corresponding to the available channels. There is also the
Nixpkgs Monitor which keeps track of updates and security vulnerabilities. [Nixpkgs Monitor](http://monitor.nixos.org) which keeps track of updates
and security vulnerabilities.