-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathflake.nix
More file actions
48 lines (46 loc) · 1.32 KB
/
flake.nix
File metadata and controls
48 lines (46 loc) · 1.32 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
{
description = "Local development environment for 2ControlVerification";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-23.11";
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
};
outputs =
{
self,
nixpkgs,
nixpkgs-unstable,
}:
let
system = "x86_64-linux";
pkgs = nixpkgs.legacyPackages.${system};
pkgs-unstable = nixpkgs-unstable.legacyPackages.${system};
coq-quantumlib-version = "v1.4.0";
in
let
coq-quantumlib = pkgs.coqPackages.mkCoqDerivation {
pname = "quantumlib";
owner = "inQWIRE";
repo = "QuantumLib";
defaultVersion = coq-quantumlib-version;
release.${coq-quantumlib-version} = {
rev = "80018571961e13968bfd80ea9cb061d9469b0817";
sha256 = "sha256-mx74GxIwF6mgmrELmNl0l3GiBBf/WrpouHfszylhTYQ=";
};
useDune = true;
};
in
{
devShell.${system} = pkgs.mkShell {
packages =
[
pkgs.coq
pkgs.coq.ocamlPackages.ocaml
pkgs.coq.ocamlPackages.dune_3
coq-quantumlib
]
++ pkgs.lib.optional (builtins.getEnv "CI" != "true") (
pkgs.coqPackages.coq-lsp.override { coq = pkgs.coq_8_18; }
); # Don't build the LSP in GitHub Action
};
};
}