nix-darwin,nixos: add osConfig module argument (#2302)

Having either argument defined based on the OS is a problem when
trying to write generic Nix code.

The current workaround is to use accept both and specify a default
value for each argument:

```
{ config, lib, nixosConfig ? {}, darwinConfig ? {}, ... }:

let
  osConfig = nixosConfig // darwinConfig;
in
{
  # Do something with `osConfig`
}
```

With this commit, it becomes possible to do the following:

```
{ config, lib, osConfig, ... }:

{
  # Do something with `osConfig`
}
```
This commit is contained in:
Nicolas Berbiche 2021-10-06 16:32:13 +02:00 committed by GitHub
parent 854406680b
commit 60ebc273c9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 2 additions and 0 deletions

View file

@ -12,6 +12,7 @@ let
specialArgs = {
lib = extendedLib;
darwinConfig = config;
osConfig = config;
} // cfg.extraSpecialArgs;
modules = [
({ name, ... }: {

View file

@ -12,6 +12,7 @@ let
specialArgs = {
lib = extendedLib;
nixosConfig = config;
osConfig = config;
modulesPath = ../modules;
} // cfg.extraSpecialArgs;
modules = [