37 lines
1.1 KiB
Nix
37 lines
1.1 KiB
Nix
|
|
{ lib, ... }:
|
||
|
|
let
|
||
|
|
inherit (lib) options types;
|
||
|
|
Package = import ./package.nix { inherit lib; };
|
||
|
|
in
|
||
|
|
options.mkOption {
|
||
|
|
description = "Release is an attribute set which includes a mapping from platform to package";
|
||
|
|
example = (import ./manifest.nix { inherit lib; }).cuda_cccl;
|
||
|
|
type = types.submodule {
|
||
|
|
# Allow any attribute name as these will be the platform names
|
||
|
|
freeformType = types.attrsOf Package.type;
|
||
|
|
options = {
|
||
|
|
name = options.mkOption {
|
||
|
|
description = "Full name of the package";
|
||
|
|
example = "CXX Core Compute Libraries";
|
||
|
|
type = types.str;
|
||
|
|
};
|
||
|
|
license = options.mkOption {
|
||
|
|
description = "License of the package";
|
||
|
|
example = "CUDA Toolkit";
|
||
|
|
type = types.str;
|
||
|
|
};
|
||
|
|
license_path = options.mkOption {
|
||
|
|
description = "Path to the license of the package";
|
||
|
|
example = "cuda_cccl/LICENSE.txt";
|
||
|
|
default = null;
|
||
|
|
type = types.nullOr types.str;
|
||
|
|
};
|
||
|
|
version = options.mkOption {
|
||
|
|
description = "Version of the package";
|
||
|
|
example = "11.5.62";
|
||
|
|
type = types.str;
|
||
|
|
};
|
||
|
|
};
|
||
|
|
};
|
||
|
|
}
|