From 6bb027dbeb3dedb6c65cb27274465105bccdfb18 Mon Sep 17 00:00:00 2001 From: Quentin Aristote Date: Fri, 3 Dec 2021 11:48:19 +0100 Subject: initial commit --- modules/coq.nix | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 modules/coq.nix (limited to 'modules/coq.nix') diff --git a/modules/coq.nix b/modules/coq.nix new file mode 100644 index 0000000..3a1dfef --- /dev/null +++ b/modules/coq.nix @@ -0,0 +1,35 @@ +{ config, lib, pkgs, ... }: + +with lib; +let + cfg = config.coq; + coqBuildInputs = (with cfg.coqPackages; [ coq ]) + ++ (cfg.packages cfg.coqPackages); +in { + options.coq = { + enable = mkEnableOption { name = "coq"; }; + coqPackages = mkOption { + type = types.lazyAttrsOf types.package; + default = pkgs.coqPackages; + defaultText = literalExample "pkgs.coqPackages"; + description = '' + The set of Coq packages from which to get Coq and its packages. + Use this option to set the version of Coq. + ''; + }; + packages = mkOption { + type = with types; functionTo (listOf package); + default = _: [ ]; + defaultText = literalExample "_: [ ]"; + description = '' + Coq packages that will be made available to the environment. + ''; + example = literalExample '' + coqPackages: with coqPackages; [ autosubst ]; + ''; + }; + }; + config = mkIf cfg.enable { + buildInputs = coqBuildInputs; + }; +} -- cgit v1.2.3