| 26 Jul 2025 |
aloisw | Or if you're already in a cross (or not-so-cross, like mine) package set. | 13:18:41 |
aloisw | They're basically broken except in the crossSystem = null case. | 13:19:09 |
emily | I forgot that setting both of those was different in any way to setting just one tbh | 13:34:07 |
emily | I think it used to force cross flags being passed to toolchains but I believe that was changed | 13:34:27 |
aloisw | In reply to @emilazy:matrix.org I forgot that setting both of those was different in any way to setting just one tbh Passing crossSystem = null indeed has the same effect as passing both of them the same. The problem starts when pkgsi686Linux and similar change localSystem but pass crossSystem down. | 13:39:07 |
emily | not quite the same effect then :D | 13:40:51 |
emily | since the difference is exposed | 13:40:56 |
emily | I think it used to be more different though. probably this lingering behaviour is just a bug but reworking those variant sets to compose properly is a whole ordeal that is in limbo waiting for changes to system handling I think | 13:41:42 |
aloisw | In reply to @emilazy:matrix.org not quite the same effect then :D Well yes. I mean in the package set itself. | 13:53:14 |
aloisw | nix-repl> (import <nixpkgs> { localSystem = "x86_64-linux"; crossSystem = null; }).hello == (import <nixpkgs> { localSystem = "x86_64-linux"; crossSystem = "x86_64-linux"; }).hello
true
| 13:54:25 |
piegames | Finally made meeting notes for this, CC K900 raitobezarius Please double-check the conclusion section if you can https://wiki.lix.systems/books/lix-contributors/page/2025-06-26-lix-nixos-module | 16:29:31 |
piegames | Quick side question: can we define overlays within Nixpkgs and directly use them, or does this result in infinite recursion because non-lazy attrs and thus require a double-import of Nixpkgs? | 16:33:49 |
piegames | nvm we of course can't I'm dumb | 16:34:22 |
piegames | so this begs the question, pkgs.lixPackageSet is overlay-shaped but how to apply it (in a non-NixOS setting especially) | 16:34:50 |
aloisw | Depends on what you mean by "within nixpkgs" I guess? | 16:34:54 |
piegames | (side question, how does this even work with NixOS with config.nixpkgs.overlays, how does it bootstrap itself there) | 16:35:21 |
Qyriad | pkgs.config doesn't contain overlays | 16:36:33 |
Qyriad | I think like, pkgs' = import <nixpkgs> { overlays = [ pkgs.lixOverlay ]; }? | 16:37:01 |
piegames | e.g. pkgs.lixOverlay, which takes a Lix derivation and produces an overlay which overrides all packages that depend on Nix to use that derivation | 16:37:16 |
emily | I thought the idea was to do something like nixpkgs.overlays = [ (final: prev: prev.lixPackageSets.<version>) ]; or something? | 16:38:33 |
piegames | I'll take that if it works | 16:39:04 |
emily | there is pkgs.extend, but generally overlays in Nixpkgs are only used for stdenv bootstrap. my understanding was that the point of lixPackageSets was to have the overrides that you can overlay directly, but I'm not 100% sure | 16:39:16 |
emily | (so you can also pkgs.extend pkgs.lixPackageSets.<version>, in non-NixOS) | 16:39:39 |
emily | (er, type error) | 16:39:53 |
aloisw | In reply to @piegames:flausch.social e.g. pkgs.lixOverlay, which takes a Lix derivation and produces an overlay which overrides all packages that depend on Nix to use that derivation Do you want to use this in a particular place? Or just expose it to users? | 16:40:11 |
aloisw | In reply to @emilazy:matrix.org I thought the idea was to do something like nixpkgs.overlays = [ (final: prev: prev.lixPackageSets.<version>) ]; or something? That probably does not really work, given that lixPackageSets has some non-Lix packages in it, and the Nix implementation is called lix there and not nix. | 16:41:08 |
emily | fair enough. I thought that was the general idea, but I can believe the implementation is not there yet :) | 16:41:35 |
emily | nix = lix; seems like an easy enough fix, though | 16:41:43 |
emily | having non-Lix packages in it is the point, right? to overlay stuff that depends on Nix | 16:41:52 |
aloisw | I mean that's basically what the nixos-module does right? | 16:42:02 |