Commit Graph

352 Commits

Author SHA1 Message Date
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
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
Hans Christian v. Stockhausen
e583297654
Fix minor error with import-builtin example (#421) 2022-12-16 18:45:35 +01: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
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
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
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
Johan Herland
4b9563eb5d Fix typo 2022-10-17 13:33:14 +02:00
Domen Kožar
e269b465e7
github actions: bump versions 2022-10-12 14:23:52 +01: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