Commit graph

437 commits

Author SHA1 Message Date
Theodor René Carlsen 89b4df8d92
Add link to explanation when introducing a new operator
The logical implication operator is included in this section but never explained. It might stump new readers with a pretty uncommon operator, and it's never referenced explicitly.
2022-01-11 17:01:43 +01:00
pennae 00c993f48b add zipAttrsWith primop
nixpkgs can save a good bit of eval memory with this primop. zipAttrsWith is
used quite a bit around nixpkgs (eg in the form of recursiveUpdate), but the
most costly application for this primop is in the module system. it improves
the implementation of zipAttrsWith from nixpkgs by not checking an attribute
multiple times if it occurs more than once in the input list, allocates less
values and set elements, and just avoids many a temporary object in general.

nixpkgs has a more generic version of this operation, zipAttrsWithNames, but
this version is only used once so isn't suitable for being the base of a new
primop. if it were to be used more we should add a second primop instead.
2022-01-03 21:05:53 +01:00
Alexander Bantyev a26351da02
Add ability to toggle show-trace from within the repl 2021-12-29 02:54:36 +03:00
tomberek f404189368
Merge branch 'master' into flake_search 2021-12-23 15:22:52 -05:00
Eelco Dolstra 881b610266 Update release notes 2021-12-21 14:19:21 +01:00
Eelco Dolstra c260640dec Fix docker instructions 2021-12-16 21:48:38 +01:00
jesse 11ee875a6d List aarch64 as supported macOS hardware
Resolves #5767
2021-12-15 10:55:34 -08:00
Eelco Dolstra 18cb094aab rl-2.5.md: Set date 2021-12-13 19:57:06 +01:00
Eelco Dolstra f133001dc8 Move rl-next.md to rl-2.5.md 2021-12-13 16:48:44 +01:00
Eelco Dolstra 3f417c8d1c Add release notes entry for #5149 2021-12-13 16:43:42 +01:00
Janne Heß 4194b68250
doc: Fix command for distributed builds
We also need to build impurely or the <nixpkgs> lookup will not work.
2021-12-10 12:58:12 +01:00
Amon Stopinšek 0bd93ed747
Fix link to nixos channel
The old link returned 404 errror.
2021-12-09 16:44:24 +00:00
Eelco Dolstra 167e864697
Merge pull request #5730 from abathur/darwin_document_fstab_settings
document some darwin mount settings
2021-12-07 22:24:40 +01:00
Alexander Bantyev 33926ed1e7
nix repl: add :log
Add a :log command that shows logs for a derivation.

Closes https://github.com/NixOS/nix/issues/3504

