lib/options: make mkPackageOption use mkNullOrOption'

This commit is contained in:
Matt Sturgeon 2024-05-31 17:28:31 +01:00
parent 1bb4cb9c6c
commit 297aa6d0a2
No known key found for this signature in database
GPG key ID: 4F91844CED1A8299

View file

@ -248,23 +248,25 @@ rec {
mkPackageOption = mkPackageOption =
{ {
name ? null, # Can be null if a custom description is given. name ? null, # Can be omitted if a custom description is given.
default,
description ? null, description ? null,
example ? null, default, # `default` is not optional
}: ...
mkOption { }@args:
type = with types; nullOr package; mkNullOrOption' (
inherit default example; (filterAttrs (n: _: n != "name") args)
description = // {
if description == null then type = types.package;
'' description =
Which package to use for `${name}`. if description == null then
Set to `null` to disable its automatic installation. ''
'' Which package to use for `${name}`.
else Set to `null` to disable its automatic installation.
description; ''
}; else
description;
}
);
mkPluginPackageOption = mkPluginPackageOption =
name: default: name: default: