From 9232b8d817d4cd4122947375156fa2fa1e9fba14 Mon Sep 17 00:00:00 2001 From: Jasper Ras Date: Mon, 13 Jan 2025 13:16:06 +0100 Subject: vault backup: 2025-01-13 13:16:06 --- 3 resources/nix/language/Import.md | 5 +++++ 3 resources/nix/language/Let.md | 12 ++++++++++++ 3 resources/nix/language/Rec.md | 20 ++++++++++++++++++++ 3 resources/nix/language/With.md | 15 +++++++++++++++ 3 resources/nix/language/keyword-import.md | 2 -- 3 resources/nix/language/keyword-let.md | 9 --------- 3 resources/nix/language/keyword-rec.md | 17 ----------------- 3 resources/nix/language/keyword-with.md | 12 ------------ 8 files changed, 52 insertions(+), 40 deletions(-) create mode 100644 3 resources/nix/language/Import.md create mode 100644 3 resources/nix/language/Let.md create mode 100644 3 resources/nix/language/Rec.md create mode 100644 3 resources/nix/language/With.md delete mode 100644 3 resources/nix/language/keyword-import.md delete mode 100644 3 resources/nix/language/keyword-let.md delete mode 100644 3 resources/nix/language/keyword-rec.md delete mode 100644 3 resources/nix/language/keyword-with.md (limited to '3 resources/nix/language') diff --git a/3 resources/nix/language/Import.md b/3 resources/nix/language/Import.md new file mode 100644 index 0000000..d201c74 --- /dev/null +++ b/3 resources/nix/language/Import.md @@ -0,0 +1,5 @@ +#nix #keyword + +--- +The import keyword brings a Nix expression from another source into scope such that we can reference it. For example, we can `import ` 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/3 resources/nix/language/Let.md b/3 resources/nix/language/Let.md new file mode 100644 index 0000000..bfb4b31 --- /dev/null +++ b/3 resources/nix/language/Let.md @@ -0,0 +1,12 @@ +#nix #keyword + +--- +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/3 resources/nix/language/Rec.md b/3 resources/nix/language/Rec.md new file mode 100644 index 0000000..b7050d3 --- /dev/null +++ b/3 resources/nix/language/Rec.md @@ -0,0 +1,20 @@ +#nix #keyword + +--- +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/3 resources/nix/language/With.md b/3 resources/nix/language/With.md new file mode 100644 index 0000000..b291907 --- /dev/null +++ b/3 resources/nix/language/With.md @@ -0,0 +1,15 @@ +#nix #keyword + +--- +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 ; +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 diff --git a/3 resources/nix/language/keyword-import.md b/3 resources/nix/language/keyword-import.md deleted file mode 100644 index 616c155..0000000 --- a/3 resources/nix/language/keyword-import.md +++ /dev/null @@ -1,2 +0,0 @@ -The import keyword brings a Nix expression from another source into scope such that we can reference it. For example, we can `import ` 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/3 resources/nix/language/keyword-let.md b/3 resources/nix/language/keyword-let.md deleted file mode 100644 index 3b2f401..0000000 --- a/3 resources/nix/language/keyword-let.md +++ /dev/null @@ -1,9 +0,0 @@ -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/3 resources/nix/language/keyword-rec.md b/3 resources/nix/language/keyword-rec.md deleted file mode 100644 index 456f877..0000000 --- a/3 resources/nix/language/keyword-rec.md +++ /dev/null @@ -1,17 +0,0 @@ -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/3 resources/nix/language/keyword-with.md b/3 resources/nix/language/keyword-with.md deleted file mode 100644 index 10763ff..0000000 --- a/3 resources/nix/language/keyword-with.md +++ /dev/null @@ -1,12 +0,0 @@ -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 ; -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 -- cgit v1.2.3