1
Fork 0
mirror of https://github.com/RGBCube/Site synced 2025-08-01 13:37:49 +00:00

blog(nix-iceberg): fix headers

This commit is contained in:
RGBCube 2025-06-06 23:41:47 +03:00
parent 594c80cf21
commit a2d0bb7bc9
Signed by: RGBCube
SSH key fingerprint: SHA256:CzqbPcfwt+GxFYNnFVCqoN5Itn4YFrshg1TrnACpA5M

View file

@ -938,15 +938,17 @@ If you can't find the mentions in these pages, check the archives out.
Evaluating `(_:_) == (_:_)`, we see that it is `false`, which means the two Evaluating `(_:_) == (_:_)`, we see that it is `false`, which means the two
functions aren't equal to eachother, as we are comparing them directly and when functions aren't equal to eachother, as we are comparing them directly and when
compared directly, functions return false. compared directly, function comparisions return false.
But then why does `(a:a) == (a:a)` return `true`? Aren't they both functions? But then why does `(a:a) == (a:a)` return `true`? Aren't we still comparing
functions?
**Nope!** **Nope!**
`a:a` is a `a:a` is a
[legacy URL literal](https://nix.dev/manual/nix/2.29/development/experimental-features.html?highlight=url%20literal#no-url-literals), [legacy URL literal](https://nix.dev/manual/nix/2.29/development/experimental-features.html?highlight=url%20literal#no-url-literals),
which can be disabled using the `no-url-literals` Nix feature. which can be disabled using the
[`no-url-literals` experimental Nix feature.](https://nix.dev/manual/nix/2.29/development/experimental-features.html?highlight=no-url-#xp-feature-no-url-literals)
## de betekenis van @niksnut ## de betekenis van @niksnut
@ -956,14 +958,14 @@ TODO
This is the legacy `let` syntax. Equivalent to `let huh = "?"; in huh`. This is the legacy `let` syntax. Equivalent to `let huh = "?"; in huh`.
## Tier 6: `has meowed before` # Tier 6: `has meowed before`
### `let { body = 1; __overrides.body = 2; }` ## `let { body = 1; __overrides.body = 2; }`
This is a combination of [`__override`](#rec-a-5-b-a-1-overridesa-6-) for keyed This is a combination of [`__override`](#rec-a-5-b-a-1-overridesa-6-) for keyed
expressions and the [`legacy let syntax`](#let-huh-body-huh-). expressions and the [`legacy let syntax`](#let-huh-body-huh-).
### function identity is load bearing on importing nixpkgs ## function identity is load bearing on importing nixpkgs
Since Since
[attribute sets with function members compare function identities (memory locations)](#let-f-a-a-s-ff-in-f-f-s-s), [attribute sets with function members compare function identities (memory locations)](#let-f-a-a-s-ff-in-f-f-s-s),
@ -977,7 +979,7 @@ determine whether if we are cross-compiling.
Therefore, function identity really **is** load bearing on importing nixpkgs. Therefore, function identity really **is** load bearing on importing nixpkgs.
### `import <nix/fetchurl.nix>` ## `import <nix/fetchurl.nix>`
This looks like we are importing <nix>, and getting the `fetchurl.nix` file in This looks like we are importing <nix>, and getting the `fetchurl.nix` file in
it. it.
@ -1034,15 +1036,15 @@ and its contents are set to a
You do not need to be in impure evaluation mode to use `corepkgs`, aka You do not need to be in impure evaluation mode to use `corepkgs`, aka
`<nix/*>`. `<nix/*>`.
### test suite of nix wasn't run ## test suite of nix wasn't run
TODO TODO
### fixed-output derivation sandboxing ## fixed-output derivation sandboxing
TODO TODO
### `importNative` ## `importNative`
[`builtins.importNative`](https://nix.dev/manual/nix/2.29/command-ref/conf-file.html#conf-allow-unsafe-native-code-during-evaluation) [`builtins.importNative`](https://nix.dev/manual/nix/2.29/command-ref/conf-file.html#conf-allow-unsafe-native-code-during-evaluation)
allows Nix expressions to import arbitrary dynamic libraries to produce Nix allows Nix expressions to import arbitrary dynamic libraries to produce Nix
@ -1051,11 +1053,11 @@ expressions.
Of course, this is turned off by default as it is a security risk. You probably Of course, this is turned off by default as it is a security risk. You probably
shouldn't use this. shouldn't use this.
### `chromium recompressTarball` ## `chromium recompressTarball`
TODO TODO
### more than 1 million chars of indents breaks things ## more than 1 million chars of indents breaks things
The weird Nix parser The weird Nix parser
[hard codes `1000000`](https://github.com/NixOS/nix/blob/2afc84fddf463b22196aeb70587bc0c9259e330f/src/libexpr/include/nix/expr/parser-state.hh#L250) [hard codes `1000000`](https://github.com/NixOS/nix/blob/2afc84fddf463b22196aeb70587bc0c9259e330f/src/libexpr/include/nix/expr/parser-state.hh#L250)
@ -1065,7 +1067,7 @@ spanning multiple lines.
So when you have a line with more than a million spaces for the indent, it is So when you have a line with more than a million spaces for the indent, it is
ignored and not included in the minimum indent calculation. ignored and not included in the minimum indent calculation.
## Tier 7: `wears animal ears to NixCon` # Tier 7: `wears animal ears to NixCon`
<h2><small> <h2><small>