aboutsummaryrefslogtreecommitdiff
path: root/doc/manual/src/introduction.md
diff options
context:
space:
mode:
Diffstat (limited to 'doc/manual/src/introduction.md')
-rw-r--r--doc/manual/src/introduction.md43
1 files changed, 18 insertions, 25 deletions
diff --git a/doc/manual/src/introduction.md b/doc/manual/src/introduction.md
index 76489bc1b..9fbc429f8 100644
--- a/doc/manual/src/introduction.md
+++ b/doc/manual/src/introduction.md
@@ -1,12 +1,8 @@
# Introduction
-Nix is a _purely functional package manager_. This means that it
-treats packages like values in purely functional programming languages
-such as Haskell — they are built by functions that don’t have
-side-effects, and they never change after they have been built. Nix
-stores packages in the _Nix store_, usually the directory
-`/nix/store`, where each package has its own unique subdirectory such
-as
+Lix is an implementation of Nix, a powerful, _purely functional_ package management system.
+This means that it treats packages like values in purely functional programming languages such as Haskell — they are built by functions that don’t have side-effects, and they never change after they have been built.
+Lix stores packages in the _Nix store_, usually the directory `/nix/store`, where each package has its own unique subdirectory such as
/nix/store/b6gvzjyb2pg0kjfwrjmg1vfhh54ad73z-firefox-33.1/
@@ -31,7 +27,7 @@ used by other packages.
## Complete dependencies
-Nix helps you make sure that package dependency specifications are
+Lix helps you make sure that package dependency specifications are
complete. In general, when you’re making a package for a package
management system like RPM, you have to specify for each package what
its dependencies are, but there are no guarantees that this
@@ -40,7 +36,7 @@ package will build and work correctly on _your_ machine if you have
the dependency installed, but not on the end user's machine if it's
not there.
-Since Nix on the other hand doesn’t install packages in “global”
+Since Lix on the other hand doesn’t install packages in “global”
locations like `/usr/bin` but in package-specific directories, the
risk of incomplete dependencies is greatly reduced. This is because
tools such as compilers don’t search in per-packages directories such
@@ -54,13 +50,11 @@ This sounds risky, but it works extremely well.
## Multi-user support
-Nix has multi-user support. This means that non-privileged users can
-securely install software. Each user can have a different _profile_,
-a set of packages in the Nix store that appear in the user’s `PATH`.
-If a user installs a package that another user has already installed
-previously, the package won’t be built or downloaded a second time.
-At the same time, it is not possible for one user to inject a Trojan
-horse into a package that might be used by another user.
+Lix has multi-user support.
+This means that non-privileged users can securely install software, and it is considered a bug if users can trample on each other.
+Each user can have a different _profile_, a set of packages in the Nix store that appear in the user’s `PATH`.
+If a user installs a package that another user has already installed previously, the package won’t be built or downloaded a second time.
+At the same time, it is not possible for one user to inject a Trojan horse into a package that might be used by another user.
## Atomic upgrades and rollbacks
@@ -106,7 +100,7 @@ Packages are built from _Nix expressions_, which is a simple
functional language. A Nix expression describes everything that goes
into a package build task (a “derivation”): other packages, sources,
the build script, environment variables for the build script, etc.
-Nix tries very hard to ensure that Nix expressions are
+Lix tries very hard to ensure that Nix expressions are
_deterministic_: building a Nix expression twice should yield the same
result.
@@ -130,22 +124,21 @@ also all its dependencies (all the way up to the C library and the
compiler) would have to be built, at least if they are not already in the
Nix store. This is a _source deployment model_. For most users,
building from source is not very pleasant as it takes far too long.
-However, Nix can automatically skip building from source and instead
+However, Lix can automatically skip building from source and instead
use a _binary cache_, a web server that provides pre-built
binaries. For instance, when asked to build
-`/nix/store/b6gvzjyb2pg0…-firefox-33.1` from source, Nix would first
+`/nix/store/b6gvzjyb2pg0…-firefox-33.1` from source, Lix would first
check if the file `https://cache.nixos.org/b6gvzjyb2pg0….narinfo`
exists, and if so, fetch the pre-built binary referenced from there;
otherwise, it would fall back to building from source.
## Nix Packages collection
-We provide a large set of Nix expressions containing hundreds of
-existing Unix packages, the _Nix Packages collection_ (Nixpkgs).
+We provide a large set of Nix expressions containing tens of thousands of existing Unix packages, the _Nix Packages collection_ (Nixpkgs).
## Managing build environments
-Nix is extremely useful for developers as it makes it easy to
+Lix is extremely useful for developers as it makes it easy to
automatically set up the build environment for a package. Given a Nix
expression that describes the dependencies of your package, the
command `nix-shell` will build or download those dependencies if
@@ -174,11 +167,11 @@ the package:
## Portability
-Nix runs on Linux and macOS.
+Lix runs on Linux and macOS.
## NixOS
-NixOS is a Linux distribution based on Nix. It uses Nix not just for
+NixOS is a Linux distribution based on Nix technology. It uses Nix not just for
package management but also to manage the system configuration (e.g.,
to build configuration files in `/etc`). This means, among other
things, that it is easy to roll back the entire configuration of the
@@ -188,6 +181,6 @@ homepage](https://nixos.org/).
## License
-Nix is released under the terms of the [GNU LGPLv2.1 or (at your
+Lix is released under the terms of the [GNU LGPLv2.1 or (at your
option) any later
version](http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html).