aboutsummaryrefslogtreecommitdiff
path: root/doc/manual/src/installation
diff options
context:
space:
mode:
Diffstat (limited to 'doc/manual/src/installation')
-rw-r--r--doc/manual/src/installation/building-source.md12
-rw-r--r--doc/manual/src/installation/env-variables.md24
-rw-r--r--doc/manual/src/installation/installation.md33
-rw-r--r--doc/manual/src/installation/installing-binary.md14
-rw-r--r--doc/manual/src/installation/installing-docker.md15
-rw-r--r--doc/manual/src/installation/installing-source.md6
-rw-r--r--doc/manual/src/installation/nix-security.md6
-rw-r--r--doc/manual/src/installation/prerequisites-source.md12
-rw-r--r--doc/manual/src/installation/supported-platforms.md10
-rw-r--r--doc/manual/src/installation/uninstall.md21
-rw-r--r--doc/manual/src/installation/upgrading.md31
11 files changed, 114 insertions, 70 deletions
diff --git a/doc/manual/src/installation/building-source.md b/doc/manual/src/installation/building-source.md
index d57f42c5a..83c645ae7 100644
--- a/doc/manual/src/installation/building-source.md
+++ b/doc/manual/src/installation/building-source.md
@@ -1,6 +1,13 @@
-# Building Nix from Source
+# Building Lix from Source
-After cloning Nix's Git repository, issue the following commands:
+<div class="warning">
+
+FIXME(meson): This section is outdated for meson and has been commented out. See https://git.lix.systems/lix-project/lix/issues/258
+
+</div>
+
+<!--
+After cloning Lix's Git repository, issue the following commands:
```console
$ autoreconf -vfi
@@ -29,3 +36,4 @@ Nix keeps its *store* (the place where packages are stored) in
Nix keeps state (such as its database and log files) in `/nix/var` by
default. This can be changed using `--localstatedir=path`.
+-->
diff --git a/doc/manual/src/installation/env-variables.md b/doc/manual/src/installation/env-variables.md
index db98f52ff..fb6f02e41 100644
--- a/doc/manual/src/installation/env-variables.md
+++ b/doc/manual/src/installation/env-variables.md
@@ -1,6 +1,6 @@
# Environment Variables
-To use Nix, some environment variables should be set. In particular,
+To use Lix, some environment variables should be set. In particular,
`PATH` should contain the directories `prefix/bin` and
`~/.nix-profile/bin`. The first directory contains the Nix tools
themselves, while `~/.nix-profile` is a symbolic link to the current
@@ -16,20 +16,30 @@ source prefix/etc/profile.d/nix.sh
# `NIX_SSL_CERT_FILE`
+<div class="warning">
+
+FIXME(Lix): This section is undoubtedly wrong due to the Lix installer being replaced. The definitely-wrong install section has been commented out.
+
+</div>
+
If you need to specify a custom certificate bundle to account for an
HTTPS-intercepting man in the middle proxy, you must specify the path to
the certificate bundle in the environment variable `NIX_SSL_CERT_FILE`.
-If you don't specify a `NIX_SSL_CERT_FILE` manually, Nix will install
+If you don't specify a `NIX_SSL_CERT_FILE` manually, Lix will install
and use its own certificate bundle.
-Set the environment variable and install Nix
+<!--
+
+Set the environment variable and install Lix
```console
$ export NIX_SSL_CERT_FILE=/etc/ssl/my-certificate-bundle.crt
$ curl -L https://nixos.org/nix/install | sh
```
+-->
+
In the shell profile and rc files (for example, `/etc/bashrc`,
`/etc/zshrc`), add the following line:
@@ -39,10 +49,10 @@ export NIX_SSL_CERT_FILE=/etc/ssl/my-certificate-bundle.crt
> **Note**
>
-> You must not add the export and then do the install, as the Nix
+> You must not add the export and then do the install, as the Lix
> installer will detect the presence of Nix configuration, and abort.
-If you use the Nix daemon, you should also add the following to
+If you use the Lix daemon, you should also add the following to
`/etc/nix/nix.conf`:
```
@@ -51,11 +61,11 @@ ssl-cert-file = /etc/ssl/my-certificate-bundle.crt
## Proxy Environment Variables
-The Nix installer has special handling for these proxy-related
+The Lix installer has special handling for these proxy-related
environment variables: `http_proxy`, `https_proxy`, `ftp_proxy`,
`no_proxy`, `HTTP_PROXY`, `HTTPS_PROXY`, `FTP_PROXY`, `NO_PROXY`.
-If any of these variables are set when running the Nix installer, then
+If any of these variables are set when running the Lix installer, then
the installer will create an override file at
`/etc/systemd/system/nix-daemon.service.d/override.conf` so `nix-daemon`
will use them.
diff --git a/doc/manual/src/installation/installation.md b/doc/manual/src/installation/installation.md
index dafdeb667..d05445eab 100644
--- a/doc/manual/src/installation/installation.md
+++ b/doc/manual/src/installation/installation.md
@@ -1,38 +1,15 @@
# Installation
-This section describes how to install and configure Nix for first-time use.
+See https://lix.systems/install/ for more details.
-The current recommended option on Linux and MacOS is [multi-user](#multi-user).
+<!--
-## Multi-user
-
-This installation offers better sharing, improved isolation, and more security
-over a single user installation.
-
-This option requires either:
-
-* Linux running systemd, with SELinux disabled
-* MacOS
-
-```console
-$ bash <(curl -L https://nixos.org/nix/install) --daemon
-```
-
-## Single-user
-
-> Single-user is not supported on Mac.
-
-This installation has less requirements than the multi-user install, however it
-cannot offer equivalent sharing, isolation, or security.
-
-This option is suitable for systems without systemd.
-
-```console
-$ bash <(curl -L https://nixos.org/nix/install) --no-daemon
-```
+FIXME(Lix): Distributions section is probably good but is definitely outdated as of this writing given nobody has packaged Lix yet (2024-05-05)
## Distributions
The Nix community maintains installers for several distributions.
They can be found in the [`nix-community/nix-installers`](https://github.com/nix-community/nix-installers) repository.
+
+-->
diff --git a/doc/manual/src/installation/installing-binary.md b/doc/manual/src/installation/installing-binary.md
index ffabb250a..c2edc0dc2 100644
--- a/doc/manual/src/installation/installing-binary.md
+++ b/doc/manual/src/installation/installing-binary.md
@@ -1,5 +1,11 @@
# Installing a Binary Distribution
+See https://lix.systems/install/ for more details.
+
+<!--
+
+FIXME(Lix): There are a bunch of technical details on *how* nix is installed in here that we want to keep but it would need serious rewriting.
+
The easiest way to install Nix is to run the following command:
```console
@@ -81,7 +87,7 @@ extension. The installer will also create `/etc/profile.d/nix.sh`.
# macOS Installation
[]{#sect-macos-installation-change-store-prefix}[]{#sect-macos-installation-encrypted-volume}[]{#sect-macos-installation-symlink}[]{#sect-macos-installation-recommended-notes}
-<!-- Note: anchors above to catch permalinks to old explanations -->
+<!~~ Note: anchors above to catch permalinks to old explanations ~~>
We believe we have ironed out how to cleanly support the read-only root
on modern macOS. New installs will do this automatically.
@@ -101,7 +107,7 @@ this to run the installer, but it may help if you run into trouble:
- `nobrowse`: prevent the Nix Store volume from showing up on your
desktop; also keeps Spotlight from spending resources to index
this volume
- <!-- TODO:
+ <!~~ TODO:
- `suid`: honor setuid? surely not? ...
- `owners`: honor file ownership on the volume
@@ -117,7 +123,7 @@ this to run the installer, but it may help if you run into trouble:
new reports from coming in. But I hesitate to celebrate because we
haven't really named and catalogued the behavior, understood what
we're fixing, and validated that all 3 components are essential.
- -->
+ ~~>
- if you have FileVault enabled
- generate an encryption password
- put it in your system Keychain
@@ -156,3 +162,5 @@ $ ./install
If you need to edit the multi-user installation script to use different
group ID or a different user ID range, modify the variables set in the
file named `install-multi-user`.
+
+-->
diff --git a/doc/manual/src/installation/installing-docker.md b/doc/manual/src/installation/installing-docker.md
index 9d6d8f2d9..2d7701024 100644
--- a/doc/manual/src/installation/installing-docker.md
+++ b/doc/manual/src/installation/installing-docker.md
@@ -1,6 +1,10 @@
-# Using Nix within Docker
+# Using Lix within Docker
-To run the latest stable release of Nix with Docker run the following command:
+Currently the Lix project doesn't ship docker images. However, we have the infrastructure to do it, it's just not yet been done. See https://git.lix.systems/lix-project/lix/issues/252
+
+<!--
+
+To run the latest stable release of Lix with Docker run the following command:
```console
$ docker run -ti nixos/nix
@@ -16,7 +20,7 @@ nix (Nix) 2.3.12
35ca4ada6e96:/# exit
```
-# What is included in Nix's Docker image?
+# What is included in Lix's Docker image?
The official Docker image is created using `pkgs.dockerTools.buildLayeredImage`
(and not with `Dockerfile` as it is usual with Docker images). You can still
@@ -24,7 +28,7 @@ base your custom Docker image on it as you would do with any other Docker
image.
The Docker image is also not based on any other image and includes minimal set
-of runtime dependencies that are required to use Nix:
+of runtime dependencies that are required to use Lix:
- pkgs.nix
- pkgs.bashInteractive
@@ -40,7 +44,7 @@ of runtime dependencies that are required to use Nix:
- pkgs.cacert.out
- pkgs.findutils
-# Docker image with the latest development version of Nix
+# Docker image with the latest development version of Lix
To get the latest image that was built by [Hydra](https://hydra.nixos.org) run
the following command:
@@ -57,3 +61,4 @@ $ nix build ./\#hydraJobs.dockerImage.x86_64-linux
$ docker load -i ./result/image.tar.gz
$ docker run -ti nix:2.5pre20211105
```
+-->
diff --git a/doc/manual/src/installation/installing-source.md b/doc/manual/src/installation/installing-source.md
index 09b4e4887..06d070610 100644
--- a/doc/manual/src/installation/installing-source.md
+++ b/doc/manual/src/installation/installing-source.md
@@ -1,4 +1,4 @@
-# Installing Nix from Source
+# Installing Lix from Source
-If no binary package is available or if you want to hack on Nix, you
-can build Nix from its Git repository.
+If no binary package is available or if you want to hack on Lix, you
+can build Lix from its Git repository.
diff --git a/doc/manual/src/installation/nix-security.md b/doc/manual/src/installation/nix-security.md
index 1e9036b68..d5ae7535d 100644
--- a/doc/manual/src/installation/nix-security.md
+++ b/doc/manual/src/installation/nix-security.md
@@ -1,15 +1,15 @@
# Security
-Nix has two basic security models. First, it can be used in “single-user
+Lix has two basic security models. First, it can be used in “single-user
mode”, which is similar to what most other package management tools do:
there is a single user (typically root) who performs all package
management operations. All other users can then use the installed
packages, but they cannot perform package management operations
themselves.
-Alternatively, you can configure Nix in “multi-user mode”. In this
+Alternatively, you can configure Lix in “multi-user mode”. In this
model, all users can perform package management operations — for
instance, every user can install software without requiring root
-privileges. Nix ensures that this is secure. For instance, it’s not
+privileges. Lix ensures that this is secure. For instance, it’s not
possible for one user to overwrite a package used by another user with a
Trojan horse.
diff --git a/doc/manual/src/installation/prerequisites-source.md b/doc/manual/src/installation/prerequisites-source.md
index d4babf1ea..8584f295a 100644
--- a/doc/manual/src/installation/prerequisites-source.md
+++ b/doc/manual/src/installation/prerequisites-source.md
@@ -1,5 +1,15 @@
# Prerequisites
+<div class="warning">
+
+FIXME(meson): This section is very wrong with respect to meson and we have commented it out.
+We are sorry.
+The most current alternative to this section is to read `package.nix` and see which things are being depended on.
+
+</div>
+
+<!--
+
- GNU Autoconf (<https://www.gnu.org/software/autoconf/>) and the
autoconf-archive macro collection
(<https://www.gnu.org/software/autoconf-archive/>). These are
@@ -76,3 +86,5 @@
RapidCheck are required, which are available at
<https://google.github.io/googletest/> and
<https://github.com/emil-e/rapidcheck> respectively.
+
+-->
diff --git a/doc/manual/src/installation/supported-platforms.md b/doc/manual/src/installation/supported-platforms.md
index 8ca3ce8d4..3b07ce48a 100644
--- a/doc/manual/src/installation/supported-platforms.md
+++ b/doc/manual/src/installation/supported-platforms.md
@@ -1,7 +1,11 @@
# Supported Platforms
-Nix is currently supported on the following platforms:
+Lix is currently supported on the following platforms:
- - Linux (i686, x86\_64, aarch64).
+ - Linux (i686 (tier 2), x86\_64 (tier 1), aarch64 (tier 1)).
- - macOS (x86\_64, aarch64).
+ - macOS (x86\_64 (tier 2 [(issue to make tier 1)](https://git.lix.systems/lix-project/lix/issues/269)), aarch64 (tier 1)).
+
+
+Tier 2 platforms aren't checked in CI, so may break without notice; such breakage *is* however considered a bug.
+We would like for them to work but they are a secondary priority.
diff --git a/doc/manual/src/installation/uninstall.md b/doc/manual/src/installation/uninstall.md
index 06dab6cdb..5fb8b56e4 100644
--- a/doc/manual/src/installation/uninstall.md
+++ b/doc/manual/src/installation/uninstall.md
@@ -1,8 +1,18 @@
-# Uninstalling Nix
+# Uninstalling Lix
+
+<div class="warning">
+
+FIXME(Lix): This section is outdated and commented out due to the Lix installer being replaced such that it has an actual uninstaller.
+
+See https://git.lix.systems/lix-project/lix-installer#uninstalling for up-to-date uninstallation instructions using the installer.
+
+</div>
+
+<!--
## Single User
-If you have a [single-user installation](./installing-binary.md#single-user-installation) of Nix, uninstall it by running:
+If you have a [single-user installation](./installing-binary.md#single-user-installation) of Lix, uninstall it by running:
```console
$ rm -rf /nix
@@ -10,7 +20,7 @@ $ rm -rf /nix
## Multi User
-Removing a [multi-user installation](./installing-binary.md#multi-user-installation) of Nix is more involved, and depends on the operating system.
+Removing a [multi-user installation](./installing-binary.md#multi-user-installation) of Lix is more involved, and depends on the operating system.
### Linux
@@ -24,7 +34,7 @@ If you are on Linux with systemd:
sudo systemctl daemon-reload
```
-Remove files created by Nix:
+Remove files created by Lix:
```console
sudo rm -rf /etc/nix /etc/profile.d/nix.sh /etc/tmpfiles.d/nix-daemon.conf /nix ~root/.nix-channels ~root/.nix-defexpr ~root/.nix-profile
@@ -39,7 +49,7 @@ done
sudo groupdel nixbld
```
-There may also be references to Nix in
+There may also be references to Lix in
- `/etc/bash.bashrc`
- `/etc/bashrc`
@@ -145,3 +155,4 @@ which you may remove.
> complete. macOS (Catalina+) directly controls root directories and its
> read-only root will prevent you from manually deleting the empty `/nix`
> mountpoint.
+-->
diff --git a/doc/manual/src/installation/upgrading.md b/doc/manual/src/installation/upgrading.md
index 6d09f54d8..2cdbf9683 100644
--- a/doc/manual/src/installation/upgrading.md
+++ b/doc/manual/src/installation/upgrading.md
@@ -1,14 +1,23 @@
-# Upgrading Nix
+# Upgrading Lix
-Multi-user Nix users on macOS can upgrade Nix by running: `sudo -i sh -c
-'nix-channel --update &&
-nix-env --install --attr nixpkgs.nix &&
-launchctl remove org.nixos.nix-daemon &&
-launchctl load /Library/LaunchDaemons/org.nixos.nix-daemon.plist'`
+<div class="warning">
-Single-user installations of Nix should run this: `nix-channel --update;
-nix-env --install --attr nixpkgs.nix nixpkgs.cacert`
+FIXME(Lix): does Lix forward to the installer for `nix upgrade-nix`? Should it, if present? Lix *should* restart the daemon for you [but currently doesn't (issue)](https://git.lix.systems/lix-project/lix/issues/267).
-Multi-user Nix users on Linux should run this with sudo: `nix-channel
---update; nix-env --install --attr nixpkgs.nix nixpkgs.cacert; systemctl
-daemon-reload; systemctl restart nix-daemon`
+</div>
+
+**For instructions to switch to Lix**, see <https://lix.systems/install>.
+
+Lix may be upgraded by running `nix upgrade-nix` and then restarting the Nix daemon.
+
+## Restarting daemon on Linux
+
+`sudo systemctl daemon-reload && sudo systemctl restart nix-daemon`
+
+## Restarting daemon on macOS
+
+<div class="warning">
+
+FIXME(Lix): Write instructions that, according to the [beta installation guide](https://wiki.lix.systems/link/1) do not sometimes crash macOS (?!)
+
+</div>