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

718 commits

Author SHA1 Message Date
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
Valentin Gagarin d16b6fcf72 add section on libraries 2022-10-04 08:34:31 +02:00
Valentin Gagarin c7729502bc remove description of language properties
this should be in the Nix manual
2022-10-04 08:34:31 +02:00
Valentin Gagarin c0b0c2ba32 add link to Nix Pills 2022-10-04 08:34:31 +02:00
Valentin Gagarin 354f8cba72 add aka @ pattern 2022-10-04 08:34:31 +02:00
Valentin Gagarin cb14464be1 reword intro to inherit 2022-10-04 08:34:31 +02:00
Valentin Gagarin ef5f3823cc uniform format for code samples 2022-10-04 08:34:31 +02:00
Valentin Gagarin e4bfdf0707 add overview on what using Nix language entails
inspired by https://news.ycombinator.com/item?id=32364899
2022-10-04 08:34:30 +02:00
Valentin Gagarin 5bc7fa3ebb expand NixOS config example 2022-10-04 08:34:30 +02:00
Valentin Gagarin 0e529426f7 add todo to clarify string interpolation and bash variables 2022-10-04 08:34:30 +02:00
Valentin Gagarin efaf7a82b7 add aka antiquotation 2022-10-04 08:34:30 +02:00
Valentin Gagarin 792ffe8f16 add draft on side effects 2022-10-04 08:34:30 +02:00
Valentin Gagarin 807665e3ae fix rendering errors 2022-10-04 08:34:30 +02:00
Valentin Gagarin a26c1825ea clarify language properties 2022-10-04 08:34:30 +02:00
Valentin Gagarin 1862f364e6 add summary of learnings 2022-10-04 08:34:30 +02:00
Valentin Gagarin 8f93a41e0a add notation for assigning nested attributes 2022-10-04 08:34:30 +02:00
Valentin Gagarin a2c88a1d20 expand on accessing values 2022-10-04 08:34:30 +02:00
Valentin Gagarin 6621db635c use console highlighting where appropriate 2022-10-04 08:34:30 +02:00
Valentin Gagarin b5db48cd6f uniform example format 2022-10-04 08:34:30 +02:00
Valentin Gagarin 13ad04881c simpler let ... in alias 2022-10-04 08:34:30 +02:00
Valentin Gagarin 8dee6f4894 attrsets are unordered 2022-10-04 08:34:30 +02:00
Valentin Gagarin e48e524ff6 fixes and TODOs 2022-10-04 08:34:30 +02:00
Valentin Gagarin fc12f3606c reorder sections 2022-10-04 08:34:30 +02:00
Valentin Gagarin 6b807a91c5 add evaluation result to example 2022-10-04 08:34:30 +02:00
Valentin Gagarin 87df93e7f8 sharpen title to narrow scope 2022-10-04 08:34:30 +02:00
Valentin Gagarin 558ec3b67e clarify what expressions and values are 2022-10-04 08:34:30 +02:00
Valentin Gagarin 8e332a4a4e clarify scope 2022-10-04 08:34:30 +02:00
Valentin Gagarin 637cef7e10 add learning goals and prerequisites 2022-10-04 08:34:30 +02:00
Valentin Gagarin 397ed9f7d9 add instructions to run examples 2022-10-04 08:34:30 +02:00
Valentin Gagarin 95f364d714 reorder language properties, add dynamic typing 2022-10-04 08:34:30 +02:00
Valentin Gagarin 670c8e2d80 add alternative to @ syntax 2022-10-04 08:34:30 +02:00
Valentin Gagarin 50a21f1fbc do not claim rec is not suitable for static analysis 2022-10-04 08:34:30 +02:00
Valentin Gagarin 00f1366b7b fix typo 2022-10-04 08:34:30 +02:00
Valentin Gagarin 884b7858be draft: nix language tutorial
based on @tazjin's tazjin/nix-1p [1] and @zimbatm's NixCon 2019 talk "Reading The Nix Language" [2]

[1]: https://github.com/tazjin/nix-1p
[2]: https://youtu.be/hbJkMl631FE?t=1572
2022-10-04 08:34:30 +02:00
Valentin Gagarin f12180065f
Wil T -> Wil Taylor 2022-10-03 14:23:24 +02:00
Guillaume Desforges 2fd46b430f
Update source/recommended-reading.md
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2022-09-30 11:20:37 +02:00
Valentin Gagarin cd0759d2af
Merge pull request #320 from sbruder/highlight-shell-io
add highlighting for shell input/output
2022-09-30 01:50:22 +02:00
Domen Kožar 22ae50fb76
Merge pull request #326 from worktheclock/patch-9
Building and running Docker images RITZA edit
2022-09-26 13:38:51 +02:00
Domen Kožar 9dac52e1f1
Merge pull request #327 from worktheclock/patch-10
Cross compilation RITZA edit
2022-09-26 13:38:25 +02:00
worktheclock 0bdb1b2b50
Install Nix RITZA edit 2022-09-26 13:19:18 +02:00
worktheclock fe84721779
Cross compilation RITZA edit 2022-09-26 13:13:01 +02:00
worktheclock 4c4ca4ceb5
Building and running Docker images RITZA edit 2022-09-26 11:06:56 +02:00
Guillaume Desforges 3415f9a236
Add section "Videos" to recommended-reading.md
This list was provided to me by @fricklerhandwerk and sounds like a reasonable collection.
2022-09-12 16:22:48 +02:00
Simon Bruder dfcbbc0858
add highlighting for shell input/output 2022-09-08 11:09:27 +02:00
Robin Stumm 945e20d0c7 fix git version in example
broken in 5e0ba5f66b
2022-09-02 10:51:59 +02:00
Domen Kožar 5ccb0554ba
Merge pull request #315 from fricklerhandwerk/install-nix
update installation instructions
2022-09-01 20:22:50 +01:00
Valentin Gagarin c32dd69a0a
Merge pull request #301 from fricklerhandwerk/recommended-videos
update list of recommended Nix language tutorials
2022-09-01 19:25:46 +02:00
Valentin Gagarin a91c3e3c8c update installation instructions
Darwin no longer needs special incantations
2022-09-01 19:09:22 +02:00
Valentin Gagarin e475697073 fix typo 2022-08-28 14:28:10 +02:00
Domen Kožar 103a5f2246
Merge pull request #306 from idrisr/patch-1
Update glossary.md
2022-08-20 14:04:56 +02:00