Co-authored-by: Taeer Bar-Yam <taeer@bar-yam.me>
2021-12-06 16:52:50 +03:00
Travis A. Everett 8093456111 document some darwin mount settings 2021-12-04 23:16:42 -06:00
Tom Bereknyei b6cc0a704d flakes: search up to git or filesystem boundary
While parsing a flakeref, upon not finding a flake.nix, search upwards
until git or filesystem boundary.
2021-12-03 10:55:30 -05:00
Eelco Dolstra 2e606e87c4
Merge pull request #5715 from Infinisil/groupBy-primop
Introduce `builtins.groupBy` primop
2021-12-03 13:21:14 +01:00
David Purdum 69b9198875
Fix docker command
`docker -ti run nixos` does not run on docker version 20.10.7 (my machine).  This fixes it to read `docker run -ti nixos`.
2021-12-02 23:38:33 -05:00
Silvan Mosberger 90700736c7 Introduce builtins.groupBy primop
This function is very useful in nixpkgs, but its implementation in Nix
itself is rather slow due to it requiring a lot of attribute set and
list appends.
2021-12-02 21:54:51 +01:00
Eli Flanagan 092c375cda
Update doc/manual/src/glossary.md
Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
2021-11-30 13:19:42 -05:00
Eli Flanagan a473e85c80
docs: document set theory symbols
These symbols confused me so I wanted to gloss them to help future users. You can see the context here: https://discourse.nixos.org/t/flakes-what-does-mean-big-bundle-of-questions
2021-11-30 11:13:46 -05:00
Eelco Dolstra b96164f4af Merge remote-tracking branch 'origin/build-with-clang' 2021-11-30 11:50:56 +01:00
Eelco Dolstra ddf4fb750d
Merge pull request #5678 from t184256/document-libsodium
Document libsodium, which is now mandatory, as a dependency.
2021-11-29 11:11:10 +01:00
Alexander Sosedkin a9bd06d0ea Make libcpuid dependency optional with --disable-cpuid 2021-11-28 00:52:35 +01:00
Alexander Sosedkin b73a1c0638 Document libcpuid dependency 2021-11-28 00:52:35 +01:00
Alexander Sosedkin 33a227503a Document libsodium, which is now mandatory, as a dependency 2021-11-27 23:11:11 +01:00
Pamplemousse 288c252570 Documentation: alternative stdenv for hacking
Signed-off-by: Pamplemousse <xav.maso@gmail.com>
2021-11-26 10:04:56 +01:00
Eelco Dolstra 986906e687 Update names 2021-11-25 17:09:11 +01:00
Silvan Mosberger 09471d2680 Make lists be comparable
Makes lists comparable using lexicographic comparison.

Increments builtins.langVersion in order for this change to be
detectable
2021-11-24 13:40:46 +01:00
Lorenz Leutgeb e1192116d3
doc: Fix escape for operator "logical or"
See https://matrix.to/#/!KqkRjyTEzAGRiZFBYT:nixos.org/$hhMb6AdRIXfRkv_LsNsiQJuch7AQ_b6szr4tfawFy-4
2021-11-18 15:08:01 +01:00
Eelco Dolstra e88fb63e28
Merge pull request #5585 from jtojnar/env-a
doc: De-emphasize nix-env without -A
2021-11-18 14:34:45 +01:00
Jan Tojnar ca4d8ce9e2 doc: De-emphasize nix-env without -A
The manual uses `nix-env -i` without `-A` prominently, teaching a bad practice to newcomers.
2021-11-17 17:04:25 +01:00
Jan Tojnar e96faadcd6 Fix XDG_CONFIG_DIRS fallback
According to XDG Base Directory Specification,
it should fall back to /etc/xdg when the env var is not present.
2021-11-17 14:31:15 +01:00
Eelco Dolstra 51ffc19f02 Merge branch 'add-docker-image-to-hydra-jobs' of https://github.com/garbas/nix 2021-11-16 13:00:54 +01:00
Kevin Amado eae54f2d52
fix many doc typos 2021-11-13 22:28:20 -05:00
Rok Garbas a118a70649
Documenting how to use/build Nix' Docker image 2021-11-11 16:07:01 +01:00
Théo Zimmermann d589782fb0
Fix some typos in CLI guideline. 2021-11-08 08:24:15 +01:00
Jan Tojnar e5d4c2235f
docs: Correct fallback user config path
This is in line with XDG Base Directory Specification, where ~/.config is supposed to be used when XDG_CONFIG_HOME is unset.

