| 29 Sep 2025 |
Niclas Overby Ⓝ | Redacted or Malformed Event | 13:05:08 |
Niclas Overby Ⓝ | Redacted or Malformed Event | 13:05:11 |
Niclas Overby Ⓝ | * Is withOverlays not applied in nixosConfigurations?
I have added the function lib.noverby.add to withOverlay, but the function cannot be accessed?
nixosConfigurations/gravitas.nix:
| 13:05:47 |
Niclas Overby Ⓝ | * Is withOverlays not applied in nixosConfigurations?
I have added the function lib.noverby.add to withOverlay, but the function cannot be accessed?
devices/gravitas.nix: (nixosConfigrations has an alias to devices)
| 13:06:28 |
Niclas Overby Ⓝ | Redacted or Malformed Event | 13:06:53 |
Niclas Overby Ⓝ | Redacted or Malformed Event | 13:08:33 |
Niclas Overby Ⓝ | * I can access lib.noverby.add in nixosModules | 13:08:41 |
Niclas Overby Ⓝ | Is it possible to add functions to ModuleArgs.lib?
I need it to create helper functions for setting up nixosConfigrations. It seems like it cannot be added using withOverlays, is there another approach?
| 13:39:48 |
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 |