mirror of
https://github.com/simplex-chat/haskell.nix.git
synced 2026-06-03 09:17:32 +00:00
4952abb034
* Add GHC-9.2.6 * More ghc 9.2.6 changes * ifdLevel 0 * ifdLevel 1 * More aarch64 materialization * Add spdx 3.19 materialization * ifdLevel 2 * Remaining materialization files * ifdLevel 3 * More materialization --------- Co-authored-by: Hamish Mackenzie <Hamish.K.Mackenzie@gmail.com>
48 lines
1.4 KiB
Nix
48 lines
1.4 KiB
Nix
{ projectConfig }:
|
|
{ lib, config, pkgs, haskellLib, ... }: {
|
|
options = {
|
|
packages = lib.mkOption {
|
|
type = lib.types.unspecified;
|
|
default = haskellLib.selectProjectPackages;
|
|
};
|
|
crossPlatforms = lib.mkOption {
|
|
type = lib.types.unspecified;
|
|
default = projectConfig.crossPlatforms;
|
|
};
|
|
variants = lib.mkOption {
|
|
type = lib.types.attrsOf lib.types.unspecified;
|
|
default = {};
|
|
description = ''
|
|
This allows flakes to easily include variations of the
|
|
project by with different project arguments.
|
|
Anything you can pass to `project.addModule` can be used.
|
|
For instance to include variants using ghc 9.2.6:
|
|
```
|
|
flake.variants.ghc926.compiler-nix-name = pkgs.lib.mkForce "ghc926";
|
|
```
|
|
Then use it with:
|
|
```
|
|
nix build .#ghc926:hello:exe:hello
|
|
```
|
|
'';
|
|
};
|
|
doCoverage = lib.mkOption {
|
|
type = lib.types.bool;
|
|
default = false;
|
|
description = ''
|
|
Specifies if the flake `ciJobs` and `hydraJobs` should include code
|
|
coverage reports.
|
|
'';
|
|
};
|
|
coverageProjectModule = lib.mkOption {
|
|
type = lib.types.unspecified;
|
|
default = {};
|
|
description = ''
|
|
Project module for use when generating coverage reports.
|
|
The project packages will have `packages.X.doCoverage`
|
|
turned on by default.
|
|
'';
|
|
};
|
|
};
|
|
}
|