mirror of
https://github.com/simplex-chat/haskell.nix.git
synced 2026-06-03 09:17:32 +00:00
cbf1e918b6
* Add ghc 9.2.5 * More materialization updates * More materialization updates * More materialization updates * Remaining materialization changes * Fix ghcjs cabal materialization issue
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.4:
|
|
```
|
|
flake.variants.ghc925.compiler-nix-name = pkgs.lib.mkForce "ghc925";
|
|
```
|
|
Then use it with:
|
|
```
|
|
nix build .#ghc925: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.
|
|
'';
|
|
};
|
|
};
|
|
}
|