It also better matches the reality, where ~/.config/nix.conf does not seem to be used.
2021-11-04 11:41:29 +01:00
Dimitris Apostolou c34cc5e488
Fix typos 2021-11-03 18:11:20 +02:00
Simon Legner 1968760f4a
command-ref/nix-shell: fix --pure, --keep 2021-11-02 22:00:08 +01:00
Eelco Dolstra b61b307bad Remove references to building from the source tarball 2021-11-02 15:29:47 +01:00
Eelco Dolstra 6a93e186f4 Fix 2.4 migration examples 2021-11-01 22:44:07 +01:00
Eelco Dolstra bc4b7521f4 Rename rl-2.5.md to rl-next.md
Having a generically named file for release notes for the next release
makes things easier for PRs.
2021-10-28 14:36:47 +02:00
Eelco Dolstra 9c6ac9eb0e 2.4 release notes: Add some migration notes 2021-10-27 17:33:32 +02:00
Domen Kožar 51c812d6bb
Merge pull request #5365 from arafangion/master
Clarify that not all nix packages will use the default build phases
2021-10-17 20:54:00 -05:00
John Chapman ffeec5f283 Clarify that not all nix packages will use the default build phases 2021-10-17 15:24:22 +11:00
Eelco Dolstra 4c0cde95ad Update release notes 2021-10-13 11:39:54 +02:00
Eelco Dolstra 2f3c79c241 Mention compression-level in the release notes 2021-10-13 11:11:26 +02:00
John Chapman 4cff413054 Clarify that not all nix packages will use the default build phases 2021-10-09 12:03:34 +11:00
Eelco Dolstra 844dd901a7 Start 2.5 release notes 2021-10-07 20:09:03 +02:00
Eelco Dolstra f45b30de2f Revert "docs: add troubleshooting session in remote builds"
This reverts commit 0574c1850a.
2021-10-06 17:12:52 +02:00
Domen Kožar d0cc6a192a
Merge pull request #5095 from happysalada/update_remote_builds_docs
docs: add troubleshooting session in remote builds
2021-10-06 08:10:53 -05:00
happysalada 0574c1850a docs: add troubleshooting session in remote builds 2021-10-06 21:47:53 +09:00
Rafal Gwozdzinski a73f855bd4 Fix typo 2021-10-03 12:19:59 +02:00
Eelco Dolstra 0e3b8ca767 Typo 2021-10-01 16:32:07 +02:00
Eelco Dolstra 43221bb319 Comments 2021-10-01 16:29:53 +02:00
Eelco Dolstra 91b39eee25
Typo
Co-authored-by: Sebastian Ullrich <sebasti@nullri.ch>
2021-10-01 14:18:07 +02:00
Eelco Dolstra 5e222ac18b Release notes 2021-09-30 17:36:09 +02:00
Eelco Dolstra 25b6b74175 Manual: Link to 2.4 release notes 2021-09-09 15:01:36 +02:00
Eelco Dolstra 7ee639f9db
Merge pull request #5066 from Radvendii/master
add antiquotations to paths
2021-09-01 12:55:04 +02:00
Taeer Bar-Yam b2beb97f2a add documentation for path antiquotations 2021-08-31 08:17:17 -04:00
Pamplemousse 0e7bd65976 15f4d4f Documentation follow-up 2021-08-19 09:40:47 -07:00
Eelco Dolstra f1ecd30bd5
Merge pull request #4773 from alyssais/dl
doc: builtins: use a definition list
2021-07-05 14:03:15 +02:00
Keshav Kini f35f9af787 Improve explanation of NIX_PATH prefix syntax
The previous wording seemed to imply that the "channel:" syntax would resolve to
a github archive URL, which is not the case.
2021-06-03 17:59:39 -07:00
Linus Heckemann a3553cdae8 doc/nix-shell: Remove outdated bashrc information
This behaviour was removed in 65f6d5db6f.
2021-05-11 14:33:35 +02:00
Alyssa Ross 5f07f2ff2b
doc: builtins: use a definition list
This looks a lot better (and is also more semantically meaningful).

