summaryrefslogtreecommitdiff
path: root/3 resources/nix
diff options
context:
space:
mode:
authorJasper Ras <jras@hostnet.nl>2025-01-19 21:14:51 +0100
committerJasper Ras <jras@hostnet.nl>2025-01-19 21:14:51 +0100
commit9642cd7ae24f0ba79ce5647c709b35ae8f06a285 (patch)
treeae25c3b0db7ae4c23186b294c6d000073f085c2d /3 resources/nix
parent969b96c2531fb986f6c7f21fd544391b439defd7 (diff)
vault backup: 2025-01-19 21:14:51
Diffstat (limited to '3 resources/nix')
-rw-r--r--3 resources/nix/Flake.md22
-rw-r--r--3 resources/nix/Overlays.md11
-rw-r--r--3 resources/nix/Package.md6
-rw-r--r--3 resources/nix/REPL.md5
-rw-r--r--3 resources/nix/Shell.nix.md42
-rw-r--r--3 resources/nix/language/Import.md5
-rw-r--r--3 resources/nix/language/Let.md12
-rw-r--r--3 resources/nix/language/Rec.md20
-rw-r--r--3 resources/nix/language/With.md15
-rw-r--r--3 resources/nix/packages/Apply custom patches.md17
10 files changed, 0 insertions, 155 deletions
diff --git a/3 resources/nix/Flake.md b/3 resources/nix/Flake.md
deleted file mode 100644
index 754556f..0000000
--- a/3 resources/nix/Flake.md
+++ /dev/null
@@ -1,22 +0,0 @@
-#nix #flake
-
----
-Nix flakes are source trees containing a file `flake.nix` at their root. The file `flake.nix` provides a standardized way to provide [[Zettelkast/Index/Nix]] artifacts. It's like a package manager for [[Zettelkast/Index/Nix]]. A flake can be dependent on other Flakes and it's possible to pin dependencies to exact revisions by using a `flake.lock` file.
-
-Nix flake evaluation is hermetic, meaning that it produces the same result wherever it's built.k
-
-The feature can be enabled in `~/.config/nix/nix.conf`:
-
-```
-experimental-features = nix-command flakes
-```
-
-To initialize in a repo: `nix flake init`.
-
-In flakes dependencies have to be specified explicitly and MUST be locked to specific versions therefore it's no longer allowed to use the nixpkgs found in `NIX_PATH` by referencing it like `<nixpkgs>`.
-
-Output of a Flake is an arbitrary [[Zettelkast/Index/Nix]] value such as a package, [[NixOS]] module or library function.
-Commands `nix build` and `nix shell` will build the output `packages.<system>.default` unless we specify another output, for example: `nix shell .#checks.aarch64-linux.build`.
-
----
-[Flakes Wiki](https://nixos.wiki/wiki/Flakes) \ No newline at end of file
diff --git a/3 resources/nix/Overlays.md b/3 resources/nix/Overlays.md
deleted file mode 100644
index 8ee33f3..0000000
--- a/3 resources/nix/Overlays.md
+++ /dev/null
@@ -1,11 +0,0 @@
-#nix #overlay
-
----
-Functions that accept two args (conventionally: final, prev) and return a set of [[Package]]s.
-
-The `prev` arguments holds the set of packages of the "parent" overlay while the `final` argument holds the end result of **all** overlays applied. This means that overlays depend on each other. It is unclear how we can tell on which overlay an overlay depends.
-
-We can use it to override existing packages or add new packages.
-
----
-https://nixos.wiki/wiki/Overlays
diff --git a/3 resources/nix/Package.md b/3 resources/nix/Package.md
deleted file mode 100644
index 32c6bd4..0000000
--- a/3 resources/nix/Package.md
+++ /dev/null
@@ -1,6 +0,0 @@
-#nix #packages
-
----
-Packages != NixOS Modules
-
-Packages come from Nixpkgs. \ No newline at end of file
diff --git a/3 resources/nix/REPL.md b/3 resources/nix/REPL.md
deleted file mode 100644
index 210b980..0000000
--- a/3 resources/nix/REPL.md
+++ /dev/null
@@ -1,5 +0,0 @@
-#nix #repl
-
----
-`nix repl` to interactively evaluate Nix expressions. `:p` if output is not full.
- `nix-instantiate --eval <file>.nix` to evaluate a Nix expression from a file. `--strict`. \ No newline at end of file
diff --git a/3 resources/nix/Shell.nix.md b/3 resources/nix/Shell.nix.md
deleted file mode 100644
index 13715c2..0000000
--- a/3 resources/nix/Shell.nix.md
+++ /dev/null
@@ -1,42 +0,0 @@
-#nix #shell
-
----
-Can be used to set up per dir environments, e.g using direnv to automatically activate them.
-## Python
-https://nixos.org/manual/nixpkgs/stable/#python
-
-```nix
-{ pkgs ? import <nixpkgs> {}}:
-
-pkgs.mkShell {
- packages = [ pkgs.virtualenv ];
-}
-```
-
-```nix
-with import <nixpkgs> {};
-let
- my_toolz = python311.pkgs.buildPythonPackage rec {
- pname = "toolz";
- version = "0.10.0";
- pyproject = true;
- src = fetchPypi {
- inherit pname version;
- hash = "sha256-CP3V73yWSArRHBLUct4hrNMjWZlvaaUlkpm1QP66RWA=";
- };
- nativeBuildInputs = [
- python311.pkgs.setuptools
- python311.pkgs.wheel
- ]; # has no tests
- doCheck = false;
- meta = {
- homepage = "https://github.com/pytoolz/toolz/";
- description = "List processing tools and functional utilities";
- # [...]
- };
- };
-in python311.withPackages (ps: with ps; [ numpy my_toolz ]) ).env
-```
-
-The [[Import]] 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/Import.md b/3 resources/nix/language/Import.md
deleted file mode 100644
index d201c74..0000000
--- a/3 resources/nix/language/Import.md
+++ /dev/null
@@ -1,5 +0,0 @@
-#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 <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/3 resources/nix/language/Let.md b/3 resources/nix/language/Let.md
deleted file mode 100644
index bfb4b31..0000000
--- a/3 resources/nix/language/Let.md
+++ /dev/null
@@ -1,12 +0,0 @@
-#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
deleted file mode 100644
index b7050d3..0000000
--- a/3 resources/nix/language/Rec.md
+++ /dev/null
@@ -1,20 +0,0 @@
-#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
deleted file mode 100644
index b291907..0000000
--- a/3 resources/nix/language/With.md
+++ /dev/null
@@ -1,15 +0,0 @@
-#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 <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
diff --git a/3 resources/nix/packages/Apply custom patches.md b/3 resources/nix/packages/Apply custom patches.md
deleted file mode 100644
index 370c53a..0000000
--- a/3 resources/nix/packages/Apply custom patches.md
+++ /dev/null
@@ -1,17 +0,0 @@
-#nix #packages #overlay
-
----
-We can apply patches to existing packages using [[Overlays]]:
-```nix
-final: prev {
- nova = prev.nova.overrideAttrs (old: {
- patches = (old.patches or []) ++ [
- prev.fetchpatch {
- url = "https://github.com/owner/repo/commit/hash.patch";
- hash = "somehash";
- })
- ./relative.patch
- ]
- })
-}
-```