!9IQChSjwSHXPPWTa:lix.systems

Lix

1116 Members
Lix user channel. Feel free to discuss on-topic issues here and give each other help. For matrix.to links to the rest of the Lix channels, see: https://wiki.lix.systems/books/lix-organisation/page/matrix-rooms298 Servers

Load older messages


SenderMessageTime
20 Dec 2025
@cyclopentane:aidoskyneen.eupentane ⭔ and the monadic bind operation would correspond to IFD 14:21:47
@cyclopentane:aidoskyneen.eupentane ⭔ cause if you e.g. have a derivation returning a lock file by reading it from an archive or something (Derivation LockFile) and a build helper constructing a package out of that lock file (LockFile -> Derivation Package), you can use >>= to get a Derivation Package 14:24:26
@cyclopentane:aidoskyneen.eupentane ⭔ and the monoid operation join :: Derivation Derivation a -> Derivation a would basically be "build this .drv file to obtain another .drv file and build that in turn, and then return the result` 14:25:53
@cyclopentane:aidoskyneen.eupentane ⭔although afaict from a theoretical standpoint, this matches the semantics of dynamic derivations better than IFD14:26:52
@piegames:flausch.socialpiegamesnow that you say all of this, maybe k900 has a point :p14:27:06
@cyclopentane:aidoskyneen.eupentane ⭔yeah I also agree with K90014:27:51
@cyclopentane:aidoskyneen.eupentane ⭔ another missing puzzle piece imo: currently, Nix treats the eval process and the build process as two conceptually separate things. But afaict there's nothing stopping us from treating the evaluation of, say, a flake as a derivation too - that derivation would have the flake source, its dependencies and nix as inputs, and output a .drv file 14:30:22
@cyclopentane:aidoskyneen.eupentane ⭔once you've got it set up that way, IFD and dynamic derivations basically are the same thing14:31:10
@cyclopentane:aidoskyneen.eupentane ⭔ and you get expression language agnosticism for free, since you can then use everything that produces .drv files as an expression language for Nix and not just Nixlang 14:31:59
@cyclopentane:aidoskyneen.eupentane ⭔thank you for coming to my ted talk14:32:04
@piegames:flausch.socialpiegamesBasically from the eval side of things this will be a form of async, where eval halts when it needs the result of a derivation and proceeds once that derivation is built, comparable to waiting for IO14:33:01
@piegames:flausch.socialpiegames TIL nix-build <nixpkgs> works even without --expr for some reason 14:53:07
@k900:0upti.meK900 Attrset build target nonsense? 14:53:39
@k900:0upti.meK900 Which is a thing you may actually want 14:58:12
@piegames:flausch.socialpiegamesyes but15:02:40
@acidbong:envs.netAcid Bong
In reply to @piegames:flausch.social
TIL nix-build <nixpkgs> works even without --expr for some reason

because resolves into a filepath entry from NIX_PATH named abc

same thing as nix-build src/nixpkgs

15:40:18
@acidbong:envs.netAcid Bong* because `<abc>` resolves into a filepath entry from NIX_PATH named abc same thing as `nix-build src/nixpkgs` 15:40:52
@piegames:flausch.socialpiegamesyes I understand that15:49:14
@piegames:flausch.socialpiegamesbut I find this "fileish" thing weird15:49:53
@sofiedotcafe:matrix.orgSofie 🏳️‍⚧️ (she/her)So anyways, does someone have a nice template which covers agenix or another secret thingy, directory centered modules and options, system deployment and other stuff16:54:02
@sofiedotcafe:matrix.orgSofie 🏳️‍⚧️ (she/her) * 16:54:50
@sofiedotcafe:matrix.orgSofie 🏳️‍⚧️ (she/her)For Nilla16:55:18
@sofiedotcafe:matrix.orgSofie 🏳️‍⚧️ (she/her) @jakehamilton:auxolotl.org do you have an example of Nilla but with agenix or similar? 17:00:15
@sofiedotcafe:matrix.orgSofie 🏳️‍⚧️ (she/her)I love your Hive based config :317:00:25
@bandithedoge:matrix.orgbandithedogeis there a way to make the lix installer not try to install fish configs? it's causing this error in my github action that uses nothing-but-nix with default settings: https://github.com/bandithedoge/nur-packages/actions/runs/20227877364/job/58063479258#step:4:8317:24:38
@goldstein:tty5.devgoldstein
nix-repl> builtins.flakeRefToString { type = "indirect"; id = "lol"; ref = "lol/9bdfd23e28ffc1fb5a6e52e43dad4288701bb05d"; }          
"flake:lol/lol/9bdfd23e28ffc1fb5a6e52e43dad4288701bb05d"

nix-repl> builtins.flakeRefToString { type = "indirect"; id = "lol"; ref = "lol"; rev = "9bdfd23e28ffc1fb5a6e52e43dad4288701bb05d"; }
"flake:lol/lol/9bdfd23e28ffc1fb5a6e52e43dad4288701bb05d

no question here, I just want to share my pain 🫠
why are flakerefs so ambiguous

18:54:59
@goldstein:tty5.devgoldstein I knew that parse(serialize(flakeref)) is not noop because of HTTP query params, but I didn’t know that indirect flakerefs are also ambigous 18:59:00
@goldstein:tty5.devgoldstein and getFlake only takes string flakerefs, so some getFlake invocations are quite literally inexpressible 18:59:37
@goldstein:tty5.devgoldstein
nix-repl> builtins.parseFlakeRef (builtins.flakeRefToString { type = "indirect"; id = "nixpkgs"; ref = "refs/heads/master"; }) 
error:
       … while calling the 'parseFlakeRef' builtin
         at «string»:1:1:
            1| builtins.parseFlakeRef (builtins.flakeRefToString { type = "indirect"; id = "nixpkgs"; ref = "refs/heads/master"; })
             | ^

       error: GitHub URL 'flake:nixpkgs/refs/heads/master' is invalid

that one is probably a bug though? no way it’s a github url

19:06:51
@sofiedotcafe:matrix.orgSofie 🏳️‍⚧️ (she/her)also, rootless install through nixsa would be nice to have!19:48:40

Show newer messages


Back to Room ListRoom Version: 10