summaryrefslogtreecommitdiff
path: root/.trash/3 resources/nix/language
diff options
context:
space:
mode:
authorJasper Ras <jras@hostnet.nl>2025-01-08 10:48:09 +0100
committerJasper Ras <jras@hostnet.nl>2025-01-08 10:48:09 +0100
commited0753ad224f0c65133bd7a63180257eecd9f5e3 (patch)
treecc662868574fe17db58be9e0faadd452c84dc59c /.trash/3 resources/nix/language
parent493be30dc981eaf762a95a1218f96893b1976727 (diff)
vault backup: 2025-01-08 10:48:09
Diffstat (limited to '.trash/3 resources/nix/language')
-rw-r--r--.trash/3 resources/nix/language/keyword-import.md2
-rw-r--r--.trash/3 resources/nix/language/keyword-let.md9
-rw-r--r--.trash/3 resources/nix/language/keyword-rec.md17
-rw-r--r--.trash/3 resources/nix/language/keyword-with.md12
4 files changed, 40 insertions, 0 deletions
diff --git a/.trash/3 resources/nix/language/keyword-import.md b/.trash/3 resources/nix/language/keyword-import.md
new file mode 100644
index 0000000..616c155
--- /dev/null
+++ b/.trash/3 resources/nix/language/keyword-import.md
@@ -0,0 +1,2 @@
+The import keyword brings a Nix expression from another source into scope such that we can reference it. For example, we can `import <nixpkgs>` and it would bring the entire attribute set that is Nixpkgs into scope and allows us to reference any of its attributes.
+
diff --git a/.trash/3 resources/nix/language/keyword-let.md b/.trash/3 resources/nix/language/keyword-let.md
new file mode 100644
index 0000000..3b2f401
--- /dev/null
+++ b/.trash/3 resources/nix/language/keyword-let.md
@@ -0,0 +1,9 @@
+Keyword: `let`
+Used to assign variables that can be used in an expression immediately following the let-binding.
+```nix
+let
+ one = 1;
+in {
+ two = one + 1;
+}
+```
diff --git a/.trash/3 resources/nix/language/keyword-rec.md b/.trash/3 resources/nix/language/keyword-rec.md
new file mode 100644
index 0000000..456f877
--- /dev/null
+++ b/.trash/3 resources/nix/language/keyword-rec.md
@@ -0,0 +1,17 @@
+Recursive attribute sets can reference values declared earlier in the same set.
+keyword: `rec`
+```nix
+rec {
+ one = 1;
+ two = one + 1;
+}
+```
+
+Ordering does not matter:
+```nix
+nix-repl> rec { two = one + 1; one = 1; }
+{
+ one = 1;
+ two = 2;
+}
+```
diff --git a/.trash/3 resources/nix/language/keyword-with.md b/.trash/3 resources/nix/language/keyword-with.md
new file mode 100644
index 0000000..10763ff
--- /dev/null
+++ b/.trash/3 resources/nix/language/keyword-with.md
@@ -0,0 +1,12 @@
+The `with` keyword brings all attributes from a given set, e.g nixpkgs, into the local scope. Making them accessible as if they were declared in the same file.
+
+An example, bringing everything from nixpkgs into scope:
+```
+with import <nixpkgs>;
+with python310Packages; <-- declared in nixpkgs
+
+buildPythonPackage <-- declared in python310Packages
+```
+
+The import statement is required here because imports a nix expression from another source, in this case nixpkgs.
+It is not required at line two, because python310Packages itself is already in the local scope. \ No newline at end of file