Eelco Dolstra
3172c51baf
Merge pull request #7498 from fricklerhandwerk/path+string
...
refactor documentation of operators, document `+` for strings and paths
2023-01-06 13:46:31 +01:00
Eelco Dolstra
d02c5a41da
Merge pull request #7500 from akhildevelops/patch-1
...
Updated docs to delete build users and group
2023-01-05 17:25:06 +01:00
Valentin Gagarin
e57165b85a
bring back table, extract annotations
...
this makes the table less unwieldy, and leaves enough space for
extensive explanations.
2023-01-05 15:16:16 +01:00
Valentin Gagarin
7da59e94ae
add links to documentation for data types
2023-01-05 14:15:01 +01:00
Valentin Gagarin
7b2b9e3648
use more self-explanatory placeholder names
2023-01-05 14:15:01 +01:00
Valentin Gagarin
969e5ad5bf
add semantics of overloaded +
operator
2023-01-05 14:15:01 +01:00
Valentin Gagarin
63b640e0c2
reword descriptions of operators
...
add notes on semantics where appropriate
2023-01-05 14:15:01 +01:00
Valentin Gagarin
e07448ba6b
convert table to subsections
...
this form is much easier to maintain (also with minimal diffs), and
allows for more details on each operator.
this change a purely mechanical transformation, without changing any contents.
2023-01-05 14:15:01 +01:00
Valentin Gagarin
caebe4112e
reorder columns
...
this is for a simpler transformation into a series of subsections
2023-01-05 14:15:01 +01:00
Naïm Favier
3c968191f1
move unsafeDiscardReferences
out of outputChecks
...
It's not a check.
2023-01-03 18:53:01 +01:00
Naïm Favier
15f7fa59be
unsafeDiscardReferences
...
Adds a new boolean structured attribute
`outputChecks.<output>.unsafeDiscardReferences` which disables scanning
an output for runtime references.
__structuredAttrs = true;
outputChecks.out.unsafeDiscardReferences = true;
This is useful when creating filesystem images containing their own embedded Nix
store: they are self-contained blobs of data with no runtime dependencies.
Setting this attribute requires the experimental feature
`discard-references` to be enabled.
2023-01-03 17:19:16 +01:00
Valentin Gagarin
9cb1610257
define the terms "realise" and "valid" for store paths
...
add links to the glossary definition where the terms are used
2023-01-03 13:53:53 +01:00
Eelco Dolstra
6b69652385
Merge remote-tracking branch 'origin/master' into coerce-string
2023-01-02 20:53:39 +01:00
Théophane Hufschmitt
34a31b33f1
Merge pull request #7278 from fricklerhandwerk/antiquotation
...
antiquotation -> string interpolation
2023-01-02 15:03:45 +01:00
Théophane Hufschmitt
a654ae8269
Merge pull request #7066 from fricklerhandwerk/architecture-overview
...
manual: architecture overview
2023-01-02 14:42:01 +01:00
Valentin Gagarin
e0c4a95611
antiquotation -> string interpolation
...
as proposed by @mkaito[1] and @tazjin[2] and discussed with @edolstra
and Nix maintainers
[1]: https://github.com/NixOS/nix.dev/pull/267#issuecomment-1270076332
[2]: https://github.com/NixOS/nix.dev/pull/267#issuecomment-1270201979
Co-authored-by: John Ericson <git@JohnEricson.me>
Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
2023-01-02 14:38:57 +01:00
Eelco Dolstra
80a0f77e49
Merge pull request #7470 from obsidiansystems/simplify-tests-slightly
...
Make `./mk/run-test.sh` work by itself; add `mk/debug-test.sh`
2023-01-02 14:14:30 +01:00
Théophane Hufschmitt
cfd6c7fc9b
Merge pull request #7485 from fricklerhandwerk/doc-store-derivation
...
define "store derivation"
2023-01-02 13:26:41 +01:00
John Ericson
efbd1d15c6
Apply suggestions from code review
...
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2022-12-23 08:59:36 -08:00
Eelco Dolstra
c164d304f3
nix develop: Set personality
...
This makes 'nix develop' set the Linux personality in the same way
that the actual build does, allowing a command like 'nix develop
nix#devShells.i686-linux.default' on x86_64-linux to work correctly.
2022-12-23 16:33:55 +01:00
Akhil
a3a0e414c2
Deletes build users and group
2022-12-23 14:06:51 +05:30
Valentin Gagarin
7797661a70
link "store derivation" to glossary definition
2022-12-21 11:42:50 +01:00
Valentin Gagarin
3a66d82e1d
update description of "store derivation" in installables section
...
a store derivation is not a store path itself, it has a store path.
2022-12-21 11:42:22 +01:00
Valentin Gagarin
62f4f883a7
define "store derivation"
2022-12-21 11:42:22 +01:00
John Ericson
0251d44cc2
Make ./mk/run-test.sh
work by itself; add mk/debug-test.sh
...
First, logic is consolidated in the shell script instead of being spread
between them and makefiles. That makes understanding what is going on a
little easier.
This would not be super interesting by itself, but it gives us a way to
debug tests more easily. *That* in turn I hope is much more compelling.
See the updated manual for details.
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2022-12-21 02:28:33 -05:00
Valentin Gagarin
7e31a991db
make relative links explicit
2022-12-20 14:28:43 +01:00
Valentin Gagarin
c162c90b43
add more explanation to diagrams
...
this is to help reading the diagrams, otherwise arrows and labels were
reported as being ambiguous.
2022-12-20 09:59:59 +01:00
Eelco Dolstra
9fa8b02c41
Merge pull request #7456 from ncfavier/fix-links
...
doc: fix links
2022-12-13 17:27:13 +01:00
Naïm Favier
129ece7ce9
doc: fix links
2022-12-13 15:49:40 +01:00
John Ericson
5273cf4c97
Merge remote-tracking branch 'upstream/master' into indexed-store-path-outputs
2022-12-12 17:40:49 -05:00
John Ericson
dabb03b8d0
Merge remote-tracking branch 'upstream/master' into indexed-store-path-outputs
2022-12-12 17:36:02 -05:00
John Ericson
c7cce3e4e1
Improve release notes
2022-12-12 16:29:49 -05:00
Valentin Gagarin
4ed8bb1cb1
suggestions from review
2022-12-12 14:29:24 +01:00
Eelco Dolstra
fa409131cd
Add links to the manual
...
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2022-12-12 14:05:54 +01:00
Eelco Dolstra
fd0ed75118
Support flake references in the old CLI
...
Fixes #7026 .
2022-12-12 14:05:52 +01:00
Eelco Dolstra
7396844676
Merge pull request #7421 from edolstra/lazy-trees-trivial-changes
...
Trivial changes from the lazy-trees branch
2022-12-12 13:52:56 +01:00
John Ericson
1879c7c95e
Merge branch 'master' into indexed-store-path-outputs
2022-12-12 07:33:36 -05:00
Eelco Dolstra
c66c904a05
Tweak NIX_PATH description
2022-12-12 12:54:15 +01:00
Eelco Dolstra
add417ec14
Fix indentation
2022-12-12 12:46:54 +01:00
Eelco Dolstra
037d5c4299
Manual improvements
...
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2022-12-12 12:43:44 +01:00
Théophane Hufschmitt
830b3bddf9
Merge pull request #7324 from CircuitCoder/master
...
Update uninstall guide involving systemd
2022-12-09 13:57:26 +01:00
Théophane Hufschmitt
1dd7779c7c
Merge pull request #7379 from fricklerhandwerk/refactor-generate-options
...
refactor rendering documentation of options
2022-12-08 06:39:13 +01:00
Valentin Gagarin
b8a1ff98c1
use HTML anchors for config parameters
...
this avoids incorrect rendering on the man pages, since `lowdown`
neither parses the anchor syntax nor HTML.
this should rather be fixed in lowdown, as adding more anchors
would otherwise produce ever more noise and error-prone repetition.
2022-12-07 16:18:50 +01:00
Eelco Dolstra
b5b7902a08
Merge branch 'master' into remove-repeat
2022-12-07 16:04:47 +01:00
Eelco Dolstra
703d863a48
Trivial changes from the lazy-trees branch
2022-12-07 14:06:34 +01:00
endgame
c710aa1abd
Post build hook signing ( #7408 )
...
* docs: Use secret-key-files when demonstrating post-build-hooks
The docs used to recommend calling `nix store sign` in a post-build
hook, but on more recent versions of nix, this results in unsigned
store paths being copied into binary caches. See
https://github.com/NixOS/nix/issues/6960 for details.
Instead, use the `secret-key-files` config option, which signs all
locally-built derivations with the private key.
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2022-12-07 13:55:02 +01:00
Linus Heckemann
8e0946e8df
Remove repeat and enforce-determinism options
...
These only functioned if a very narrow combination of conditions held:
- The result path does not yet exist (--check did not result in
repeated builds), AND
- The result path is not available from any configured substituters, AND
- No remote builders that can build the path are available.
If any of these do not hold, a derivation would be built 0 or 1 times
regardless of the repeat option. Thus, remove it to avoid confusion.
2022-12-07 11:36:48 +01:00
Eelco Dolstra
5b4b2eefa1
Release notes
2022-12-06 13:55:09 +01:00
Valentin Gagarin
0ea62670ed
move documentation on auto-allocate-uids
to options docs
...
this is where it belongs and can be found together with the other
options.
2022-12-01 04:40:02 +01:00
Eelco Dolstra
7dd3e1fec4
Add example
2022-11-28 22:04:51 +01:00
Eelco Dolstra
67bcb99700
Add a setting for enabling cgroups
2022-11-28 21:54:02 +01:00
Liu Xiaoyi
c4ce89f772
Clarify uninstallation steps on Linux
...
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2022-11-26 22:01:51 +08:00
John Ericson
26534f141c
Merge branch 'master' into indexed-store-path-outputs
2022-11-25 08:14:32 -05:00
Eelco Dolstra
2aa3f2e810
Include UID in hex
2022-11-23 17:07:59 +01:00
Eelco Dolstra
989fc8a8b9
Add release notes
2022-11-23 15:24:50 +01:00
Valentin Gagarin
52f0c80917
fix error in language overview
...
it is not possible to antiquote numbers.
2022-11-22 10:36:21 +01:00
Liu Xiaoyi
4d55acf515
Apply suggestions from code review
...
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
2022-11-21 13:46:22 +08:00
Liu Xiaoyi
cc620d961f
Updated uninstall guide involving systemd
...
Co-authored-by: sequencer <liu@jiuyang.me>
2022-11-20 20:04:29 +08:00
Théophane Hufschmitt
6bf8736517
Add release-notes for the context-restriction in readFile
2022-11-14 15:03:53 +01:00
Théophane Hufschmitt
302ddee749
Merge pull request #7279 from fricklerhandwerk/uninstall
...
add removing users to uninstall instructions
2022-11-11 14:39:07 +01:00
Valentin Gagarin
2af036e5a3
remove stray comma
2022-11-11 14:01:13 +01:00
Valentin Gagarin
9d20a056c8
remove external link
...
the language has its own overview page where its properties are
described in sufficient detail.
2022-11-09 01:36:17 +01:00
Valentin Gagarin
3d716df7ce
make diagrams compatible with svgbob
...
this will at some point enable rendering them nicely for the web
2022-11-09 01:29:01 +01:00
Valentin Gagarin
98447c1a7f
clarify subject of sentence
...
Co-authored-by: Bryan Honof <bryan.honof@tweag.io>
2022-11-09 01:29:01 +01:00
Valentin Gagarin
b5728ace5d
add articles
2022-11-09 01:29:01 +01:00
Valentin Gagarin
be8744f937
manual: architecture overview
...
these changes were not merged properly and had to be reverted.
see merge commit d8e54d19f7
for full
history leading up to here.
2022-11-09 01:29:01 +01:00
Valentin Gagarin
d8781c4fc5
add removing users to uninstall instructions
2022-11-09 01:11:47 +01:00
Valentin Gagarin
ffca3e34cb
Merge pull request #6906 from fricklerhandwerk/language-overview
...
add syntax overview from NixOS manual
2022-11-09 00:52:53 +01:00
Valentin Gagarin
f7ab93b068
manual: build action -> build task
...
after discussing this with multiple people, I'm convinced that "build
task" is more precise: a derivation is not an action, but inert until it
is built. also it's easier to pronounce.
proposal: use "build task" for the generic concept "description of how
to derive new files from the contents of existing files". then it will
be easier to distinguish what we mean by "derivation" (a specific data
structure and Nix language value type) and "store derivation" (a
serialisation of a derivation into a file in the Nix store).
2022-11-06 13:28:18 +01:00
John Ericson
13f2a6f38d
Merge branch 'master' into indexed-store-path-outputs
2022-10-28 23:22:18 +01:00
Guillaume Maudoux
2a7348f986
Fixup merge typo
2022-10-22 23:38:50 +02:00
Johan Herland
1ec8810687
Explain how Nix handles antiquotation of paths
...
Specifically, explain why Nix does not _re_evaluate paths during a
`nix repl` session. This is a thing that bit me while playing around
with paths and antiquotation in `nix repl` while reading the Nix
language tutorial at https://nix.dev/tutorials/nix-language .
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2022-10-19 11:50:58 +02:00
Guillaume Maudoux
3f9f6ae127
Merge remote-tracking branch 'origin/master' into coerce-string
2022-10-16 20:39:19 +02:00
Valentin Gagarin
ac0fb38e8a
Merge pull request #6652 from abathur/doc_install_tests
2022-10-05 17:45:42 +02:00
Travis A. Everett
e1418430ac
Apply suggestions from code review
...
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2022-10-05 09:52:53 -05:00
Valentin Gagarin
927234cfb2
Merge pull request #6870 from amjoseph-nixpkgs/pr/doc/explain-local-remote-binary-substituter
2022-10-05 09:01:42 +02:00
Solene Rapenne
847cd49909
nix-copy-closure: improve wording
2022-09-28 01:05:46 +02:00
Théophane Hufschmitt
6a64820cb4
Merge pull request #7082 from rapenne-s/ccache
...
add ccacheStdenv
2022-09-24 12:45:27 +02:00
Solène Rapenne
e04b38f789
add ccacheStdenv
...
when using ccache, rebuild time has been measured
89% faster while not slowing the speed of cold builds
2022-09-23 11:21:19 +02:00
Travis A. Everett
84bdb0e3ad
address review feedback
...
Mainly:
- Try to triangulate between narrative that framed this as
a new/easy process and the need for a reference that will
not quickly grow stale.
- Fix a ~continuity issue where the text was talking about
"your Cachix cache" before saying that you'd need to make
a Cachix cache to enable the installer tests.
- Adopt suggestion on titling, and nest subtitles in the
installer test section.
2022-09-18 13:02:42 -05:00
Travis A. Everett
4bd52bf6c4
Apply suggestions from code review
...
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2022-09-17 13:20:11 -05:00
Adam Joseph
ad5b09423a
release-notes/rl-next.md: note new argument to fetchurl.nix
2022-09-16 01:59:24 -07:00
Valentin Gagarin
dc8c0b173c
Update doc/manual/src/contributing/hacking.md
2022-09-16 09:36:55 +02:00
Valentin Gagarin
1ae974120a
Update doc/manual/src/contributing/hacking.md
2022-09-16 09:36:37 +02:00
Valentin Gagarin
0a4bd9fe88
Update doc/manual/src/contributing/hacking.md
2022-09-16 09:36:30 +02:00
Valentin Gagarin
47fa1087c8
Update doc/manual/src/contributing/hacking.md
2022-09-16 09:36:20 +02:00
Valentin Gagarin
1d295e5fe7
Merge pull request #6934 from fricklerhandwerk/revert-architecture
...
Revert #6420 "Document what Nix *is*" so we can start over with smaller change sets
2022-09-09 13:31:05 +02:00
Guillaume Maudoux
eb460a9529
WIP: broken merge but need a git checkpoint
2022-09-07 00:34:03 +02:00
Adam Joseph
e90f2fcfc7
glossary: add entry for chroot store
(used 11 times in nix)
2022-09-01 18:28:05 -07:00
Adam Joseph
e6f5352e71
#binary-cache -> #gloss-binary-cache
2022-09-01 18:27:00 -07:00
Adam Joseph
59dc8346ca
move substituter signature-checking conditions to configuration file documentation
2022-09-01 17:51:56 -07:00
Adam Joseph
f6c750e8b2
glossary: remove extraneous comma
2022-09-01 17:48:34 -07:00
Adam Joseph
887e922be2
glossary: outputHash, not __outputHash
2022-09-01 17:47:13 -07:00
Adam Joseph
d5e064d816
glossary: fix broken link
2022-09-01 17:46:31 -07:00
Adam Joseph
57f12df5e4
input-addressed store object: include FODOs
2022-09-01 15:09:10 -07:00
Adam Joseph
8139bbe2ba
implement https://github.com/NixOS/nix/pull/6870#pullrequestreview-1093700220
2022-09-01 15:01:07 -07:00
Adam Joseph
def4fb9a0f
__outputHash: add link
2022-09-01 14:47:33 -07:00
Adam Joseph
1b2b8c39fd
fix link to language/advanced-attributes.md#adv-attr-contentAddressed
2022-09-01 14:47:17 -07:00
Adam Joseph
0a98d564b3
glossary: resolve FIXME in #gloss-fixed-output-derivation
2022-09-01 14:41:27 -07:00
Adam Joseph
1f56b5d772
doc/manual: un-inline definitions from substitute
2022-09-01 14:13:21 -07:00
Adam Joseph
41153f30bd
glossary: substituter: merge output-addressed cases
2022-09-01 14:13:21 -07:00
Adam Joseph
9cb8412143
Update doc/manual/src/glossary.md
...
Co-authored-by: John Ericson <git@JohnEricson.me>
2022-09-01 20:41:04 +00:00
Adam Joseph
2812682ebe
Update doc/manual/src/glossary.md
...
Co-authored-by: John Ericson <git@JohnEricson.me>
2022-09-01 20:40:39 +00:00
Adam Joseph
520587b9a0
glossary: local store: clarify
2022-09-01 13:39:48 -07:00
Valentin Gagarin
f35b3aa47b
do not use unwarranted pkgs in example
2022-08-31 09:16:37 +02:00
Eelco Dolstra
b0488a29dc
Branch 2.11 release notes
2022-08-24 22:44:58 +02:00
Eelco Dolstra
04e74f7c8b
Merge pull request #6612 from NixOS/parallel-nix-copy
...
Make nix copy parallel again
2022-08-24 15:31:42 +02:00
Eelco Dolstra
4c96761c2b
Merge remote-tracking branch 'origin/master' into parallel-nix-copy
2022-08-22 15:29:10 +02:00
Valentin Gagarin
d8e54d19f7
Revert "Merge pull request #6420 from nix-community/doc-what-is-nix"
...
This reverts commit 81e101345f
, reversing
changes made to 7d1280bbaf
.
2022-08-22 12:52:15 +02:00
Andrei Boar
50f5b6c733
Update doc/manual/src/command-ref/env-common.md
...
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2022-08-19 12:28:51 +03:00
Andrei Boar
82b867d0b5
cover empty string case
2022-08-19 11:51:32 +03:00
Valentin Gagarin
703b335c1d
reword description of language properties
...
the list style is supposed to give more structure.
each property is explained as concisely as possible while trying not to
sound too fancy.
2022-08-15 11:34:39 +02:00
Valentin Gagarin
71e9c28694
reword introduction to overview
2022-08-15 11:15:03 +02:00
Valentin Gagarin
bc315326fa
fix whitespace to please markdown
...
keep some indentation to ease source readability
2022-08-15 11:13:05 +02:00
Valentin Gagarin
6ba8d6dc82
add more examples on string interpolation
2022-08-15 11:06:40 +02:00
Valentin Gagarin
c209e6e108
add more list examples
2022-08-15 10:18:56 +02:00
Valentin Gagarin
0378531bf2
add curried function
2022-08-15 10:18:56 +02:00
Valentin Gagarin
2e4704ca93
add second @ pattern example
2022-08-15 10:18:56 +02:00
Valentin Gagarin
5c25bdee50
add null
2022-08-15 10:18:56 +02:00
Valentin Gagarin
391fd10b12
add home path
2022-08-15 10:18:56 +02:00
Valentin Gagarin
587ae9ada5
add search path
2022-08-15 10:18:56 +02:00
Valentin Gagarin
21438acc70
add absolute path
2022-08-15 10:18:56 +02:00
Valentin Gagarin
e6f7c180de
add floating point number
2022-08-15 10:18:56 +02:00
Valentin Gagarin
292cab039d
add multi-line string
2022-08-15 10:18:56 +02:00
Valentin Gagarin
f165a8ae08
flarify relative path semantics
2022-08-15 10:18:56 +02:00
Valentin Gagarin
43188d3d18
make hash and version distinguishable as placeholder
2022-08-15 10:18:56 +02:00
Valentin Gagarin
90836397d3
remove stale section link
2022-08-15 10:18:56 +02:00
Valentin Gagarin
3378a3bce8
add syntax overview from NixOS manual
...
taken verbatim to keep track of required corrections.
made it an HTML table to more easily change structure and keep diffs
minimal.
2022-08-15 10:18:56 +02:00
Eelco Dolstra
af4e8b00fb
Merge pull request #6882 from DeterminateSystems/allow-multi-user-as-root
...
Allow installing multi-user as root on macOS and Linux
2022-08-12 10:19:03 +02:00
Graham Christensen
7bb1e913b3
Don't prompt about using sudo if we're already root
2022-08-10 09:37:08 -04:00
Graham Christensen
88a0f3b6ba
Strip whitespace in installing-binary.md
2022-08-10 09:37:08 -04:00
Adam Joseph
bac1e1bf8c
Update doc/manual/src/glossary.md
...
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2022-08-08 17:52:31 +00:00
Travis A. Everett
9b7bd2dd1f
Apply suggestions from code review
...
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2022-08-08 10:04:27 -05:00
Travis A. Everett
b5d85f0922
Apply suggestions from code review
...
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2022-08-05 13:49:18 -05:00
Adam Joseph
1d3b92e80c
move package-management/terminology into glossary.md
2022-08-05 10:39:43 -07:00
Adam Joseph
4de95f7f56
gesture at explanation of why binary caches exist
2022-08-05 10:33:48 -07:00
Adam Joseph
d5506aa712
Update doc/manual/src/package-management/terminology.md
...
Co-authored-by: Attila Gulyas <toraritte@gmail.com>
2022-08-05 17:19:52 +00:00
Adam Joseph
66a93a76b9
Update doc/manual/src/package-management/terminology.md
...
Co-authored-by: Attila Gulyas <toraritte@gmail.com>
2022-08-05 17:15:37 +00:00
Adam Joseph
2eb74c918d
derivations do not need to be signed
2022-08-05 10:13:41 -07:00
Adam Joseph
aae771cad2
!implement https://github.com/NixOS/nix/pull/6870#discussion_r938912244
2022-08-05 10:12:46 -07:00
Eelco Dolstra
4eb566603a
Comment out the architecture section
...
This needs more review and probably should be a separate book.
2022-08-05 11:01:40 +02:00
Adam Joseph
1b97f3872e
!fixup: transposed characters
2022-08-04 14:22:14 -07:00
Adam Joseph
62674659ed
!fixup capitalize Nix
2022-08-04 14:21:17 -07:00
Adam Joseph
8f44d24c52
!fixup whitespace
2022-08-04 14:19:25 -07:00
Adam Joseph
56d4fc194b
fourth trust condition: FODs
2022-08-04 14:14:24 -07:00
Adam Joseph
a5be5e0120
doc/manual: define {local,remote} store, binary cache, substituter
...
Nix veterans intuitively know what the following terms mean. They are
used in several places in the nix documentation, but never defined:
- local store
- remote store
- binary cache
- substituter
In particular, I found the last two terms to be confusingly similar.
Let's give definitions for them.
2022-08-04 14:07:06 -07:00
John Ericson
39d32ac4c6
Add disclaimer that arch section is WIP and links may rot
...
So we can iterate without worrying so much.
2022-08-04 14:02:58 -04:00
John Ericson
6f6498f59c
Remove header fragments which is not needd
2022-08-04 14:02:38 -04:00
John Ericson
016d7a8f78
Fix rosetta stone file name
2022-08-04 14:02:19 -04:00
John Ericson
b430a6743c
Remove sections within from SUMMARY
2022-08-04 14:01:55 -04:00
Andrei Boar
1c2c1a6e00
Update doc/manual/src/command-ref/env-common.md
...
Co-authored-by: Jan Tojnar <jtojnar@gmail.com>
2022-08-04 16:17:24 +03:00
John Ericson
bc118854d0
Merge remote-tracking branch 'upstream/master' into doc-what-is-nix
2022-08-04 09:11:42 -04:00
Andrei Boar
a8ac6a4120
Update doc/manual/src/command-ref/env-common.md
...
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2022-08-04 16:01:02 +03:00
Andrei Boar
cedcfe861c
Merge branch 'manual-nix-path-empty' of github.com:zuzuleinen/nix into manual-nix-path-empty
2022-08-04 15:56:13 +03:00
Andrei Boar
f72545e864
update to suggested changes
2022-08-04 15:56:01 +03:00
Valentin Gagarin
b631742277
fix page rendering
...
apparently it is not possible to link to page anchors with `mdBook`[1]
[1]: https://github.com/rust-lang/mdBook/issues/167
2022-08-04 14:31:33 +02:00
Domen Kožar
7d1280bbaf
Merge pull request #6678 from abathur/update_darwin_uninstall
...
doc: update darwin uninstall instructions
2022-08-04 14:09:09 +02:00
Andrei Boar
6dfd8a78d9
Update doc/manual/src/command-ref/env-common.md
...
Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
2022-08-04 15:04:52 +03:00
Valentin Gagarin
cc3a5f4ba2
use correct mdBook syntax for callouts
2022-08-04 14:04:14 +02:00
Valentin Gagarin
8cec32e7f5
fix directory tree renderings
2022-08-04 13:51:35 +02:00
Domen Kožar
84a26882f8
Update doc/manual/src/installation/installing-binary.md
...
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2022-08-04 06:23:45 -05:00
Domen Kožar
3c2de2da01
Update doc/manual/src/installation/installing-binary.md
...
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2022-08-04 06:23:36 -05:00
Andrei Boar
5a75aa8595
manual: update docs when NIX_PATH is empty
2022-08-04 14:19:51 +03:00
Valentin Gagarin
3df1ee2ba5
clarify what explicitly declaring certain dependencies means
2022-08-04 12:37:48 +02:00
Valentin Gagarin
b7309ce624
move architecture to the end
2022-08-04 12:37:48 +02:00
Valentin Gagarin
00a7eaed67
add file system object to table of contents
2022-08-04 12:37:48 +02:00
Valentin Gagarin
db6faf44a9
clarify what store objects can be
...
the store of course makes a distinction, but that is not relevant here
2022-08-04 12:37:48 +02:00
Valentin Gagarin
0228eb8ae7
add Java example on manual dependency declaration
2022-08-04 12:37:48 +02:00
Valentin Gagarin
29c062537d
hashes: truncate -> reduce, mention SHA-256
...
the longer SHA-256 hashes are not truncated, but in fact processed.
Co-authored-by: Thomas <twatson52@mac.com>
2022-08-04 12:37:48 +02:00
Valentin Gagarin
9cabba1fc3
mention hard links
...
Co-authored-by: Thomas <twatson52@mac.com>
2022-08-04 12:37:48 +02:00
Valentin Gagarin
bac86231ad
use "build plan" consistently
2022-08-04 12:37:47 +02:00
Valentin Gagarin
5a5a95696f
note customized base32
...
Nix omits E O U T characters for some reason.
2022-08-04 12:37:47 +02:00
Valentin Gagarin
de5dea45f7
use correct Nix entity
...
Nix itself does care a lot about what type of store object you have.
2022-08-04 12:37:47 +02:00
Valentin Gagarin
fe4c0b8d75
fix typo
...
Co-authored-by: Thomas <twatson52@mac.com>
2022-08-04 12:37:47 +02:00
Valentin Gagarin
def80d5777
add subsections to table of contents
2022-08-04 12:37:47 +02:00
Valentin Gagarin
c345345dee
concept map: align hights
...
this has the weird but nice emergent property that terms at the same
height are roughly at the same level of abstraction.
2022-08-04 12:37:47 +02:00
Valentin Gagarin
a28d6878b2
concept map: put closure as it is in the chapter
...
this is not as compact any more, but it more closely resembles the
chapter structure, and clearly shows that the closure property is the
key idea on which most of Nix operates.
2022-08-04 12:37:47 +02:00
Valentin Gagarin
475a332025
make concept map even more compact
2022-08-04 12:37:47 +02:00
Valentin Gagarin
d8b2f9f772
make concept map more compact
...
invert arrows to/from derivation:
- we need closures to form derivations
- we need derivations to perform builds
2022-08-04 12:37:47 +02:00
Valentin Gagarin
348432f48f
store: add concept map
...
this should help nativate the chapter by indicating which terms should
be known to understand a given concept.
2022-08-04 12:37:47 +02:00
Valentin Gagarin
ec43977553
store: match chapter introduction to outline
...
the various levels of detail should describe the same things.
2022-08-04 12:37:47 +02:00
Valentin Gagarin
7c656d90ca
simplify description of diagram
...
try not to be too fancy, it's just for reading the diagram out loud.
2022-08-04 12:37:47 +02:00
Valentin Gagarin
631ca18ee6
reword notes on copying
...
clarify that we are copying between different stores. we have not
introduced that notion or why it would be interesting, but for now it
should be fine to keep it in context of the store directory.
we could move that later to a more detailed explanation of different
store types.
2022-08-04 12:37:47 +02:00
Valentin Gagarin
c10dcccccd
make example a simple list
...
using JSON notation is unwarranted and not explained.
2022-08-04 12:37:47 +02:00
Valentin Gagarin
9c544813d7
paths -> path
...
use singular for terminology uniformly
2022-08-04 12:37:47 +02:00
Valentin Gagarin
1681f4e9f3
better explain reference scanning
2022-08-04 12:37:47 +02:00
Valentin Gagarin
fa7ad4593d
explain store directory
2022-08-04 12:37:47 +02:00
Valentin Gagarin
f632816cba
add explanation and examples of file system objects
2022-08-04 12:37:47 +02:00
Valentin Gagarin
84ddfbf8fd
remove diagonal from operations diagram
2022-08-04 12:37:47 +02:00
Valentin Gagarin
93f721b0d2
remove draft on derivations
2022-08-04 12:37:47 +02:00
Valentin Gagarin
19d8a5d839
move first mention of file system object before diagram
2022-08-04 12:37:47 +02:00
Valentin Gagarin
a90fc62b61
make clear that file system is for processes
...
Co-authored-by: John Ericson <John.Ericson@Obsidian.Systems>
2022-08-04 12:37:47 +02:00
Valentin Gagarin
7993ba1f38
constrain garbage collection scope
...
garbage collection is now incremental, and may (in theory) never delete all unreferenced objects if it is slow enough.
2022-08-04 12:37:47 +02:00
Valentin Gagarin
195aa28ff7
references are added according to build task
...
at this level of abstraction we do not really care about build instructions or what they are, and also build instructions including their arguments really amount to the build task.
2022-08-04 12:37:47 +02:00
Valentin Gagarin
80de4a4804
operations diagram: store' to the right
...
this also looks more diverse, hopefully easier to distinguish
Co-authored-by: John Ericson <John.Ericson@Obsidian.Systems>
2022-08-04 12:37:47 +02:00
Valentin Gagarin
3794618cce
add commas between output values
2022-08-04 12:37:47 +02:00
Valentin Gagarin
7b7e4c6340
use singular to match section heading
2022-08-04 12:37:47 +02:00
Valentin Gagarin
e63a768e21
use reference links for URLs
2022-08-04 12:37:47 +02:00
Valentin Gagarin
843288a451
add subsections for objects and references
...
group description of data instead of spreading it across the section.
that should help direct skimming. as it turns out, people do not
actually read any of that.
2022-08-04 12:37:47 +02:00
Valentin Gagarin
4341849193
move closure property to discussion references
2022-08-04 12:37:47 +02:00
Valentin Gagarin
445f753a82
replace pseudo code by diagrams
...
change prose description to visually resemble the data structure
2022-08-04 12:37:47 +02:00
Valentin Gagarin
db8703bcac
use reference links for URLs
2022-08-04 12:37:47 +02:00
Valentin Gagarin
4adb6602bd
clarify first sentence on store objects
2022-08-04 12:37:47 +02:00
Valentin Gagarin
4eb11d4592
fix grammar for clarity
2022-08-04 12:37:47 +02:00
Valentin Gagarin
b84f2bdfdd
introduce mapping to Unix files and processes
2022-08-04 12:37:47 +02:00
Valentin Gagarin
207992a71d
introduce store and store objects without file system details
...
this leaves open implementation details, especially about store paths
and file system objects, and allows explaining them together were it is
more appropriate. also leaves room to carefully introduce the key
insight behind Nix: applying results from programming language theory to
the operating system paradigm of files and processes.
2022-08-04 12:37:47 +02:00
Valentin Gagarin
e72a7874dc
beautify rosetta table
...
while this may eventually introduce ugly diffs, the table will now
render readably on the terminal (e.g. for `man nix` or `nix --help`)
without further intervention.
2022-08-04 12:37:47 +02:00
Valentin Gagarin
b6b112b366
use reference links for URLs
2022-08-04 12:37:47 +02:00
Valentin Gagarin
d5eea66615
introduce build tasks
...
while it appears a bit much for the overview, this way we set the stage
for going directly into data types when describing the store, instead of
first having to say what build tasks are and how they relate to build
plans.
2022-08-04 12:37:47 +02:00
Valentin Gagarin
7c3bca1372
revert to build plans in top-level overview
...
do not introduce build tasks yet, that is the next level of detail.
2022-08-04 12:37:47 +02:00
Valentin Gagarin
4639b36b53
use reference links for URLs
2022-08-04 12:37:47 +02:00
Valentin Gagarin
2303f84a68
revert to "build plan" in overview diagram
...
this displays correct composition again. build inputs and build results
are not part of build plans in terms of data objects.
also this is a much less complicated setup. this will be the first
impression of architecture, and we want to get it right.
2022-08-04 12:37:47 +02:00
Valentin Gagarin
25926c5fc6
Nix store does not underly literally everything
...
Co-authored-by: Robert Hensing <roberth@users.noreply.github.com>
2022-08-04 12:37:47 +02:00
Valentin Gagarin
0e63b9bf88
add link from overview to store section
...
the overview should only link to the three main concepts presented. the
store is now fairly fleshed out. others can follow later.
2022-08-04 12:37:47 +02:00
Valentin Gagarin
ef81276cc1
architecture overview: add link to command line reference
2022-08-04 12:37:47 +02:00
Valentin Gagarin
68d26010f6
architecture overview: add link to Nix expression language reference
...
update summary title to match file contents
2022-08-04 12:37:47 +02:00
Valentin Gagarin
75ce324052
use singular for class names consistently
2022-08-04 12:37:47 +02:00
Valentin Gagarin
689b32a543
clarify relation of tasks and plans
2022-08-04 12:37:47 +02:00
Valentin Gagarin
2a8532fb61
build rule -> build task
...
closer to "build systems a la carte", satisfies all other complaints
2022-08-04 12:37:47 +02:00
Valentin Gagarin
902638c519
build step -> build rule
...
"step" sounds atomic, while "rule" hints at internal structure, which in
our case consists of mapping inputs to outputs using build instructions.
2022-08-04 12:37:47 +02:00
Valentin Gagarin
87523f01e3
match grammatical case to arrow direction
2022-08-04 12:37:47 +02:00
Valentin Gagarin
d3effd014b
update architecture diagram
2022-08-04 12:37:47 +02:00
Valentin Gagarin
ad8c2ed7f0
remove incomplete section: input/content-addressing
2022-08-04 12:37:47 +02:00
Valentin Gagarin
3bd125ebbe
remove incomplete section: nix archives
2022-08-04 12:37:47 +02:00
Valentin Gagarin
b18852eb3f
remove incomplete section: content-addressed objects
2022-08-04 12:37:47 +02:00
Valentin Gagarin
7cec9ee361
remove incomplete section: relocatability
2022-08-04 12:37:47 +02:00
Valentin Gagarin
96876b1eae
remove incomplete section: related work
2022-08-04 12:37:47 +02:00
Valentin Gagarin
1ba6d8fb1d
remove incomplete section: building
2022-08-04 12:37:47 +02:00
John Ericson
3d8f2f5cc1
Fix manual TOC links
2022-08-04 12:37:47 +02:00
John Ericson
b01bb65d30
Fix rel path in doc
2022-08-04 12:37:47 +02:00
Valentin Gagarin
b5ca3d12b6
reword details on keeping closure property
2022-08-04 12:37:47 +02:00
Valentin Gagarin
e90586c0a4
add motivation for references
2022-08-04 12:37:47 +02:00
Valentin Gagarin
07d490fd89
stores can also delete objects
2022-08-04 12:37:47 +02:00
Valentin Gagarin
5fda995491
formalize file system objects
...
convention: describe every data type in prose, and illustrate with
a class diagram, and a textual representation of an abstract
data type.
right now we save ourselves the trouble of doing class diagrams, we can
add them later. but they are important.
2022-08-04 12:37:47 +02:00
Valentin Gagarin
fb2ec7e4ec
reword section on references
...
use file Contents instead of Data, as that flows more naturally in the
prose.
simplify explanation of the idea behind scanning for store paths
remove references to unfinished sections.
2022-08-04 12:37:47 +02:00
Valentin Gagarin
90fc5b41a8
reword file system objects
...
- use singular for the "class"
- more consistency in type definition
- minor fixes in wording
2022-08-04 12:37:47 +02:00
Valentin Gagarin
e5e48593c8
move git comparison to related work
...
it should be pulled out of the branch before we go for merging
2022-08-04 12:37:47 +02:00
Valentin Gagarin
a145007a57
component -> store object, realisation -> build
2022-08-04 12:37:47 +02:00
Valentin Gagarin
40efe5b30b
build instrcution: Task -> function
2022-08-04 12:37:47 +02:00
Valentin Gagarin
ca5ebf6382
revert build plan/step distinction, reorder rows
2022-08-04 12:37:47 +02:00
Valentin Gagarin
610ddf44aa
reword introduction to rosetta stone, add links
...
attempt to explain used and documented terminology, as well as how
the declarative programming paradigm relates to building software.
in the future one could highlight encouraged terms to shape future
material into higher consistency.
2022-08-04 12:37:47 +02:00
Valentin Gagarin
5f96a0b4e8
associated operations are not collected
...
Co-authored-by: John Ericson <git@JohnEricson.me>
2022-08-04 12:37:47 +02:00
Valentin Gagarin
070c85499b
fix grammar
...
Co-authored-by: John Ericson <git@JohnEricson.me>
2022-08-04 12:37:47 +02:00
Valentin Gagarin
7b5c00f67f
add concrete store examples, reword note on file system
2022-08-04 12:37:47 +02:00
Valentin Gagarin
c8c1b705ad
reword section on Nix store
2022-08-04 12:37:47 +02:00
Valentin Gagarin
39f01176a7
design -> architecture, add motivation
...
following ideas found in Architecture of Gazelle[1]
[1]: 56d35f8db0/Design.rst
2022-08-04 12:37:47 +02:00
Valentin Gagarin
d30033759a
address Nix language consistently as configuration language
2022-08-04 12:37:46 +02:00
Valentin Gagarin
7598126391
remove separate meta-section, add architecture diagram
...
the diagram is a first approximation and only covers that same section.
of course there is much more going on, and other features should at some
point also be illustrated.
we also have to think about presentation format and technicalities
behind it. the manual has to render to `man`, but we may want something
more refined for web view.
2022-08-04 12:37:46 +02:00
Valentin Gagarin
34ea74c9ec
reword introductory section
...
there should be a meta section for each chapter to give motivation of
the presented structure. the structure itself is visible from the table
of contents.
2022-08-04 12:37:46 +02:00
Valentin Gagarin
b387d80943
remove sentence for chapter transition
...
idea: sections could be read in different orders by linking them in
different ways (e.g. depth-first or breadth-first). adding hard-coded
transitions makes that confusing.
2022-08-04 12:37:46 +02:00