diff options
Diffstat (limited to '.trash/3 resources/nix/language')
-rw-r--r-- | .trash/3 resources/nix/language/keyword-import.md | 2 | ||||
-rw-r--r-- | .trash/3 resources/nix/language/keyword-let.md | 9 | ||||
-rw-r--r-- | .trash/3 resources/nix/language/keyword-rec.md | 17 | ||||
-rw-r--r-- | .trash/3 resources/nix/language/keyword-with.md | 12 |
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 |