29 Sep 2025 |
accelbread | that lib is nixpkgs' so needs withOverlays | 15:33:48 |
accelbread | you could add a new moduleArg for your helpers | 15:34:33 |
accelbread | flakelight puts its helpers in the flakelight module arg and adds it to lib with withOverlays | 15:35:43 |
Niclas Overby Ⓝ | It does not seem to work: | 15:43:14 |
Niclas Overby Ⓝ |  Download image.png | 15:43:15 |
Niclas Overby Ⓝ |  Download image.png | 15:43:32 |
Niclas Overby Ⓝ | withOverlays/lib.nix
# Overlay Flake lib as lib.noverby
(final: prev: {lib = prev.lib.extend (_: _: {noverby = prev.outputs.lib;});})
| 15:44:40 |
Niclas Overby Ⓝ | * withOverlays/lib.nix
# Overlay Flake lib as lib.noverby
(final: prev: {lib = prev.lib.extend (_: _: {noverby = prev.outputs.lib;});})
| 15:44:46 |
Niclas Overby Ⓝ | It does work, if I try to access it in pkgs:
{
pkgs,
...
}: {
# Nix
nix = {
settings = {
max-jobs = pkgs.lib.noverby.add 2 2;
| 15:48:59 |
Niclas Overby Ⓝ | * It does work, if I try to access it in pkgs: (That is only possible in a nixosModule)
{
pkgs,
...
}: {
# Nix
nix = {
settings = {
max-jobs = pkgs.lib.noverby.add 2 2;
| 15:51:50 |
Niclas Overby Ⓝ | * It does work, if I try to access it in pkgs: (That is possible in a nixosModule, and not in nixosConfigurations)
{
pkgs,
...
}: {
# Nix
nix = {
settings = {
max-jobs = pkgs.lib.noverby.add 2 2;
| 15:52:12 |
Niclas Overby Ⓝ | 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 nixosConfigrations . | 15:57:16 |
Niclas Overby Ⓝ | * 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 nixosConfigrations . | 15:57:30 |
accelbread | right, the overlays applies for lib in pkgs; the one for module args is set by the module system. not sure if tge module system allows modifying it | 16:08:13 |
accelbread | but _module.args.noverby would allow you to get { noverby, ... } from modules | 16:09:49 |
accelbread | ill check if itd be possible to modify the module lib (though might be an infinite recursion thing) | 16:10:36 |
accelbread | especially since lib is specialArgs not args | 16:11:09 |
accelbread | ah right, i'd been using self.lib in the past iirc | 16:12:35 |
Niclas Overby Ⓝ | * 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 |
Niclas Overby Ⓝ | How does that work? | 05:30:35 |
accelbread | you can set a flakes lib output, and then access it though inputs.self | 05:35:43 |
accelbread | 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 |
Niclas Overby Ⓝ | If you put lib functions into nix/lib , then I guess you cannot currently access module args? | 08:11:27 |
Niclas Overby Ⓝ | * If you put lib functions as standalone nix files into nix/lib , then I guess you cannot currently access module args? | 08:12:17 |
Niclas Overby Ⓝ | E.g | 08:14:31 |
Niclas Overby Ⓝ |  Download image.png | 08:14:32 |
Niclas Overby Ⓝ | You can only access module args, if you create a nix/lib.nix instead? | 08:21:26 |
Niclas Overby Ⓝ | * So you can only access module args, if you create a nix/lib.nix instead? | 11:26:10 |
accelbread | yeah, youd need nix/lib.nix or nix/lib/default.nix | 16:13:02 |
accelbread | lib is an attrset of anything at all so cant add optional args to anything but the root attrset | 16:14:40 |