34 lines
1.1 KiB
Nix
34 lines
1.1 KiB
Nix
|
|
{ lib, ... }:
|
||
|
|
let
|
||
|
|
inherit (lib) options trivial types;
|
||
|
|
Release = import ./release.nix { inherit lib; };
|
||
|
|
in
|
||
|
|
options.mkOption {
|
||
|
|
description = "Redistributable manifest is an attribute set which includes a mapping from package name to release";
|
||
|
|
example = trivial.importJSON ../../../../cuda/manifests/redistrib_11.8.0.json;
|
||
|
|
type = types.submodule {
|
||
|
|
# Allow any attribute name as these will be the package names
|
||
|
|
freeformType = types.attrsOf Release.type;
|
||
|
|
options = {
|
||
|
|
release_date = options.mkOption {
|
||
|
|
description = "Release date of the manifest";
|
||
|
|
type = types.nullOr types.str;
|
||
|
|
default = null;
|
||
|
|
example = "2023-08-29";
|
||
|
|
};
|
||
|
|
release_label = options.mkOption {
|
||
|
|
description = "Release label of the manifest";
|
||
|
|
type = types.nullOr types.str;
|
||
|
|
default = null;
|
||
|
|
example = "12.2.2";
|
||
|
|
};
|
||
|
|
release_product = options.mkOption {
|
||
|
|
example = "cuda";
|
||
|
|
description = "Release product of the manifest";
|
||
|
|
type = types.nullOr types.str;
|
||
|
|
default = null;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
};
|
||
|
|
}
|