From 703d863a48f549b2626382eda407ffae779f8725 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 7 Dec 2022 12:58:58 +0100 Subject: Trivial changes from the lazy-trees branch --- src/libcmd/common-eval-args.cc | 47 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) (limited to 'src/libcmd/common-eval-args.cc') diff --git a/src/libcmd/common-eval-args.cc b/src/libcmd/common-eval-args.cc index 140ed3b88..2c94d7e6c 100644 --- a/src/libcmd/common-eval-args.cc +++ b/src/libcmd/common-eval-args.cc @@ -32,7 +32,52 @@ MixEvalArgs::MixEvalArgs() addFlag({ .longName = "include", .shortName = 'I', - .description = "Add *path* to the list of locations used to look up `<...>` file names.", + .description = R"( + Add *path* to the Nix search path. The Nix search path is + initialized from the colon-separated `NIX_PATH` environment + variable, and is used to look up Nix expressions enclosed in angle + brackets (i.e., ``). For instance, if the Nix search path + consists of the entries + + ``` + /home/eelco/Dev + /etc/nixos + ``` + + Nix will look for paths relative to `/home/eelco/Dev` and + `/etc/nixos`, in this order. It is also possible to match paths + against a prefix. For example, the search path + + ``` + nixpkgs=/home/eelco/Dev/nixpkgs-branch + /etc/nixos + ``` + + will cause Nix to search for `` in + `/home/eelco/Dev/nixpkgs-branch/path` and `/etc/nixos/nixpkgs/path`. + + If a path in the Nix search path starts with `http://` or `https://`, + it is interpreted as the URL of a tarball that will be downloaded and + unpacked to a temporary location. The tarball must consist of a single + top-level directory. For example, setting `NIX_PATH` to + + ``` + nixpkgs=https://github.com/NixOS/nixpkgs/archive/master.tar.gz + ``` + + tells Nix to download and use the current contents of the `master` + branch in the `nixpkgs` repository. + + The URLs of the tarballs from the official `nixos.org` channels + (see [the manual page for `nix-channel`](nix-channel.md)) can be + abbreviated as `channel:`. For instance, the + following two values of `NIX_PATH` are equivalent: + + ``` + nixpkgs=channel:nixos-21.05 + nixpkgs=https://nixos.org/channels/nixos-21.05/nixexprs.tar.xz + ``` + )", .category = category, .labels = {"path"}, .handler = {[&](std::string s) { searchPath.push_back(s); }} -- cgit v1.2.3 From 037d5c4299354508cd33c0c5e5c382d7dd2431e4 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 12 Dec 2022 12:43:44 +0100 Subject: Manual improvements Co-authored-by: Valentin Gagarin --- src/libcmd/common-eval-args.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/libcmd/common-eval-args.cc') diff --git a/src/libcmd/common-eval-args.cc b/src/libcmd/common-eval-args.cc index 2c94d7e6c..53595cea6 100644 --- a/src/libcmd/common-eval-args.cc +++ b/src/libcmd/common-eval-args.cc @@ -34,8 +34,8 @@ MixEvalArgs::MixEvalArgs() .shortName = 'I', .description = R"( Add *path* to the Nix search path. The Nix search path is - initialized from the colon-separated `NIX_PATH` environment - variable, and is used to look up Nix expressions enclosed in angle + initialized from the colon-separated [`NIX_PATH`](./env-common.md#env-NIX_PATH) environment + variable, and is used to look up the location of Nix expressions using [paths](../language/values.md#type-path) enclosed in angle brackets (i.e., ``). For instance, if the Nix search path consists of the entries -- cgit v1.2.3 From e558e089badf2592d1e4540b2fc884a8001a7c06 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 12 Dec 2022 12:51:23 +0100 Subject: -I description: Use -I examples --- src/libcmd/common-eval-args.cc | 36 ++++++++++++++++++++++-------------- 1 file changed, 22 insertions(+), 14 deletions(-) (limited to 'src/libcmd/common-eval-args.cc') diff --git a/src/libcmd/common-eval-args.cc b/src/libcmd/common-eval-args.cc index 53595cea6..dc0de4b9f 100644 --- a/src/libcmd/common-eval-args.cc +++ b/src/libcmd/common-eval-args.cc @@ -36,21 +36,29 @@ MixEvalArgs::MixEvalArgs() Add *path* to the Nix search path. The Nix search path is initialized from the colon-separated [`NIX_PATH`](./env-common.md#env-NIX_PATH) environment variable, and is used to look up the location of Nix expressions using [paths](../language/values.md#type-path) enclosed in angle - brackets (i.e., ``). For instance, if the Nix search path - consists of the entries + brackets (i.e., ``). + + For instance, passing + + ``` + -I /home/eelco/Dev + -I /etc/nixos + ``` + + will cause Nix to look for paths relative to `/home/eelco/Dev` and + `/etc/nixos`, in that order. This is equivalent to setting the + `NIX_PATH` environment variable to ``` - /home/eelco/Dev - /etc/nixos + /home/eelco/Dev:/etc/nixos ``` - Nix will look for paths relative to `/home/eelco/Dev` and - `/etc/nixos`, in this order. It is also possible to match paths - against a prefix. For example, the search path + It is also possible to match paths against a prefix. For example, + passing ``` - nixpkgs=/home/eelco/Dev/nixpkgs-branch - /etc/nixos + -I nixpkgs=/home/eelco/Dev/nixpkgs-branch + -I /etc/nixos ``` will cause Nix to search for `` in @@ -59,10 +67,10 @@ MixEvalArgs::MixEvalArgs() If a path in the Nix search path starts with `http://` or `https://`, it is interpreted as the URL of a tarball that will be downloaded and unpacked to a temporary location. The tarball must consist of a single - top-level directory. For example, setting `NIX_PATH` to + top-level directory. For example, passing ``` - nixpkgs=https://github.com/NixOS/nixpkgs/archive/master.tar.gz + -I nixpkgs=https://github.com/NixOS/nixpkgs/archive/master.tar.gz ``` tells Nix to download and use the current contents of the `master` @@ -71,11 +79,11 @@ MixEvalArgs::MixEvalArgs() The URLs of the tarballs from the official `nixos.org` channels (see [the manual page for `nix-channel`](nix-channel.md)) can be abbreviated as `channel:`. For instance, the - following two values of `NIX_PATH` are equivalent: + following two flags are equivalent: ``` - nixpkgs=channel:nixos-21.05 - nixpkgs=https://nixos.org/channels/nixos-21.05/nixexprs.tar.xz + -I nixpkgs=channel:nixos-21.05 + -I nixpkgs=https://nixos.org/channels/nixos-21.05/nixexprs.tar.xz ``` )", .category = category, -- cgit v1.2.3