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
Valentin Gagarin
c856a39017
fix rendering issue with nested markdown
2022-08-18 19:16:22 +02:00
Idris Raja
02f4440c83
Update glossary.md
...
add definition for attribute name
2022-08-16 13:55:11 -05:00
Valentin Gagarin
ecaded08f9
update site description
...
- it's multiple guides
- simpler sentence structure
- now missing "developers", but no obvious way to include it in
a grammatically correct way
2022-08-11 04:57:21 +02:00
Valentin Gagarin
e9eb67bf63
update list of recommended Nix language tutorials
...
removed:
- Learn X in Y minutes is barely readable and not a tutorial but an
overview
- Nix by example is from 2014, has chaotic structure, and is oriented towards functional programmers
2022-08-10 01:59:47 +02:00
Domen Kožar
6920ac8dde
Merge pull request #293 from fricklerhandwerk/search-path
...
rework notes on search paths
2022-08-05 16:18:19 +02:00
Domen Kožar
30c5de2437
Merge pull request #294 from fricklerhandwerk/master
...
update sponsor sidebar
2022-08-05 16:16:38 +02:00
Andrei Boar
9131c1b530
add bob.build to Software Nix has influenced
2022-08-04 16:30:50 +03:00
Valentin Gagarin
5480aa9fd7
update sponsor sidebar
2022-08-02 12:56:48 +02:00
Valentin Gagarin
42e5ab74a5
rework notes on search paths
...
remove duplication so we can link to the respective section from the
language tutorial
2022-08-01 11:54:55 +02:00
worktheclock
99abfff9df
Build a bootable ISO image RITZA language edit
...
Language edit done by RITZA.
2022-07-21 12:00:26 +02:00
Domen Kožar
b7fa967792
Merge pull request #258 from worktheclock/patch-7
...
Ad hoc developer environments RITZA language edit
2022-07-12 11:52:54 -05:00
Domen Kožar
2bad219af5
fix a link
2022-06-27 10:39:57 -05:00
Domen Kožar
e59cbb3638
fix build
2022-06-27 10:35:35 -05:00
worktheclock
fef2f37846
Ad hoc developer environments RITZA language edit
2022-06-20 13:07:31 +02:00
Max Kalashnikoff
808de6c0fb
Fixing ./result/bin/myapp.py -> ./result/bin/myapp
...
After the `nix-build` command the result app bin is `myapp` and not `myapp.py`.
2022-05-02 14:18:21 +05:30
worktheclock
5a62ec9c1b
NixOS on Raspberry Pi RITZA language edit
2022-04-11 14:52:24 +02:00
Nejc Zupan
02ced7bbff
Proof-of-Concept for testing code samples
...
There are a number of code samples throughout nix.dev. How do we know
they still work? We don't!
This commit introduces a way for us to extract these code samples into files
and then run tests against them in CI. This will hopefully help us catch
regressions in future updates to nix, NixOS and/or this guide.
Additionally, I included a darwin specific nix-shell configuration that I
use personally on my M1 Mac to work on this repo. Might be useful for someone.
2022-04-07 10:16:17 +01:00
Domen Kožar
68416183e3
Merge pull request #241 from Michael-J-Ward/patch-2
...
Add note on multi-line shebang
2022-03-30 10:10:18 +01:00
Michael-J-Ward
da980645ab
Update source/tutorials/ad-hoc-developer-environments.md
...
per @domenkozar's suggestion
Co-authored-by: Domen Kožar <domen@enlambda.com>
2022-03-29 09:49:55 -04:00
Domen Kožar
69070ee4a8
Merge branch 'master' into patch-4
2022-03-29 10:28:38 +01:00
Domen Kožar
5e0ba5f66b
bump pins in ad-hoc tutorial
2022-03-29 10:22:29 +01:00
Britton Robitzsch
5221472a57
Update formatting issues for niv show and niv modify
...
Two commands were formatted as quotes instead of code. This caused an issue where --branch was formatted with '–' instead of '--'. This caused an error when copying and pasting the command into a terminal:
```
[nix-shell:~/niv]$ niv modify nixpkgs –branch nixos-21.05
Invalid argument `–branch'
Usage: niv [-s|--sources-file FILE] [--no-colors] COMMAND
```
2022-03-21 16:39:57 -06:00
Michael-J-Ward
b0b9be629c
Add note on multi-line shebang
...
The multi
2022-03-16 00:42:05 -04:00
worktheclock
67e9357985
Pinning Nixpkgs RITZA proofread
2022-03-14 13:26:25 +02:00
Jan Tojnar
b141d8b9a6
faq: Update deprecated Nix settings on NixOS
2022-02-07 16:43:35 +01:00
worktheclock
e659bece62
Set up dev env RITZA language edit
2022-01-27 08:43:01 +02:00
Valentin Gagarin
dbd0b8cfc4
more detail on specifying host platform
...
- explain mechanism of combining build and host platform in `nixpkgs` configuration
- add examples how to specify host platform in different ways
2021-12-15 12:03:44 +01:00
Valentin Gagarin
671e1d464d
clarify platform attr vs. config string
2021-12-15 12:03:44 +01:00
Valentin Gagarin
12004ac36f
add note on historicity platform encoding
...
there have been discussions around migrating the platform description to a more structured representation like an attribute set (cannot find relevant issue for reference right now), and it is worth noting that this string encoding is fairly arbitrary.
2021-12-15 12:03:44 +01:00
Valentin Gagarin
c3fe9d754c
reword distinction of target and host
...
use shorter sentences, emphasize keywords
2021-12-15 12:03:44 +01:00