Since this list is generated in a Nix expression, I don't think using
HTML here is going to be the thing that puts people off modifying this
part of the documentation!
2021-05-05 14:34:46 +00:00
Graham Christensen d15a1962cb
Merge pull request #4289 from abathur/encrypt_darwin_volume
darwin: encrypt nix volume if filevault is enabled
2021-04-29 15:59:12 -04:00
Travis A. Everett eab14a642c darwin: encrypt nix volume if filevault is enabled 2021-04-29 13:26:51 -05:00
Eelco Dolstra fe2bf464cf Merge branch 'remove-trailing-spaces' of github.com:NixOS/nix 2021-04-23 15:09:44 +02:00
regnat 31313d1401 Replace the trailing markdown spaces by a backslash
They are equivalent according to
<https://spec.commonmark.org/0.29/#hard-line-breaks>,
and the trailing spaces tend to be a pain (because the make git
complain, editors tend to want to remove them − the `.editorconfig`
actually specifies that − etc..).
2021-04-23 14:37:21 +02:00
regnat 2207018df5 (briefly) document how to build ca derivations 2021-04-23 10:28:26 +02:00
Björn Gohla 4d9568ef60 Revert "[prerequisites]: add JSON lib dependency"
This reverts commit 5926200db0.
2021-04-05 21:29:04 +01:00
Björn Gohla 5926200db0
[prerequisites]: add JSON lib dependency 2021-04-01 22:54:09 +01:00
Eelco Dolstra 4638bcfb2c Fix some typos
Fixes #4671.
2021-03-26 16:14:38 +01:00
Travis A. Everett ac8ba2eae4
remove doc for obsolete --no-build-hook flag
`--no-build-hook` appears to have been removed in 25f32625e2
2021-03-06 19:51:29 -06:00
Graham Christensen 1130b28824
distributed builds: load remote builder host key from the machines file
This is already used by Hydra, and is very useful when materializing
a remote builder list from service discovery. This allows the service
discovery tool to only sync one file instead of two.
2021-02-25 09:17:34 -05:00
Shea Levy f6c5b05488
Respect command registrations in plugins. 2021-02-24 08:25:45 -05:00
Shea Levy 98d1b64400
Initialize plugins after handling initial command line flags
This is technically a breaking change, since attempting to set plugin
files after the first non-flag argument will now throw an error. This
is acceptable given the relative lack of stability in a plugin
interface and the need to tie the knot somewhere once plugins can
actually define new subcommands.
2021-02-24 08:22:17 -05:00
Mauricio Scheffer 5f4701e70d
Update doc/manual/src/command-ref/nix-shell.md
Co-authored-by: Cole Helbling <cole.e.helbling@outlook.com>
2021-02-16 23:27:04 +00:00
Mauricio Scheffer 35129884f9
Fix Haskell example
http://nixos.org redirects to https://nixos.org and apparently the HTTP library doesn't follow the redirect, so the output is empty.
When defining https in the request it crashes because the library doesn't seem to support https.
So this switches the example to a different http library.
2021-02-16 23:19:42 +00:00
Dominik Schrempf fb00e7dc52
Remove newline in operator table. 2021-02-01 17:42:14 +01:00
Eelco Dolstra d33eca8539 Rename 'nix store sign-paths' to 'nix store sign' 2021-01-13 23:32:37 +01:00
Eelco Dolstra 77c9ceda4b Tweak 2021-01-11 19:42:24 +01:00
Sam Lidder e069ddf325 Fix configure error in introduction doc 2020-12-31 20:17:37 -05:00
Sevan Janiyan 9d3aad7b92
Update URL where bzip2 can be obtained 2020-12-25 01:43:22 +00:00
Rok Garbas 7de4b1e9aa
smaller fixes 2020-12-17 23:42:49 +01:00
Rok Garbas ae77f21474
Switch away from classification as Tier1-3
to classification to a more descriptive classification.
2020-12-08 11:59:23 +01:00
Rok Garbas 0d7714b0d7
forgot to add the files 2020-12-08 10:25:03 +01:00
Rok Garbas 24db5b125f
Merge remote-tracking branch 'origin/master' into cli-guideline 2020-12-07 15:13:36 +01:00
Eelco Dolstra 72428e38d9 Generate separate manpages for each nix subcommand 2020-12-02 23:23:23 +01:00
Rok Garbas 44da19f73c
Adds Nix CLI Guideline to docs
As we are working towards Nix 3.0 we want to make sure that we make a
huge step forward in Nix's user experience. And once 3.0 is out of the
door we need to make sure that all future commands and features keep up
the standard of user experience.

