Sender | Message | Time |
---|---|---|
29 Sep 2025 | ||
but _module.args.noverby would allow you to get { noverby, ... } from modules | 16:09:49 | |
ill check if itd be possible to modify the module lib (though might be an infinite recursion thing) | 16:10:36 | |
especially since lib is specialArgs not args | 16:11:09 | |
ah right, i'd been using self.lib in the past iirc | 16:12:35 | |
* Other than this toy example, the thing I'm trying to do is to add helper functions like mkBaseSystem , mkTestSystem , mkCalibSystem , that can be used to generate nixosConfigurations . | 16:28:31 | |
30 Sep 2025 | ||
How does that work? | 05:30:35 | |
you can set a flakes lib output, and then access it though inputs.self | 05:35:43 | |
though if you have a lot of flakes, it probably better to have a shared flake dep that exports a lib for everything else to use | 05:36:40 | |
If you put lib functions into nix/lib , then I guess you cannot currently access module args? | 08:11:27 | |
* If you put lib functions as standalone nix files into nix/lib , then I guess you cannot currently access module args? | 08:12:17 | |
E.g | 08:14:31 | |
Download image.png | 08:14:32 | |
You can only access module args, if you create a nix/lib.nix instead? | 08:21:26 | |
* So you can only access module args, if you create a nix/lib.nix instead? | 11:26:10 | |
yeah, youd need nix/lib.nix or nix/lib/default.nix | 16:13:02 | |
lib is an attrset of anything at all so cant add optional args to anything but the root attrset | 16:14:40 | |
2 Oct 2025 | ||
Did you come to a conclusion for this? | 09:28:05 | |
Ended up using this, but it would be nice if there was a clean way to extend lib in module args:
| 09:43:12 | |
Where are you supposed to add helper functions similar to
I cannot put it under
| 10:03:53 | |
* Where are you supposed to add helper functions similar to
I cannot put it under
| 10:04:10 | |
* Where are you supposed to add helper functions similar to
I cannot put it under
| 10:06:13 | |
* Where are you supposed to add helper functions similar to
I cannot put it under
| 10:06:45 | |
ah, the correct places would either be lib, legacyPackages, or an overlay | 14:53:12 | |
id normally set <namespace>.mkShell in an overlay output and add that to withOverlays | 14:54:21 | |
legacyPackages doesn't verify strucure, just that it has the pkgset type that stuff expects | 14:55:33 | |
https://github.com/aws-greengrass/aws-greengrass-sdk-lite/blob/44ea7a1f38ce5eab05558cadbe701e3f0c314216/flake.nix#L219 | 14:56:37 | |
here is a legacyPackages example | 14:56:55 | |
the pkgs type is any set with _type = "pkgs" | 14:57:30 | |
not sure why nixpkgs does it that way but im using nixpkg's definition | 14:58:10 | |
flakelight sets its lib functions in the flakelight module arg so reachable from that and inherits that in a flakelight attr in overlay. both locations means { flakelight, ... }: flakelight.importDir works for stuff taking module args or for stuff taking pkgs | 15:02:44 |