diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/build-helpers.md | 28 | ||||
-rw-r--r-- | doc/build-helpers/fetchers.chapter.md (renamed from doc/builders/fetchers.chapter.md) | 0 | ||||
-rw-r--r-- | doc/build-helpers/images.md (renamed from doc/builders/images.md) | 0 | ||||
-rw-r--r-- | doc/build-helpers/images/appimagetools.section.md (renamed from doc/builders/images/appimagetools.section.md) | 0 | ||||
-rw-r--r-- | doc/build-helpers/images/binarycache.section.md (renamed from doc/builders/images/binarycache.section.md) | 0 | ||||
-rw-r--r-- | doc/build-helpers/images/dockertools.section.md (renamed from doc/builders/images/dockertools.section.md) | 2 | ||||
-rw-r--r-- | doc/build-helpers/images/makediskimage.section.md (renamed from doc/builders/images/makediskimage.section.md) | 0 | ||||
-rw-r--r-- | doc/build-helpers/images/ocitools.section.md (renamed from doc/builders/images/ocitools.section.md) | 0 | ||||
-rw-r--r-- | doc/build-helpers/images/portableservice.section.md (renamed from doc/builders/images/portableservice.section.md) | 0 | ||||
-rw-r--r-- | doc/build-helpers/images/snaptools.section.md (renamed from doc/builders/images/snaptools.section.md) | 0 | ||||
-rw-r--r-- | doc/build-helpers/special.md (renamed from doc/builders/special.md) | 5 | ||||
-rw-r--r-- | doc/build-helpers/special/fhs-environments.section.md (renamed from doc/builders/special/fhs-environments.section.md) | 0 | ||||
-rw-r--r-- | doc/build-helpers/special/makesetuphook.section.md (renamed from doc/builders/special/makesetuphook.section.md) | 2 | ||||
-rw-r--r-- | doc/build-helpers/special/mkshell.section.md (renamed from doc/builders/special/mkshell.section.md) | 0 | ||||
-rw-r--r-- | doc/build-helpers/special/vm-tools.section.md (renamed from doc/builders/special/vm-tools.section.md) | 0 | ||||
-rw-r--r-- | doc/build-helpers/testers.chapter.md (renamed from doc/builders/testers.chapter.md) | 0 | ||||
-rw-r--r-- | doc/build-helpers/trivial-build-helpers.chapter.md (renamed from doc/builders/trivial-builders.chapter.md) | 2 | ||||
-rw-r--r-- | doc/builders.md | 12 | ||||
-rw-r--r-- | doc/languages-frameworks/javascript.section.md | 1 | ||||
-rw-r--r-- | doc/languages-frameworks/python.section.md | 40 | ||||
-rw-r--r-- | doc/languages-frameworks/texlive.section.md | 40 | ||||
-rw-r--r-- | doc/manual.md.in | 2 | ||||
-rw-r--r-- | doc/packages/cataclysm-dda.section.md (renamed from doc/builders/packages/cataclysm-dda.section.md) | 0 | ||||
-rw-r--r-- | doc/packages/citrix.section.md (renamed from doc/builders/packages/citrix.section.md) | 0 | ||||
-rw-r--r-- | doc/packages/darwin-builder.section.md (renamed from doc/builders/special/darwin-builder.section.md) | 16 | ||||
-rw-r--r-- | doc/packages/dlib.section.md (renamed from doc/builders/packages/dlib.section.md) | 0 | ||||
-rw-r--r-- | doc/packages/eclipse.section.md (renamed from doc/builders/packages/eclipse.section.md) | 0 | ||||
-rw-r--r-- | doc/packages/elm.section.md (renamed from doc/builders/packages/elm.section.md) | 0 | ||||
-rw-r--r-- | doc/packages/emacs.section.md (renamed from doc/builders/packages/emacs.section.md) | 0 | ||||
-rw-r--r-- | doc/packages/etc-files.section.md (renamed from doc/builders/packages/etc-files.section.md) | 0 | ||||
-rw-r--r-- | doc/packages/firefox.section.md (renamed from doc/builders/packages/firefox.section.md) | 0 | ||||
-rw-r--r-- | doc/packages/fish.section.md (renamed from doc/builders/packages/fish.section.md) | 0 | ||||
-rw-r--r-- | doc/packages/fuse.section.md (renamed from doc/builders/packages/fuse.section.md) | 0 | ||||
-rw-r--r-- | doc/packages/ibus.section.md (renamed from doc/builders/packages/ibus.section.md) | 0 | ||||
-rw-r--r-- | doc/packages/index.md (renamed from doc/builders/packages/index.md) | 1 | ||||
-rw-r--r-- | doc/packages/kakoune.section.md (renamed from doc/builders/packages/kakoune.section.md) | 0 | ||||
-rw-r--r-- | doc/packages/linux.section.md (renamed from doc/builders/packages/linux.section.md) | 0 | ||||
-rw-r--r-- | doc/packages/locales.section.md (renamed from doc/builders/packages/locales.section.md) | 0 | ||||
-rw-r--r-- | doc/packages/nginx.section.md (renamed from doc/builders/packages/nginx.section.md) | 0 | ||||
-rw-r--r-- | doc/packages/opengl.section.md (renamed from doc/builders/packages/opengl.section.md) | 0 | ||||
-rw-r--r-- | doc/packages/shell-helpers.section.md (renamed from doc/builders/packages/shell-helpers.section.md) | 0 | ||||
-rw-r--r-- | doc/packages/steam.section.md (renamed from doc/builders/packages/steam.section.md) | 0 | ||||
-rw-r--r-- | doc/packages/urxvt.section.md (renamed from doc/builders/packages/urxvt.section.md) | 0 | ||||
-rw-r--r-- | doc/packages/weechat.section.md (renamed from doc/builders/packages/weechat.section.md) | 0 | ||||
-rw-r--r-- | doc/packages/xorg.section.md (renamed from doc/builders/packages/xorg.section.md) | 0 | ||||
-rw-r--r-- | doc/stdenv/stdenv.chapter.md | 2 |
46 files changed, 107 insertions, 46 deletions
diff --git a/doc/build-helpers.md b/doc/build-helpers.md new file mode 100644 index 0000000000000..06737e1667602 --- /dev/null +++ b/doc/build-helpers.md @@ -0,0 +1,28 @@ +# Build helpers {#part-builders} + +A build helper is a function that produces derivations. + +:::{.warning} +This is not to be confused with the [`builder` argument of the Nix `derivation` primitive](https://nixos.org/manual/nix/unstable/language/derivations.html), which refers to the executable that produces the build result, or [remote builder](https://nixos.org/manual/nix/stable/advanced-topics/distributed-builds.html), which refers to a remote machine that could run such an executable. +::: + +Such a function is usually designed to abstract over a typical workflow for a given programming language or framework. +This allows declaring a build recipe by setting a limited number of options relevant to the particular use case instead of using the `derivation` function directly. + +[`stdenv.mkDerivation`](#part-stdenv) is the most widely used build helper, and serves as a basis for many others. +In addition, it offers various options to customize parts of the builds. + +There is no uniform interface for build helpers. +[Trivial build helpers](#chap-trivial-builders) and [fetchers](#chap-pkgs-fetchers) have various input types for convenience. +[Language- or framework-specific build helpers](#chap-language-support) usually follow the style of `stdenv.mkDerivation`, which accepts an attribute set or a fixed-point function taking an attribute set. + +```{=include=} chapters +build-helpers/fetchers.chapter.md +build-helpers/trivial-build-helpers.chapter.md +build-helpers/testers.chapter.md +build-helpers/special.md +build-helpers/images.md +hooks/index.md +languages-frameworks/index.md +packages/index.md +``` diff --git a/doc/builders/fetchers.chapter.md b/doc/build-helpers/fetchers.chapter.md index 7bd1bbd6de029..7bd1bbd6de029 100644 --- a/doc/builders/fetchers.chapter.md +++ b/doc/build-helpers/fetchers.chapter.md diff --git a/doc/builders/images.md b/doc/build-helpers/images.md index 5596784bfa487..5596784bfa487 100644 --- a/doc/builders/images.md +++ b/doc/build-helpers/images.md diff --git a/doc/builders/images/appimagetools.section.md b/doc/build-helpers/images/appimagetools.section.md index 0c72315a26e88..0c72315a26e88 100644 --- a/doc/builders/images/appimagetools.section.md +++ b/doc/build-helpers/images/appimagetools.section.md diff --git a/doc/builders/images/binarycache.section.md b/doc/build-helpers/images/binarycache.section.md index 62e47dad7c66f..62e47dad7c66f 100644 --- a/doc/builders/images/binarycache.section.md +++ b/doc/build-helpers/images/binarycache.section.md diff --git a/doc/builders/images/dockertools.section.md b/doc/build-helpers/images/dockertools.section.md index 3ac4f224b5def..42d6e297f529c 100644 --- a/doc/builders/images/dockertools.section.md +++ b/doc/build-helpers/images/dockertools.section.md @@ -275,7 +275,7 @@ pullImage { `nix-prefetch-docker` command can be used to get required image parameters: ```ShellSession -$ nix run nixpkgs.nix-prefetch-docker -c nix-prefetch-docker --image-name mysql --image-tag 5 +$ nix run nixpkgs#nix-prefetch-docker -- --image-name mysql --image-tag 5 ``` Since a given `imageName` may transparently refer to a manifest list of images which support multiple architectures and/or operating systems, you can supply the `--os` and `--arch` arguments to specify exactly which image you want. By default it will match the OS and architecture of the host the command is run on. diff --git a/doc/builders/images/makediskimage.section.md b/doc/build-helpers/images/makediskimage.section.md index e50479c4e83e4..e50479c4e83e4 100644 --- a/doc/builders/images/makediskimage.section.md +++ b/doc/build-helpers/images/makediskimage.section.md diff --git a/doc/builders/images/ocitools.section.md b/doc/build-helpers/images/ocitools.section.md index c35f65bce0073..c35f65bce0073 100644 --- a/doc/builders/images/ocitools.section.md +++ b/doc/build-helpers/images/ocitools.section.md diff --git a/doc/builders/images/portableservice.section.md b/doc/build-helpers/images/portableservice.section.md index 5400928b158f8..5400928b158f8 100644 --- a/doc/builders/images/portableservice.section.md +++ b/doc/build-helpers/images/portableservice.section.md diff --git a/doc/builders/images/snaptools.section.md b/doc/build-helpers/images/snaptools.section.md index 259fa1b061808..259fa1b061808 100644 --- a/doc/builders/images/snaptools.section.md +++ b/doc/build-helpers/images/snaptools.section.md diff --git a/doc/builders/special.md b/doc/build-helpers/special.md index 6d07fa87f3f3e..f88648207fdcd 100644 --- a/doc/builders/special.md +++ b/doc/build-helpers/special.md @@ -1,11 +1,10 @@ -# Special builders {#chap-special} +# Special build helpers {#chap-special} -This chapter describes several special builders. +This chapter describes several special build helpers. ```{=include=} sections special/fhs-environments.section.md special/makesetuphook.section.md special/mkshell.section.md -special/darwin-builder.section.md special/vm-tools.section.md ``` diff --git a/doc/builders/special/fhs-environments.section.md b/doc/build-helpers/special/fhs-environments.section.md index 8145fbd730f7e..8145fbd730f7e 100644 --- a/doc/builders/special/fhs-environments.section.md +++ b/doc/build-helpers/special/fhs-environments.section.md diff --git a/doc/builders/special/makesetuphook.section.md b/doc/build-helpers/special/makesetuphook.section.md index eb042412137b8..e83164b7eb701 100644 --- a/doc/builders/special/makesetuphook.section.md +++ b/doc/build-helpers/special/makesetuphook.section.md @@ -1,6 +1,6 @@ # pkgs.makeSetupHook {#sec-pkgs.makeSetupHook} -`pkgs.makeSetupHook` is a builder that produces hooks that go in to `nativeBuildInputs` +`pkgs.makeSetupHook` is a build helper that produces hooks that go in to `nativeBuildInputs` ## Usage {#sec-pkgs.makeSetupHook-usage} diff --git a/doc/builders/special/mkshell.section.md b/doc/build-helpers/special/mkshell.section.md index 96d43535955fa..96d43535955fa 100644 --- a/doc/builders/special/mkshell.section.md +++ b/doc/build-helpers/special/mkshell.section.md diff --git a/doc/builders/special/vm-tools.section.md b/doc/build-helpers/special/vm-tools.section.md index 8feab04902d8f..8feab04902d8f 100644 --- a/doc/builders/special/vm-tools.section.md +++ b/doc/build-helpers/special/vm-tools.section.md diff --git a/doc/builders/testers.chapter.md b/doc/build-helpers/testers.chapter.md index b2a581c3dd8d9..b2a581c3dd8d9 100644 --- a/doc/builders/testers.chapter.md +++ b/doc/build-helpers/testers.chapter.md diff --git a/doc/builders/trivial-builders.chapter.md b/doc/build-helpers/trivial-build-helpers.chapter.md index 2cb1f2debcb8e..a0cda86a66071 100644 --- a/doc/builders/trivial-builders.chapter.md +++ b/doc/build-helpers/trivial-build-helpers.chapter.md @@ -1,4 +1,4 @@ -# Trivial builders {#chap-trivial-builders} +# Trivial build helpers {#chap-trivial-builders} Nixpkgs provides a couple of functions that help with building derivations. The most important one, `stdenv.mkDerivation`, has already been documented above. The following functions wrap `stdenv.mkDerivation`, making it easier to use in certain cases. diff --git a/doc/builders.md b/doc/builders.md deleted file mode 100644 index 2e959422405b2..0000000000000 --- a/doc/builders.md +++ /dev/null @@ -1,12 +0,0 @@ -# Builders {#part-builders} - -```{=include=} chapters -builders/fetchers.chapter.md -builders/trivial-builders.chapter.md -builders/testers.chapter.md -builders/special.md -builders/images.md -hooks/index.md -languages-frameworks/index.md -builders/packages/index.md -``` diff --git a/doc/languages-frameworks/javascript.section.md b/doc/languages-frameworks/javascript.section.md index f35fd83cc5949..79cb09572503b 100644 --- a/doc/languages-frameworks/javascript.section.md +++ b/doc/languages-frameworks/javascript.section.md @@ -209,6 +209,7 @@ In the default `installPhase` set by `buildNpmPackage`, it uses `npm pack --json * `npmPackFlags`: Flags to pass to `npm pack`. * `npmPruneFlags`: Flags to pass to `npm prune`. Defaults to the value of `npmInstallFlags`. * `makeWrapperArgs`: Flags to pass to `makeWrapper`, added to executable calling the generated `.js` with `node` as an interpreter. These scripts are defined in `package.json`. +* `nodejs`: The `nodejs` package to build against, using the corresponding `npm` shipped with that version of `node`. Defaults to `pkgs.nodejs`. #### prefetch-npm-deps {#javascript-buildNpmPackage-prefetch-npm-deps} diff --git a/doc/languages-frameworks/python.section.md b/doc/languages-frameworks/python.section.md index cdd5c806912e1..9af3f529ae49b 100644 --- a/doc/languages-frameworks/python.section.md +++ b/doc/languages-frameworks/python.section.md @@ -9,8 +9,8 @@ | python27 | python2, python | CPython 2.7 | | python38 | | CPython 3.8 | | python39 | | CPython 3.9 | -| python310 | python3 | CPython 3.10 | -| python311 | | CPython 3.11 | +| python310 | | CPython 3.10 | +| python311 | python3 | CPython 3.11 | | python312 | | CPython 3.12 | | python313 | | CPython 3.13 | | pypy27 | pypy2, pypy | PyPy2.7 | @@ -64,12 +64,14 @@ sets are * `pkgs.python39Packages` * `pkgs.python310Packages` * `pkgs.python311Packages` +* `pkgs.python312Packages` +* `pkgs.python313Packages` * `pkgs.pypyPackages` and the aliases * `pkgs.python2Packages` pointing to `pkgs.python27Packages` -* `pkgs.python3Packages` pointing to `pkgs.python310Packages` +* `pkgs.python3Packages` pointing to `pkgs.python311Packages` * `pkgs.pythonPackages` pointing to `pkgs.python2Packages` #### `buildPythonPackage` function {#buildpythonpackage-function} @@ -142,7 +144,7 @@ buildPythonPackage rec { The `buildPythonPackage` mainly does four things: -* In the [`buildPhase`](#build-phase), it calls `${python.pythonForBuild.interpreter} setup.py bdist_wheel` to +* In the [`buildPhase`](#build-phase), it calls `${python.pythonOnBuildForHost.interpreter} setup.py bdist_wheel` to build a wheel binary zipfile. * In the [`installPhase`](#ssec-install-phase), it installs the wheel file using `pip install *.whl`. * In the [`postFixup`](#var-stdenv-postFixup) phase, the `wrapPythonPrograms` bash function is called to @@ -278,7 +280,7 @@ the packages with the version of the interpreter. Because this is irrelevant for applications, the prefix is omitted. When packaging a Python application with [`buildPythonApplication`](#buildpythonapplication-function), it should be -called with `callPackage` and passed `python` or `pythonPackages` (possibly +called with `callPackage` and passed `python3` or `python3Packages` (possibly specifying an interpreter version), like this: ```nix @@ -320,7 +322,7 @@ luigi = callPackage ../applications/networking/cluster/luigi { }; ``` Since the package is an application, a consumer doesn't need to care about -Python versions or modules, which is why they don't go in `pythonPackages`. +Python versions or modules, which is why they don't go in `python3Packages`. #### `toPythonApplication` function {#topythonapplication-function} @@ -336,7 +338,7 @@ the attribute in `python-packages.nix`, and the `toPythonApplication` shall be applied to the reference: ```nix -youtube-dl = with pythonPackages; toPythonApplication youtube-dl; +youtube-dl = with python3Packages; toPythonApplication youtube-dl; ``` #### `toPythonModule` function {#topythonmodule-function} @@ -365,8 +367,8 @@ Saving the following as `default.nix` ```nix with import <nixpkgs> {}; -python.buildEnv.override { - extraLibs = [ pythonPackages.pyramid ]; +python3.buildEnv.override { + extraLibs = [ python3Packages.pyramid ]; ignoreCollisions = true; } ``` @@ -496,9 +498,9 @@ Given a `default.nix`: ```nix with import <nixpkgs> {}; -pythonPackages.buildPythonPackage { +python3Packages.buildPythonPackage { name = "myproject"; - buildInputs = with pythonPackages; [ pyramid ]; + buildInputs = with python3Packages; [ pyramid ]; src = ./.; } @@ -510,7 +512,7 @@ the package would be built with `nix-build`. Shortcut to setup environments with C headers/libraries and Python packages: ```shell -nix-shell -p pythonPackages.pyramid zlib libjpeg git +nix-shell -p python3Packages.pyramid zlib libjpeg git ``` ::: {.note} @@ -525,7 +527,7 @@ There is a boolean value `lib.inNixShell` set to `true` if nix-shell is invoked. Several versions of the Python interpreter are available on Nix, as well as a high amount of packages. The attribute `python3` refers to the default -interpreter, which is currently CPython 3.10. The attribute `python` refers to +interpreter, which is currently CPython 3.11. The attribute `python` refers to CPython 2.7 for backwards-compatibility. It is also possible to refer to specific versions, e.g. `python311` refers to CPython 3.11, and `pypy` refers to the default PyPy interpreter. @@ -543,7 +545,7 @@ however, are in separate sets, with one set per interpreter version. The interpreters have several common attributes. One of these attributes is `pkgs`, which is a package set of Python libraries for this specific interpreter. E.g., the `toolz` package corresponding to the default interpreter -is `python.pkgs.toolz`, and the CPython 3.11 version is `python311.pkgs.toolz`. +is `python3.pkgs.toolz`, and the CPython 3.11 version is `python311.pkgs.toolz`. The main package set contains aliases to these package sets, e.g. `pythonPackages` refers to `python.pkgs` and `python311Packages` to `python311.pkgs`. @@ -1682,7 +1684,7 @@ of such package using the feature is `pkgs/tools/X11/xpra/default.nix`. As workaround install it as an extra `preInstall` step: ```shell -${python.pythonForBuild.interpreter} setup.py install_data --install-dir=$out --root=$out +${python.pythonOnBuildForHost.interpreter} setup.py install_data --install-dir=$out --root=$out sed -i '/ = data\_files/d' setup.py ``` @@ -1835,7 +1837,7 @@ If you need to change a package's attribute(s) from `configuration.nix` you coul }; ``` -`pythonPackages.twisted` is now globally overridden. +`python3Packages.twisted` is now globally overridden. All packages and also all NixOS services that reference `twisted` (such as `services.buildbot-worker`) now use the new definition. Note that `python-super` refers to the old package set and `python-self` @@ -1845,7 +1847,7 @@ To modify only a Python package set instead of a whole Python derivation, use this snippet: ```nix - myPythonPackages = pythonPackages.override { + myPythonPackages = python3Packages.override { overrides = self: super: { twisted = ...; }; @@ -2025,7 +2027,9 @@ The following rules are desired to be respected: disabled individually. Try to avoid disabling the tests altogether. In any case, when you disable tests, leave a comment explaining why. * Commit names of Python libraries should reflect that they are Python - libraries, so write for example `pythonPackages.numpy: 1.11 -> 1.12`. + libraries, so write for example `python311Packages.numpy: 1.11 -> 1.12`. + It is highly recommended to specify the current default version to enable + automatic build by ofborg. * Attribute names in `python-packages.nix` as well as `pname`s should match the library's name on PyPI, but be normalized according to [PEP 0503](https://www.python.org/dev/peps/pep-0503/#normalized-names). This means diff --git a/doc/languages-frameworks/texlive.section.md b/doc/languages-frameworks/texlive.section.md index 777e94c16f18b..2ba846dc492d9 100644 --- a/doc/languages-frameworks/texlive.section.md +++ b/doc/languages-frameworks/texlive.section.md @@ -2,6 +2,46 @@ Since release 15.09 there is a new TeX Live packaging that lives entirely under attribute `texlive`. +## User's guide (experimental new interface) {#sec-language-texlive-user-guide-experimental} + +Release 23.11 ships with a new interface that will eventually replace `texlive.combine`. + +- For basic usage, use some of the prebuilt environments available at the top level, such as `texliveBasic`, `texliveSmall`. For the full list of prebuilt environments, inspect `texlive.schemes`. + +- Packages cannot be used directly but must be assembled in an environment. To create or add packages to an environment, use + ```nix + texliveSmall.withPackages (ps: with ps; [ collection-langkorean algorithms cm-super ]) + ``` + The function `withPackages` can be called multiple times to add more packages. + + - **Note.** Within Nixpkgs, packages should only use prebuilt environments as inputs, such as `texliveSmall` or `texliveInfraOnly`, and should not depend directly on `texlive`. Further dependencies should be added by calling `withPackages`. This is to ensure that there is a consistent and simple way to override the inputs. + +- `texlive.withPackages` uses the same logic as `buildEnv`. Only parts of a package are installed in an environment: its 'runtime' files (`tex` output), binaries (`out` output), and support files (`tlpkg` output). Moreover, man and info pages are assembled into separate `man` and `info` outputs. To add only the TeX files of a package, or its documentation (`texdoc` output), just specify the outputs: + ```nix + texlive.withPackages (ps: with ps; [ + texdoc # recommended package to navigate the documentation + perlPackages.LaTeXML.tex # tex files of LaTeXML, omit binaries + cm-super + cm-super.texdoc # documentation of cm-super + ]) + ``` + +- All packages distributed by TeX Live, which contains most of CTAN, are available and can be found under `texlive.pkgs`: + ```ShellSession + $ nix repl + nix-repl> :l <nixpkgs> + nix-repl> texlive.pkgs.[TAB] + ``` + Note that the packages in `texlive.pkgs` are only provided for search purposes and must not be used directly. + +- **Experimental and subject to change without notice:** to add the documentation for all packages in the environment, use + ```nix + texliveSmall.__overrideTeXConfig { withDocs = true; } + ``` + This can be applied before or after calling `withPackages`. + + The function currently support the parameters `withDocs`, `withSources`, and `requireTeXPackages`. + ## User's guide {#sec-language-texlive-user-guide} - For basic usage just pull `texlive.combined.scheme-basic` for an environment with basic LaTeX support. diff --git a/doc/manual.md.in b/doc/manual.md.in index 6b8d351380f95..52971ff526c28 100644 --- a/doc/manual.md.in +++ b/doc/manual.md.in @@ -9,7 +9,7 @@ preface.chapter.md using-nixpkgs.md lib.md stdenv.md -builders.md +build-helpers.md development.md contributing.md ``` diff --git a/doc/builders/packages/cataclysm-dda.section.md b/doc/packages/cataclysm-dda.section.md index f401e9b9efa53..f401e9b9efa53 100644 --- a/doc/builders/packages/cataclysm-dda.section.md +++ b/doc/packages/cataclysm-dda.section.md diff --git a/doc/builders/packages/citrix.section.md b/doc/packages/citrix.section.md index bcf0924249bce..bcf0924249bce 100644 --- a/doc/builders/packages/citrix.section.md +++ b/doc/packages/citrix.section.md diff --git a/doc/builders/special/darwin-builder.section.md b/doc/packages/darwin-builder.section.md index e37fabe01a353..89c2445667dcc 100644 --- a/doc/builders/special/darwin-builder.section.md +++ b/doc/packages/darwin-builder.section.md @@ -1,10 +1,10 @@ # darwin.linux-builder {#sec-darwin-builder} -`darwin.linux-builder` provides a way to bootstrap a Linux builder on a macOS machine. +`darwin.linux-builder` provides a way to bootstrap a Linux remote builder on a macOS machine. This requires macOS version 12.4 or later. -The builder runs on host port 31022 by default. +The remote builder runs on host port 31022 by default. You can change it by overriding `virtualisation.darwin-builder.hostPort`. See the [example](#sec-darwin-builder-example-flake). @@ -15,7 +15,7 @@ words, your `/etc/nix/nix.conf` should have something like: extra-trusted-users = <your username goes here> ``` -To launch the builder, run the following flake: +To launch the remote builder, run the following flake: ```ShellSession $ nix run nixpkgs#darwin.linux-builder @@ -57,7 +57,7 @@ builders = ssh-ng://builder@linux-builder ${ARCH}-linux /etc/nix/builder_ed25519 builders-use-substitutes = true ``` -To allow Nix to connect to a builder not running on port 22, you will also need to create a new file at `/etc/ssh/ssh_config.d/100-linux-builder.conf`: +To allow Nix to connect to a remote builder not running on port 22, you will also need to create a new file at `/etc/ssh/ssh_config.d/100-linux-builder.conf`: ``` Host linux-builder @@ -130,11 +130,11 @@ $ sudo launchctl kickstart -k system/org.nixos.nix-daemon } ``` -## Reconfiguring the builder {#sec-darwin-builder-reconfiguring} +## Reconfiguring the remote builder {#sec-darwin-builder-reconfiguring} -Initially you should not change the builder configuration else you will not be -able to use the binary cache. However, after you have the builder running locally -you may use it to build a modified builder with additional storage or memory. +Initially you should not change the remote builder configuration else you will not be +able to use the binary cache. However, after you have the remote builder running locally +you may use it to build a modified remote builder with additional storage or memory. To do this, you just need to set the `virtualisation.darwin-builder.*` parameters as in the example below and rebuild. diff --git a/doc/builders/packages/dlib.section.md b/doc/packages/dlib.section.md index bd5b1a20a4d46..bd5b1a20a4d46 100644 --- a/doc/builders/packages/dlib.section.md +++ b/doc/packages/dlib.section.md diff --git a/doc/builders/packages/eclipse.section.md b/doc/packages/eclipse.section.md index e19510e131a09..e19510e131a09 100644 --- a/doc/builders/packages/eclipse.section.md +++ b/doc/packages/eclipse.section.md diff --git a/doc/builders/packages/elm.section.md b/doc/packages/elm.section.md index 063dd73d9de43..063dd73d9de43 100644 --- a/doc/builders/packages/elm.section.md +++ b/doc/packages/elm.section.md diff --git a/doc/builders/packages/emacs.section.md b/doc/packages/emacs.section.md index c50c7815537dc..c50c7815537dc 100644 --- a/doc/builders/packages/emacs.section.md +++ b/doc/packages/emacs.section.md diff --git a/doc/builders/packages/etc-files.section.md b/doc/packages/etc-files.section.md index 94a769ed33555..94a769ed33555 100644 --- a/doc/builders/packages/etc-files.section.md +++ b/doc/packages/etc-files.section.md diff --git a/doc/builders/packages/firefox.section.md b/doc/packages/firefox.section.md index 46bc0457a3dc2..46bc0457a3dc2 100644 --- a/doc/builders/packages/firefox.section.md +++ b/doc/packages/firefox.section.md diff --git a/doc/builders/packages/fish.section.md b/doc/packages/fish.section.md index 85b57acd1090f..85b57acd1090f 100644 --- a/doc/builders/packages/fish.section.md +++ b/doc/packages/fish.section.md diff --git a/doc/builders/packages/fuse.section.md b/doc/packages/fuse.section.md index 6deea6b5626ed..6deea6b5626ed 100644 --- a/doc/builders/packages/fuse.section.md +++ b/doc/packages/fuse.section.md diff --git a/doc/builders/packages/ibus.section.md b/doc/packages/ibus.section.md index 817e55d56f1f9..817e55d56f1f9 100644 --- a/doc/builders/packages/ibus.section.md +++ b/doc/packages/ibus.section.md diff --git a/doc/builders/packages/index.md b/doc/packages/index.md index 1f44357024064..1f45018ffc4a0 100644 --- a/doc/builders/packages/index.md +++ b/doc/packages/index.md @@ -4,6 +4,7 @@ This chapter contains information about how to use and maintain the Nix expressi ```{=include=} sections citrix.section.md +darwin-builder.section.md dlib.section.md eclipse.section.md elm.section.md diff --git a/doc/builders/packages/kakoune.section.md b/doc/packages/kakoune.section.md index 8e054777a7578..8e054777a7578 100644 --- a/doc/builders/packages/kakoune.section.md +++ b/doc/packages/kakoune.section.md diff --git a/doc/builders/packages/linux.section.md b/doc/packages/linux.section.md index b64da85791a0d..b64da85791a0d 100644 --- a/doc/builders/packages/linux.section.md +++ b/doc/packages/linux.section.md diff --git a/doc/builders/packages/locales.section.md b/doc/packages/locales.section.md index 3a983f13a396e..3a983f13a396e 100644 --- a/doc/builders/packages/locales.section.md +++ b/doc/packages/locales.section.md diff --git a/doc/builders/packages/nginx.section.md b/doc/packages/nginx.section.md index 0704b534e5f72..0704b534e5f72 100644 --- a/doc/builders/packages/nginx.section.md +++ b/doc/packages/nginx.section.md diff --git a/doc/builders/packages/opengl.section.md b/doc/packages/opengl.section.md index f4d282267a079..f4d282267a079 100644 --- a/doc/builders/packages/opengl.section.md +++ b/doc/packages/opengl.section.md diff --git a/doc/builders/packages/shell-helpers.section.md b/doc/packages/shell-helpers.section.md index e7c2b0abebfca..e7c2b0abebfca 100644 --- a/doc/builders/packages/shell-helpers.section.md +++ b/doc/packages/shell-helpers.section.md diff --git a/doc/builders/packages/steam.section.md b/doc/packages/steam.section.md index 25728aa52aef0..25728aa52aef0 100644 --- a/doc/builders/packages/steam.section.md +++ b/doc/packages/steam.section.md diff --git a/doc/builders/packages/urxvt.section.md b/doc/packages/urxvt.section.md index 507feaa6fd861..507feaa6fd861 100644 --- a/doc/builders/packages/urxvt.section.md +++ b/doc/packages/urxvt.section.md diff --git a/doc/builders/packages/weechat.section.md b/doc/packages/weechat.section.md index 755b6e6ad1ea4..755b6e6ad1ea4 100644 --- a/doc/builders/packages/weechat.section.md +++ b/doc/packages/weechat.section.md diff --git a/doc/builders/packages/xorg.section.md b/doc/packages/xorg.section.md index ae885f9234677..ae885f9234677 100644 --- a/doc/builders/packages/xorg.section.md +++ b/doc/packages/xorg.section.md diff --git a/doc/stdenv/stdenv.chapter.md b/doc/stdenv/stdenv.chapter.md index 1dfe25f02654f..53243af5f239b 100644 --- a/doc/stdenv/stdenv.chapter.md +++ b/doc/stdenv/stdenv.chapter.md @@ -528,7 +528,7 @@ If the returned array contains exactly one object (e.g. `[{}]`), all values are ``` ::: -### Recursive attributes in `mkDerivation` {#mkderivation-recursive-attributes} +### Fixed-point arguments of `mkDerivation` {#mkderivation-recursive-attributes} If you pass a function to `mkDerivation`, it will receive as its argument the final arguments, including the overrides when reinvoked via `overrideAttrs`. For example: |