This PR adds a CLI guideline document to the Nix documentation. Consider
this document a good starting point and a checklist when somebody will
be (re)implementing commands.

Clearly this guideline does nothing to improve user experience on its
own and can only be useful as long as it is going to be read and
cared for. But it is a first step into that direction.
2020-12-02 17:00:32 +01:00
mkenigs 8b15650e74
docs: consistent console prompt (#4213)
Everywhere else a $ is used
2020-11-02 16:32:05 +01:00
Eelco Dolstra a3a22bd804
Merge pull request #4202 from hercules-ci/nix-shell-doc
Nix shell doc
2020-10-30 11:36:24 +01:00
Robert Hensing d4c5d8d32a nix-shell.md: Extend shellHook example 2020-10-30 11:12:28 +01:00
Robert Hensing b809c48ebb nix-shell.md: evaluated -> run
Use "run" to avoid confusion with Nix evaluation.
"evaluated" was intended to reference bash eval but it's ambiguous.
2020-10-30 11:01:33 +01:00
Eelco Dolstra ff4dea63c9 Generalize extra-* settings
This removes the extra-substituters and extra-sandbox-paths settings
and instead makes every array setting extensible by setting
"extra-<name> = <value>" in the configuration file or passing
"--<name> <value>" on the command line.
2020-10-29 18:17:39 +01:00
tnias c189cf7e33
Add sha512 to hashAlgo listings in manpages (#4186) 2020-10-25 22:16:53 +00:00
Josef Kemetmüller 7f60f48e1a Fix the docs about the new NIX_CONFIG env var
This was accidentally documented as NIX_OPTIONS.
2020-10-21 17:04:36 +02:00
Christian Kampka 461cf2b856
Add NIX_CONFIG env var for applying nix.conf overrides 2020-10-21 13:41:26 +02:00
Stefan Frijters a53438d18f
doc: nix-shell in pure mode does *not* source user bashrc 2020-10-18 14:26:05 +02:00
Eelco Dolstra 58dadf2954 Remove stray 'Title:' from the manual
Closes #4096.
2020-10-08 17:30:40 +02:00
Maximilian Bosch 3655875483
doc/manual: update hacking docs (#4078)
* By default, build artifacts should be installed into `outputs/` rather
  than `inst/`[1].
* Add instructions on how to run unit-tests.

[1] 733d2e9402
2020-09-27 20:35:03 +00:00
Bryan Richter 5fe375a8f1
nix-prefetch-url: Add --executable flag
pkgs.fetchurl supports an executable argument, which is especially nice
when downloading a large executable. This patch adds the same option to
nix-prefetch-url.

I have tested this to work on the simple case of prefetching a little
executable:

1. nix-prefetch-url --executable https://my/little/script
2. Paste the hash into a pkgs.fetchurl-based package, script-pkg.nix
3. Delete the output from the store to avoid any misidentified artifacts
4. Realise the package script-pkg.nix
5. Run the executable

I repeated the above while using --name, as well.

I suspect --executable would have no meaningful effect if combined with
--unpack, but I have not tried it.
2020-09-18 19:09:45 +03:00
Jade Lovelace 7cb5f643a6
docs+test: fix remaining installer downloads without -L (#4006)
Co-authored-by: lf- <lf-@users.noreply.github.com>
2020-09-12 22:08:40 +02:00
Vladimír Čunát 77d4758cf2
Merge #3982: Minor docs updates 2020-09-07 21:54:59 +02:00
Eelco Dolstra 00d25e8457
Remove the --indirect flag
All GC roots are now indirect.
2020-09-03 11:22:00 +02:00
Cole Helbling a72ed3e8a1
hacking.md: add --prefix flag to configure
Otherwise, the steps advertised in this document won't actually work
(e.g. `make install` will fail, trying to access /usr, and
`./inst/bin/nix` won't exist).
2020-09-01 12:06:02 -07:00
Eelco Dolstra 84f5cabbea Merge remote-tracking branch 'origin/master' into markdown 2020-08-31 14:24:26 +02:00
Eelco Dolstra 7a02865b94
Move import docs 2020-08-25 14:06:01 +02:00
Eelco Dolstra 0f314f3c25
Generate builtins section of the manual 2020-08-24 14:49:30 +02:00
Eelco Dolstra a990f063ff
Move primop docs inline
This makes them available to 'nix repl'.
2020-08-24 14:31:10 +02:00
Eelco Dolstra 33b1679d75
Allow primops to have Markdown documentation 2020-08-24 13:16:02 +02:00
Eelco Dolstra c8fa39324a
Generate the nix.conf docs from the source code
This means we don't have two (divergent) sets of option descriptions
anymore.
2020-08-19 18:28:04 +02:00
Eelco Dolstra 6f19c776db
Start generation of the nix.1 manpage 2020-08-17 19:33:18 +02:00
Eelco Dolstra 7cdc739ece
Merge remote-tracking branch 'origin/master' into markdown 2020-08-17 13:43:39 +02:00
Eelco Dolstra bf290c2306
Merge remote-tracking branch 'origin/master' into markdown 2020-07-31 16:07:04 +02:00
Eelco Dolstra 2ae9ac2369
console -> shell 2020-07-31 16:02:37 +02:00
Eelco Dolstra 1d0a7b54fa
Enable syntax highlighting 2020-07-31 15:43:25 +02:00
Eelco Dolstra 05a282295f
Fix internal links 2020-07-24 15:46:16 +02:00
Eelco Dolstra da3d776cb9
Fix some dangling references 2020-07-24 14:31:33 +02:00
Eelco Dolstra 4a79b3598f
Fix nix-copy-closure manpage 2020-07-24 13:01:00 +02:00
Eelco Dolstra 7a0e6f076a
Move figures 2020-07-24 12:58:31 +02:00
Eelco Dolstra 758c9ee1bb
Clean up the manpages 2020-07-24 12:56:19 +02:00
Eelco Dolstra 8d0b311a1c
Get rid of footnotes
Markdown doesn't support them.
2020-07-24 11:43:44 +02:00
Eelco Dolstra 69333cb62c
Sigh 2020-07-23 18:27:20 +02:00
Eelco Dolstra 802150f987
<replaceable> -> <emphasis>
Pandoc doesn't know <replaceable> so let's force it to be rendered as
italics.
2020-07-23 18:27:20 +02:00
Eelco Dolstra ee05108472
<simplesect> -> <section>
Pandoc silently ignores <simplesect>...
2020-07-23 18:27:20 +02:00
Eelco Dolstra 136fd55bb2
Get rid of <figure> 2020-07-23 18:27:20 +02:00
Eelco Dolstra ca130b73a0
Get rid of <example>
Markdown doesn't have floats so we can't have this.
2020-07-23 18:27:20 +02:00
Eelco Dolstra 13df1faf25
Get rid of callouts since Markdown doesn't support them 2020-07-23 18:27:20 +02:00
Eelco Dolstra 504b7abc45
Convert commands 2020-07-23 18:27:12 +02:00
Eelco Dolstra efdb89994c
Convert nix.conf manpage 2020-07-23 18:27:11 +02:00
Eelco Dolstra f390303566
Reconvert 2020-07-23 18:27:11 +02:00
Eelco Dolstra 942cd687f9
Remove libxml2 / libxslt prerequisites 2020-07-23 18:26:48 +02:00
Eelco Dolstra ef606760ab
Pandoc conversion 2020-07-23 18:26:48 +02:00
Eelco Dolstra d004715665
Fix link 2020-07-23 18:26:48 +02:00
Eelco Dolstra e0ea3c82ca
Use mdbook 2020-07-23 18:26:48 +02:00