1
0
Fork 0
mirror of https://github.com/NixOS/nix.dev.git synced 2024-10-18 14:32:43 -04:00
Commit graph

767 commits

Author SHA1 Message Date
Valentin Gagarin 034b6485c6 update keywords and language
most importantly Nixpkgs was missing.

the documentation team decided to use European English some time ago.
2023-05-12 07:25:46 +02:00
Valentin Gagarin e47b082d22 turn anti-patterns into best practices
make generous use of admonitions
2023-05-12 05:49:48 +02:00
Valentin Gagarin c6cbc22211 FAQ: should I enable flakes 2023-05-12 04:07:58 +02:00
Valentin Gagarin 744eeafbda assign copyright to NixOS Foundation
based on Nix documentation team discussion on 2022-07-07
https://discourse.nixos.org/t/2022-07-07-documentation-team-meeting-notes-4/20198

"the author" are now nix.dev contributors, as this is the most accurate
way we can currently represent it. eventually we should provide a way to
credit authorship more precisely.
2023-05-11 20:48:39 +02:00
Valentin Gagarin ac5b6c2a41
clarify notes on reading files
placeholders were referred to before showing the example, this is probably confusing
2023-05-11 18:49:29 +02:00
Valentin Gagarin 2bc7e57227
reword note on default.nix 2023-05-11 18:40:27 +02:00
Valentin Gagarin 964b3cf2e1
update Nix version in tutorial
this is the one currently in nixpkgs-unstable
2023-05-11 18:39:50 +02:00
Zach Mitchell 4ed3b9ceb8 Remove nesting, add tutorial series description 2023-05-09 22:36:30 -06:00
Zach Mitchell b573def109 Set the structure of the tutorials section 2023-05-07 09:08:04 -06:00
Zach Mitchell f127d9da6b Add link to linkcheck ignore list 2023-05-06 12:56:18 -06:00
Zach Mitchell 8313ca8824 Fix link to renamed anchor 2023-05-06 12:39:39 -06:00
Lorenzo Manacorda 8834f94a67 integrate feedback and fix some issues 2023-04-29 21:50:42 +02:00
asymmetric d9e8b3bbfe
Update source/contributing/how-to-get-help.md
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2023-04-29 19:43:30 +00:00
Lorenzo Manacorda 822aa7e49b re-add to TOC 2023-04-17 12:12:45 +02:00
Lorenzo Manacorda 7e1880195f incorporate feedback 2023-04-17 12:10:59 +02:00
asymmetric 40a1354419 Update source/contributing/how-to-get-help.md
Co-authored-by: Silvan Mosberger <github@infinisil.com>
2023-04-17 12:10:59 +02:00
Lorenzo Manacorda b517356b57 add section on how to get help 2023-04-17 12:10:57 +02:00
Zach Mitchell, PhD f61492b03f
Update reference list order
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2023-04-14 20:37:16 -04:00
Zach Mitchell 20f2673d70 Add recipes, reference, and contributing sections 2023-04-13 21:50:10 -04:00
LX fc1cad935a
add details about import (#506)
Add information about the behaviour of `import` if the given path is a directory.

Co-authored-by: Silvan Mosberger <github@infinisil.com>
2023-04-06 23:44:42 +02:00
Zach Mitchell, PhD 00e8606dd7
Fix typos in ad-hoc-developer-environments.md 2023-04-05 22:08:09 -04:00
Valentin Gagarin 89d5f8aa37
Merge pull request #491 from Hamled/patch-1
NIX_PATH includes nixpkgs in cross-compilation.md
2023-04-05 01:26:26 +02:00
Valentin Gagarin e5738519fc
Merge pull request #449 from fricklerhandwerk/pinning-fixups
fixups to pinning overview
2023-04-04 10:35:44 +02:00
Valentin Gagarin d433507a62
clarify local expression path 2023-04-04 10:29:59 +02:00
Niklas Mohrin ac72c7256b
Add missing trailing newline in multi-line string example 2023-03-30 22:35:40 +02:00
Valentin Gagarin 07de7ee501 remove redundant terms from glossary
we should always link to authoritative definitions of terms when they
exist, instead of doing double book keeping here.

"attribute name" should be uniquely defined in the Nix reference manual.

"package name" should be uniquely defined in the Nixpkgs manual.
2023-03-30 09:58:16 +02:00
Yuki Langley 25247077f4
Merge branch 'master' into information-overload 2023-03-29 14:20:53 +07:00
Charles Ellis 2067612bb3
NIX_PATH includes nixpkgs in cross-compilation.md 2023-03-23 17:47:45 -07:00
wzy 2da2d37082
Add information about installing nix by pacman (#399)
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2023-03-21 11:24:30 +01:00
Valentin Gagarin 77b5531a9a
rework nix-shell tutorial (#447)
this addresses multiple issues observed in user studies, in order to
make the first steps as smooth as possible.
2023-03-20 21:01:08 +01:00
Valentin Gagarin be5a4c180a
Merge pull request #472 from NixOS/shebang
reword introduction to shebangs
2023-03-17 02:25:36 +01:00
Valentin Gagarin 959af485f9
make section title unambiguous
otherwise it may sound like we're talking about how-to guides here
2023-03-17 01:55:51 +01:00
Valentin Gagarin 076328e189
reword introduction to shebangs
a shebang is not the line, just the character sequence.
also it doesn't matter that much, so we may as well be brief.
2023-03-17 01:14:03 +01:00
Valentin Gagarin 2db9980664
fix heading level 2023-03-17 01:09:44 +01:00
Valentin Gagarin 1209c11eb0
fix wording 2023-03-17 01:07:35 +01:00
Valentin Gagarin 68ca23955d ignore lesswrong.com on linkcheck
their server returns 403 on CI runs even for valid URLs
2023-03-17 00:59:46 +01:00
Valentin Gagarin 22c0bf8523 add a guide on writing tutorials
including references to valuable resources, the authors of which know
much better what they're doing.
2023-03-17 00:59:43 +01:00
olaf 442577eb25
tutorial: nixos configurations on vm (#334)
* tutorial: nixos configurations on vm


Co-authored-by: Benoit de Chezelles <bew@users.noreply.github.com>
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
Co-authored-by: Henrik <i97henka@gmail.com>
2023-03-16 18:37:04 +01:00
Valentin Gagarin 18bae0f41c
Merge pull request #446 from fricklerhandwerk/interpreted-scripts-next-steps
add additional links and next steps
2023-03-13 09:57:55 +01:00
Valentin Gagarin a9f1378349
use OpenGroup's spec for env 2023-03-08 22:19:46 +01:00
Valentin Gagarin c21145daa3
fix wording 2023-03-06 23:04:51 +01:00
Valentin Gagarin 0a5fa83a28
introduce the documentation team
since many people arrive here without prior knowledge,
there is no way for them to associate this resource with the official team.
2023-03-06 23:04:01 +01:00
Panashe Fundira f16fd5854c
Quote URLs in nix language tutorial
Called out as an anti-pattern https://nix.dev/anti-patterns/language#unquoted-urls

This change is to make the docs more self-consistent, and promote good habits in the reader.
2023-03-05 08:51:35 -05:00
Valentin Gagarin 35833bd9fe limit depth of tutorials TOC 2023-03-05 02:53:27 +01:00
Domen Kožar 36d3bf7bd7
bump actions to fix a critical bug 2023-03-01 06:03:02 +00:00
Pol Dellaiera 2de1f5bd12
Update nix-language.md (#453) 2023-02-25 00:49:34 +01:00
Valentin Gagarin 724cc43ae1 fix broken link 2023-02-20 15:33:29 +01:00
Henrik Karlsson cc76b7d0cb removing snabb hydra cache
This hydra cache no longer exists.
2023-02-20 08:40:55 +00:00
Henrik fda85e22d0
working on #PR 325 - nix shell and shellbang (#427)
* changing to non-mobile wiki link

* adding link to nix-shell pure option.

* mentioning shebang just under the heading.

* adding bash in the listed included packages.

* corrected link snippet

* address review comments

Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2023-02-16 19:23:23 +01:00
Valentin Gagarin 710a10af81
fixups to the Nix language manual (#448) 2023-02-16 15:48:22 +01:00
Valentin Gagarin 05d79a4203 fixups to pinning overview
remove the NixOS example, as the sample has lots of caveats, such as
having to rebuild NixOS a second time to make it effective.
2023-02-16 06:23:33 +01:00
Valentin Gagarin a6efa591dc add additional links and next steps 2023-02-16 02:36:45 +01:00
Solène Rapenne 91eda534ef
add tutorial for nix-shell in shebang (#325)
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2023-02-14 18:24:11 +01:00
Maksim Horbul 0db5c1e909 fix: type in the code example 2023-02-12 09:50:47 +01:00
Valentin Gagarin 9241b4f1d6 do not duplicate information on references 2023-02-09 19:47:25 +01:00
Valentin Gagarin afe81027aa refine wording around string interpolation 2023-02-09 19:47:25 +01:00
Gabriella Gonzalez 51d2fa4e9c
Add credit for integration test example (#434) 2023-02-08 01:22:50 +01:00
Valentin Gagarin 069bb6ffb4
bring back IPA pronunciation (#431) 2023-02-07 16:46:29 +01:00
Valentin Gagarin c22b9e139f remove notes and links to verifying Nix installation
Nix releases aren not signed any more:
https://github.com/NixOS/nix/pull/7411

nixos.org does not have the referenced section any more:
https://github.com/NixOS/nixos-homepage/pull/975
2023-02-06 10:30:48 +01:00
Felix Uhl e57b033647 Rename antiquotation to string interpolation
This is in accordance with the official naming, which was
[changed in Release 2.13](https://nixos.org/manual/nix/stable/release-notes/rl-2.13.html).
2023-01-30 15:27:17 +01:00
Domen Kožar ea42f78c36
Merge pull request #422 from doubledup/patch-1
Make install command in documentation compatible with fish shell
2023-01-24 16:40:41 +00:00
Ottmar Deinhart d8b911d12f
show how to exit nix repl (#433) 2023-01-20 22:21:53 +01:00
Jeremy Kolb 76ef73f079
Clarify that name should be set in builtins.path (#430)
* Clarify that name should be set in builtins.path
2023-01-18 19:07:43 +01:00
Julian Stecklina a0dfa01349
Update faq.md
Fix NixOS 22.05+ instructions because they refered to `turstedBinaryCaches` which does not exist anymore.
2023-01-18 12:15:33 +01:00
luukasahola 5a0d95fcd2 Fixed a minor function spelling error (Definitely didn't fix this to claim to be a NixOS contributor) 2023-01-10 12:25:19 +02:00
Luc Perkins af9c9eb3c1
Merge pull request #405 from yukiisbored/styling
Improve readibility via styling improvements
2023-01-05 16:43:55 +00:00
David Dunn be05bdef94
Use a pipe for all install commands 2022-12-28 09:36:27 +04:00
Valentin Gagarin ee2b3d63a0
Merge pull request #420 from gkelly/update-nixpkgs
Update example pinned nixpkgs to a recent one
2022-12-23 10:46:49 +01:00
Yuki Langley d8ee8efca0 install-nix: Use tabs to choose OS 2022-12-18 21:58:05 +01:00
Yuki Langley 5d1fa6c217 Use grid instead of table 2022-12-18 21:58:01 +01:00
Yuki Langley 505a96774c Use dropdown instead of details 2022-12-18 21:53:52 +01:00
Yuki Langley 3937aef0c6 Add sphinx-design extension 2022-12-18 21:29:44 +01:00
Yuki Langley 7af51a0055 Revert "Make details visually consistent"
This reverts commit 86d03051cc.
2022-12-18 21:23:56 +01:00
Yuki Langley 4b1303ccae Make details summary more consistent 2022-12-18 21:18:28 +01:00
Yuki Langley f9553d0c76 Make opened details padding consistent 2022-12-18 21:18:28 +01:00
Yuki Langley a230e3d523 Handle admonition classes inside details 2022-12-18 21:18:28 +01:00
Yuki Langley 2c2f2c7427 Apply padding to all elements under details 2022-12-18 21:18:28 +01:00
Yuki Langley 79ca846ada Use Value instead of Result
Nix language tutorial asserts that it is called *Nix value* not *Nix
result*.
2022-12-18 21:18:28 +01:00
Yuki Langley 86d03051cc Make details visually consistent 2022-12-18 21:18:28 +01:00
Yuki Langley 742f525741 Distinguish visually between expression and result
Related to https://github.com/NixOS/nix.dev/pull/395
2022-12-18 21:18:28 +01:00
David Dunn 4965408021
Add fish shell syntax for process substitution 2022-12-17 13:11:48 +02:00
Hans Christian v. Stockhausen e583297654
Fix minor error with import-builtin example (#421) 2022-12-16 18:45:35 +01:00
Yuki Langley f0239b6a91
Unify information on contributing documentation (#384)
* Unify information on contributing documentation to make it visible on nix.dev itself

Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2022-12-16 08:32:48 +01:00
Garret Kelly 3264e91e74 Update example pinned nixpkgs to a recent one
The pinned nixpkgs in these examples does not work with more recent
versions of nix.

Fixes #419
2022-12-14 11:27:22 -05:00
Valentin Gagarin aeaf6a3cd9
Merge pull request #415 from mmolhoek/fix/document-pi-4-display-problem
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2022-12-13 12:24:30 +01:00
Mischa Molhoek 8290fb7c8f Comment about display problems and fix with older kernel
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2022-12-13 12:23:21 +01:00
Mischa Molhoek 26a7673f73
You have to run nixos-rebuild switch as well (#416) 2022-12-10 19:15:55 +01:00
Yuki Langley 3f95a892ff
Rewrite "Set up development environment" (#376)
* Rewrite "Set up development environment"

The previous version is specific to Python as it uses
`buildPythonApplication` instead of `mkShell`.

This one is more general but maintains the same Python Flask web
application example.

* Update pinning-nixpkgs to use 22.11

Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2022-12-10 04:33:06 +01:00
Yuki Langley 8522325436
Add information on contributing documentation (#371)
* Add information on contributing documentation

* Refer to quick start on adding new packages

Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2022-12-10 04:24:06 +01:00
Yuki Langley e9601db8c4 Only show top-level categories on front-page 2022-12-09 14:51:38 +01:00
Yuki Langley 6df9bfc5e0
Update source/tutorials/index.md
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2022-12-09 14:46:01 +01:00
Yuki Langley d58f1503da Remove information overload from toctrees 2022-12-08 20:45:53 +01:00
Yuki Langley 428416093c
Mention WSL 2 systemd support (#406) 2022-12-04 09:16:32 +01:00
Henrik fa6aebeea6
Correction in calling functions section (#402)
* correction in calling functions section

List elements separated by white space
examples were not generating correctly.
2022-11-26 01:24:13 +01:00
Jörg Thalheim 858bf0eae3
nix-language: attempt to simplify concept overview (#397)
In the current text its not even for me clear what it is referring to. This rewrite tries to give more examples for each concept of the language.

Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2022-11-24 10:05:32 +01:00
Valentin Gagarin 6ae488e715
Merge pull request #388 from fricklerhandwerk/nix-language-introduction
rework parentheses example
2022-11-18 17:16:39 +01:00
Valentin Gagarin ec14804aee
Merge pull request #387 from fricklerhandwerk/nix-language-examples
refine worked examples
2022-11-18 17:15:50 +01:00
Valentin Gagarin dd8e3f6aa3
Merge pull request #386 from fricklerhandwerk/nix-language-tutorial
Nix language tutorial: add explanation on how `pkgs.lib` is obtained
2022-11-18 17:15:15 +01:00
Valentin Gagarin 8efe974f67
Merge pull request #392 from fricklerhandwerk/nix-language-derivation 2022-11-12 12:09:49 +01:00
Valentin Gagarin a2f10f337f fix wording on derivations
most importantly, derivations are not a special data type, but only
a certain kind of attribute set with two magic attributes.

we don't go into the details of the magic here, because it's really hard
to explain concisely. it would only distract from the surface feature
we care about here: composition through store paths.
2022-11-11 10:40:33 +01:00
Valentin Gagarin ad19f50231 fix typos, grammar, indentation 2022-11-09 11:14:04 +01:00
Valentin Gagarin ecf756298f
Update source/tutorials/nix-language.md 2022-11-08 20:40:39 +01:00
Yuki Langley ac06c07360 Make code blocks consistent
Illustration of shell sessions or terminals should use shell-session.

Entire expressions should be encapsulated in code blocks, not inline code.
2022-11-08 17:37:41 +01:00
Valentin Gagarin ade558c532 rework parentheses example
it was reported that the list example was confusing and lacked
explanation.

moved the example to function application, and reduced the syntax notes
to "notes on whitespace". moved the emphasis on the goals of this
tutorial to its proper place in the introduction.

it's good to leave the whitespace notes in the introductory part,
because they are unspecific and clearly belong to the "don't worry, it
may look weird, but that doesn't matter" part.
2022-11-08 14:28:01 +01:00
Valentin Gagarin 9b63c68d5c refine worked examples
it was reported that the NixOS configuration is confusing, because
information is lacking to understand what it does.

added another note reminding of this tutorial's objective.

added section headings to give hints where to look next.
2022-11-08 13:35:51 +01:00
Valentin Gagarin 3b775207a5 clarify how library functions are implemented 2022-11-08 13:16:53 +01:00
Valentin Gagarin 4a18a5ffdc add explanation on how pkgs.lib is obtained 2022-11-08 12:38:20 +01:00
Yuki Langley a4a6ce812b Rewrite GitHub anchor links to user-content-
Due to an Sphinx issue[1], linkcheck fails on GitHub anchors for
GitHub rendered documents.

This change rewrites the anchors to the ones that can be verified by
linkcheck.

[1]: https://github.com/sphinx-doc/sphinx/issues/9016
2022-11-03 17:36:40 +01:00
Yuki Langley 9b01513c45 Fold terminology section to glossary document
Resolves https://github.com/NixOS/nix.dev/issues/377
2022-10-28 19:47:15 +02:00
Valentin Gagarin 6b6dac8a6b
Merge pull request #343 from jherland/nix-language-readthrough
Nix language tutorial: fix typos, add notes
2022-10-27 10:06:15 +02:00
Niklas Hambüchen 5d4cadace9
integration testing: Fix attribute name for interactive testing
According to

70ec3b9f54/nixos/doc/manual/development/running-nixos-tests-interactively.section.md (running-tests-interactively-sec-running-nixos-tests-interactively)

`driverInteractive` is needed, and just `driver` indeed just runs through
without giving me an interactive shell.
2022-10-25 13:54:53 +02:00
Yuki Langley 3effde4b66 Use possesive not contraction 2022-10-22 17:35:41 +02:00
Yuki Langley 34455a9d5b Add filtered list of issues for each concern 2022-10-22 17:34:06 +02:00
Nejc Zupan 5ab8d5a77f Fix leftovers from .rst -> .md migration
Sphinx doesn't care about filetype suffixes so we didn't see any errors.

But it's still nice to do this bit of gardening, I suppose?
2022-10-22 17:21:04 +02:00
Yuki Langley 4f33a6d07c Move contributing from tutorials to top-level 2022-10-22 15:13:27 +02:00
Johan Herland 7017fdbb00 Warn about combining paths and antiquotation too early in the tutorial
This is the point in the tutorial where I started playing around with
paths and antiquotation in a `nix repl` session and got seriously
confused for a few minutes...

Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2022-10-19 12:01:09 +02:00
Johan Herland 17b1bd8c2e Add a sentence on what happens to antiquoted dirs (vs. files) 2022-10-19 12:00:42 +02:00
Johan Herland eb0615c397 Clarify explanation under the NixOS config example
Split one long point into two to make things clearer.

Also explain what happens to the `./hardware-configuration.nix` when evaluated.
2022-10-19 12:00:42 +02:00
Johan Herland 07098339b2 Minor clarifying reword
Without this, it almost sounds like you can bind a function to any other value.

Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2022-10-19 12:00:42 +02:00
Valentin Gagarin 2dbfa6dda5 add 'customizing packages' to recommended reading 2022-10-18 18:26:06 +02:00
Valentin Gagarin fbf2bbbfc7 reorganize recommended reading 2022-10-18 18:25:57 +02:00
Johan Herland 4b9563eb5d Fix typo 2022-10-17 13:33:14 +02:00
Valentin Gagarin 8cf6831eab
Merge pull request #342 from lafrenierejm/fix-typo 2022-10-17 07:51:47 +02:00
Joseph M LaFreniere 933096363c
Fix typo "lanuage" to "language" 2022-10-16 20:13:03 -05:00
Domen Kožar e269b465e7
github actions: bump versions 2022-10-12 14:23:52 +01:00
Valentin Gagarin befd5ef784
Merge pull request #324 from GuillaumeDesforges/patch-1
Add section "Videos" to `recommended-reading.md`
2022-10-08 00:55:15 +02:00
Yann Hamdaoui 7bd6c145bc
Fix typo in Nix language tutorial
Fix the evaluation result of an example which missed enclosing brackets.
2022-10-04 17:04:51 +02:00
Valentin Gagarin a68cf03133 rework section on purity, move antiquotation up 2022-10-04 08:34:34 +02:00
Valentin Gagarin 0bfd4b1bb2 add introductory notes on syntax 2022-10-04 08:34:34 +02:00
Valentin Gagarin abb1808c31 guide -> tutorial 2022-10-04 08:34:34 +02:00
Valentin Gagarin df7024c253 a Linux distribution 2022-10-04 08:34:34 +02:00
Valentin Gagarin 39cfb88480 show inherit inside let 2022-10-04 08:34:34 +02:00
Valentin Gagarin e711230b39 attribute sets are actually ordered 2022-10-04 08:34:34 +02:00
Valentin Gagarin b8e80af94a a derivation 2022-10-04 08:34:33 +02:00
Valentin Gagarin 014e0e507b remove too detailed details 2022-10-04 08:34:33 +02:00
Valentin Gagarin a2fe15959e rework import and side effects
based on detailed review by @infinisil
2022-10-04 08:34:33 +02:00
Valentin Gagarin cf9c8c1919 improve wording on attribute set arguments 2022-10-04 08:34:33 +02:00
Valentin Gagarin 46f1c25277 more clarifications on curried functions 2022-10-04 08:34:33 +02:00
Valentin Gagarin 961bb2766a be more precise what we cover here
most importantly, the "elements of programming" approach is understood
in a broader sence. we don't really deal with operators and just subsume
them under functions.
2022-10-04 08:34:33 +02:00
Valentin Gagarin e64b2059e0 flarify role of NixOS 2022-10-04 08:34:33 +02:00
Valentin Gagarin 23c8c80481 note the overview is an overview 2022-10-04 08:34:33 +02:00
Valentin Gagarin e5b77c58fc make Derivations a topic on its own
this pays tribute to its central role in Nix and elegantly removes it
from the part on side effects, whicht it doesn't belong to.
2022-10-04 08:34:33 +02:00
Valentin Gagarin b3407ec6b6 move indented strings to the end
they are the least significant combination of frequency of occurrence
and peculiarity, even if they're really handy.

but remember, the goal is to help people *understand* Nix language code,
not write it effectively.
2022-10-04 08:34:33 +02:00
Valentin Gagarin 90cbe92389 clarify purpose of inherit 2022-10-04 08:34:33 +02:00
Valentin Gagarin 8047c8f16e restructure functions section 2022-10-04 08:34:33 +02:00
Valentin Gagarin 3e89ed3038 search paths are not reproducible at all 2022-10-04 08:34:33 +02:00
Valentin Gagarin f478379550 add missing semicolons 2022-10-04 08:34:33 +02:00
Valentin Gagarin 1d86654878 elaborate on current directory 2022-10-04 08:34:33 +02:00
Valentin Gagarin 69b0858367 add emphasis 2022-10-04 08:34:33 +02:00
Valentin Gagarin 1dd5699888 less strict wording 2022-10-04 08:34:33 +02:00
Valentin Gagarin d2cad3d48e clarify nested functions with parentheses 2022-10-04 08:34:33 +02:00
Valentin Gagarin de6128a8f8 chaining arguments -> multiple arguments
"chaining arguments" is not well-defined, as [noted] by @matta

[notes]: https://github.com/NixOS/nix.dev/pull/267/files#r968597277
2022-10-04 08:34:33 +02:00
Valentin Gagarin f66543da01 Nix language -> the Nix language
as [pointed out] by @matta

[pointed out]: https://github.com/NixOS/nix.dev/pull/267/files#r968574463
2022-10-04 08:34:33 +02:00
Valentin Gagarin ff2c457f32 reword; there are also invalid expressions 2022-10-04 08:34:33 +02:00
Valentin Gagarin e9af30a6ff shorten time estimate
move the section further up, as recommended by @infinisil
2022-10-04 08:34:33 +02:00
Valentin Gagarin d910383580 capitalize list items
according to English style guides such as [1]

[1]: https://www.instructionalsolutions.com/blog/bulleted-list-punctuation
2022-10-04 08:34:33 +02:00
Valentin Gagarin 93706c411e add notes on strict evaluation 2022-10-04 08:34:33 +02:00
Valentin Gagarin 109ae74e94 Update source/tutorials/nix-language.md
Co-authored-by: Silvan Mosberger <github@infinisil.com>
2022-10-04 08:34:33 +02:00
Valentin Gagarin aaea5b42c0 Update source/tutorials/nix-language.md
Co-authored-by: Silvan Mosberger <github@infinisil.com>
2022-10-04 08:34:33 +02:00
Valentin Gagarin 1fcaaea3b0 Update source/tutorials/nix-language.md
Co-authored-by: Silvan Mosberger <github@infinisil.com>
2022-10-04 08:34:33 +02:00
Valentin Gagarin 68c33e7ed1 Update source/tutorials/nix-language.md
Co-authored-by: Silvan Mosberger <github@infinisil.com>
2022-10-04 08:34:33 +02:00
Valentin Gagarin 7474d830a1 Update source/tutorials/nix-language.md
Co-authored-by: Silvan Mosberger <github@infinisil.com>
2022-10-04 08:34:33 +02:00
Valentin Gagarin 90522e865f expressions are transformed, not simplified
@infinisil: This is a bit misleading, the model isn't that expressions get simplified. Instead it's that each expression type has semantics for how it should be turned into a Nix value.

Co-authored-by: Silvan Mosberger <github@infinisil.com>
2022-10-04 08:34:33 +02:00
Valentin Gagarin 14455c1d86 evaluate to Nix value, not just value
@infinisil: Introducing the concept of a Nix value fits very well here

Co-authored-by: Silvan Mosberger <github@infinisil.com>
2022-10-04 08:34:33 +02:00
Valentin Gagarin e5260f3d6d libraries are not just functions
Co-authored-by: Silvan Mosberger <github@infinisil.com>
2022-10-04 08:34:33 +02:00
Valentin Gagarin 55eb91bd9e stdenv -> stdenv.mkDerivation
@infinisil: `stdenv` itself is not a builder

Co-authored-by: Silvan Mosberger <github@infinisil.com>
2022-10-04 08:34:33 +02:00
Valentin Gagarin 5938ad044b remove "and" from example list
@infinisil: The "and" would indicate the end of the list

Co-authored-by: Silvan Mosberger <github@infinisil.com>
2022-10-04 08:34:33 +02:00
Valentin Gagarin 506b35311e libraries have more things than functions
Co-authored-by: Silvan Mosberger <github@infinisil.com>
2022-10-04 08:34:33 +02:00
Valentin Gagarin 30d76c858b use less ambiguous grammar for what NixOS is
Co-authored-by: Silvan Mosberger <github@infinisil.com>
2022-10-04 08:34:33 +02:00
Valentin Gagarin abf0f5e6d3 use consistent grammatical structure in requirements
Co-authored-by: Silvan Mosberger <github@infinisil.com>
2022-10-04 08:34:33 +02:00
Valentin Gagarin 95ce02b793 update Nix manual URLs 2022-10-04 08:34:33 +02:00
Valentin Gagarin 8ac15f8a08 Update source/tutorials/nix-language.md
Co-authored-by: Dan Baker <daniel.n.baker@gmail.com>
2022-10-04 08:34:33 +02:00
Valentin Gagarin 78a43fb28f use consistent terminology
sort out derivation, Derivation, `derivation` and store derivation
2022-10-04 08:34:33 +02:00
Valentin Gagarin adaba6637e fix wording 2022-10-04 08:34:33 +02:00
Valentin Gagarin e0ee7d5597 link to installation instructions 2022-10-04 08:34:33 +02:00
Valentin Gagarin 17bf23546a rework section on side effects 2022-10-04 08:34:33 +02:00
Valentin Gagarin 397a39f9de mention operators
at some point we have to introduce them, even if they are not really
important here.
2022-10-04 08:34:33 +02:00
Valentin Gagarin 8f1dd17106 add proper examples to file system paths 2022-10-04 08:34:33 +02:00
Valentin Gagarin c36c6ed732 rewordings and links 2022-10-04 08:34:33 +02:00
Valentin Gagarin 8a4d87474b add detailed explanations to some examples 2022-10-04 08:34:33 +02:00
Valentin Gagarin cd7e00ba8d reword time estimate 2022-10-04 08:34:33 +02:00
Valentin Gagarin bb9e7d7ab3 Nix package manager -> Nix
based on https://github.com/NixOS/nix.dev/issues/275#issuecomment-1227572104
2022-10-04 08:34:33 +02:00
Valentin Gagarin 7e18f44302 add introduction and cross-linking
this should both help with initial overview and navigation
2022-10-04 08:34:33 +02:00
Valentin Gagarin 5851659340 add detailed explanation to let expression 2022-10-04 08:34:33 +02:00
Valentin Gagarin 4253a0bc7a nixpkgs/lib -> pkgs.lib
this is probably how most people would encounter it, but since there are
so many equivalent representations, maybe it does not matter outside
a dedicated guide to Nixpkgs
2022-10-04 08:34:33 +02:00
Valentin Gagarin 922e018fd6 nixpkgs -> Nixpkgs
based on https://github.com/NixOS/nix.dev/issues/275#issuecomment-1227572104
2022-10-04 08:34:33 +02:00
Valentin Gagarin b084005748 fix copypaste error 2022-10-04 08:34:33 +02:00
Valentin Gagarin aa0bf42491 fix typo in link 2022-10-04 08:34:33 +02:00
Valentin Gagarin 55c4d4feca attempt at detailed explanation 2022-10-04 08:34:33 +02:00
Valentin Gagarin dfc6d1c31f standard -> function 2022-10-04 08:34:33 +02:00
Valentin Gagarin ab8784c2ad add links to next steps 2022-10-04 08:34:33 +02:00
Valentin Gagarin aebc9e91b1 clarifications 2022-10-04 08:34:33 +02:00
Valentin Gagarin d770b13aef add links, fixups 2022-10-04 08:34:33 +02:00
Valentin Gagarin 8ee55cbac1 expand on side effects, add next steps 2022-10-04 08:34:33 +02:00
Valentin Gagarin c9f5ac3f1f show store paths and fetchers 2022-10-04 08:34:33 +02:00
Valentin Gagarin 3a86358dbf add TODO for operators 2022-10-04 08:34:33 +02:00
Valentin Gagarin 92f96cab30 more explicit explanation of partial evaluation 2022-10-04 08:34:33 +02:00
Valentin Gagarin 95f98f6a60 more explicit syntax notes 2022-10-04 08:34:33 +02:00
Valentin Gagarin f791bd4875 nixpkgs is a token 2022-10-04 08:34:33 +02:00
Valentin Gagarin cf0292e470 restructure introduction, show elements of programming
this does not take away information, but presents it in a different
order. put emphasis on that the language does not do all that many
things.
2022-10-04 08:34:33 +02:00
Valentin Gagarin ee6f1e1c33 generate anchors down to heading level 3 2022-10-04 08:34:33 +02:00
Valentin Gagarin d33eedadd3 add imports to side effects 2022-10-04 08:34:33 +02:00
Valentin Gagarin 20789513e8 notes on argument structure 2022-10-04 08:34:33 +02:00
Valentin Gagarin e7807baa57 clarify explanation of nested functions 2022-10-04 08:34:33 +02:00
Valentin Gagarin 9a994092c2 function calls aka function application 2022-10-04 08:34:33 +02:00
Valentin Gagarin 6390aae686 remove superfluous empty line 2022-10-04 08:34:32 +02:00
Valentin Gagarin bd4118ebb2 move search paths to values section 2022-10-04 08:34:32 +02:00
Valentin Gagarin 9b158e60d1 clarify inheriting from attribute 2022-10-04 08:34:32 +02:00
Valentin Gagarin 6c903a6ccf clarify requirements of being able to read code 2022-10-04 08:34:32 +02:00
Valentin Gagarin b0023d2ade add subsections to modes of running examples
reorder to have the REPL first (it's fewer steps)
2022-10-04 08:34:32 +02:00
Valentin Gagarin 155ad688bc explain how to read examples 2022-10-04 08:34:32 +02:00
Valentin Gagarin 6a4e69eef1 remove paths and strings from top-level outline 2022-10-04 08:34:32 +02:00
Valentin Gagarin 2406c22293 emphasize what this guide is about 2022-10-04 08:34:32 +02:00
Valentin Gagarin 61524d0d34 expressions can be nested 2022-10-04 08:34:32 +02:00
Valentin Gagarin 40ca6fc799 note on difference between antiquotation and shell vars 2022-10-04 08:34:32 +02:00
Valentin Gagarin b3a42cffdc expand on strings and antiquotation
move section into "names and values": it should be short enough not to
exhaust readers before we get to functions, and would not make much
sense as an afterthought to functions.
2022-10-04 08:34:32 +02:00
Valentin Gagarin ca37fe15b0 regularize function examples 2022-10-04 08:34:32 +02:00
Valentin Gagarin 43f2895b2c add counter-example to attribute set argument 2022-10-04 08:34:32 +02:00
Valentin Gagarin 23b52d351e add subsection heading 2022-10-04 08:34:32 +02:00
Valentin Gagarin 560268d865 add missing colon 2022-10-04 08:34:32 +02:00
Valentin Gagarin 9015962289 make example explicit 2022-10-04 08:34:32 +02:00
Valentin Gagarin c6a1c90bbf tighter inherit notation 2022-10-04 08:34:32 +02:00
Valentin Gagarin db56937ab3 add developer tools to skills outline 2022-10-04 08:34:31 +02:00
Valentin Gagarin 075df5b67b give language properties more structure 2022-10-04 08:34:31 +02:00
Valentin Gagarin 41250bb231 reorder first sentences 2022-10-04 08:34:31 +02:00
Valentin Gagarin 92e6e2341e add dynamic typing 2022-10-04 08:34:31 +02:00
Valentin Gagarin 80b0dcb8ae expand on single function argument 2022-10-04 08:34:31 +02:00
Valentin Gagarin fa674e3e11 restructure introduction 2022-10-04 08:34:31 +02:00
Valentin Gagarin e5d41c8425 remove word repetition 2022-10-04 08:34:31 +02:00
Valentin Gagarin 3f3a2a432f add recommendaton to search paths 2022-10-04 08:34:31 +02:00
Valentin Gagarin cda602d3fb restructure examples 2022-10-04 08:34:31 +02:00
Valentin Gagarin 4d65ecf82c WIP: side effects 2022-10-04 08:34:31 +02:00
Valentin Gagarin 388e658437 break up long sentence 2022-10-04 08:34:31 +02:00
Valentin Gagarin 339320ffa1 restructure headings
this will have a nicer display in the table of contents
2022-10-04 08:34:31 +02:00
Valentin Gagarin 0c7c1eb594 everyone calls them side effects 2022-10-04 08:34:31 +02:00
Valentin Gagarin 76561aa33a add structure to config example 2022-10-04 08:34:31 +02:00
Valentin Gagarin f5439cdbc4 expand shell example 2022-10-04 08:34:31 +02:00
Valentin Gagarin 67b5187a30 clarify outline 2022-10-04 08:34:31 +02:00
Valentin Gagarin ca66ac9a6a guide -> direct 2022-10-04 08:34:31 +02:00
Valentin Gagarin 573586b684 prerequisites: programming languages -> software development 2022-10-04 08:34:31 +02:00
Valentin Gagarin 7f6404c1ae restructure intro to functions 2022-10-04 08:34:31 +02:00
Valentin Gagarin ceff1d7713 json example: set -> object 2022-10-04 08:34:31 +02:00
Valentin Gagarin 678d3ce737 restrucutre note on . and .. paths 2022-10-04 08:34:31 +02:00
Valentin Gagarin c510aeb295 show example passing an attrset 2022-10-04 08:34:31 +02:00
Valentin Gagarin f3e192e3b8 add note on ./. syntax 2022-10-04 08:34:31 +02:00
Valentin Gagarin 5a638c5ed8 fix grammar and typo 2022-10-04 08:34:31 +02:00
Valentin Gagarin f1c90cdda5 function call: argument -> operand 2022-10-04 08:34:31 +02:00
Valentin Gagarin f6ad05bf24 comment out missing links 2022-10-04 08:34:31 +02:00
Valentin Gagarin 4273dc987f tutorial -> guide 2022-10-04 08:34:31 +02:00
Valentin Gagarin c0ca352c83 remove trivial builders from libraries
they really belong to generic build mechanisms, and we will not cover
them here.
2022-10-04 08:34:31 +02:00