1
1
mirror of https://github.com/the-nix-way/dev-templates synced 2025-08-22 11:04:31 +02:00

feat: add support for Coq

This commit is contained in:
definfo 2024-12-26 01:01:16 +08:00
parent f95328aedb
commit 22c0198b89
5 changed files with 61 additions and 0 deletions

@ -33,6 +33,7 @@ Once your preferred template has been initialized, you can use the provided shel
| [C]/[C++] | [`c-cpp`](./c-cpp/) |
| [Clojure] | [`clojure`](./clojure/) |
| [C#][csharp] | [`csharp`](./csharp/) |
| [Coq] | [`coq`](./coq/) |
| [Cue] | [`cue`](./cue/) |
| [Dhall] | [`dhall`](./dhall/) |
| [Elixir] | [`elixir`](./elixir/) |
@ -105,6 +106,10 @@ The sections below list what each template includes. In all cases, you're free t
- [Mono] 6.12.0.182
- [msbuild] 16.10.1
### [`coq`](./cue/)
- [Coq] 8.15.2
### [`cue`](./cue/)
- [Cue] 0.5.0
@ -342,6 +347,7 @@ All of the templates have only the root [flake](./flake.nix) as a flake input. T
[composer]: https://getcomposer.org
[conan]: https://conan.io
[conftest]: https://conftest.dev
[Coq]: https://coq.inria.fr
[cppcheck]: http://cppcheck.sourceforge.net
[csharp]: https://dotnet.microsoft.com/en-us/languages/csharp
[cue]: https://cuelang.org

1
coq/.envrc Normal file

@ -0,0 +1 @@
use flake

25
coq/flake.lock Normal file

@ -0,0 +1,25 @@
{
"nodes": {
"nixpkgs": {
"locked": {
"lastModified": 1734649271,
"narHash": "sha256-4EVBRhOjMDuGtMaofAIqzJbg4Ql7Ai0PSeuVZTHjyKQ=",
"rev": "d70bd19e0a38ad4790d3913bf08fcbfc9eeca507",
"revCount": 724962,
"type": "tarball",
"url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.724962%2Brev-d70bd19e0a38ad4790d3913bf08fcbfc9eeca507/0193ec4a-02cd-7c6d-bad8-825029076205/source.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://flakehub.com/f/NixOS/nixpkgs/0.1.%2A.tar.gz"
}
},
"root": {
"inputs": {
"nixpkgs": "nixpkgs"
}
}
},
"root": "root",
"version": 7
}

24
coq/flake.nix Normal file

@ -0,0 +1,24 @@
{
description = "A Nix-flake-based Coq development environment using opam";
inputs.nixpkgs.url = "https://flakehub.com/f/NixOS/nixpkgs/0.1.*.tar.gz";
outputs = { self, nixpkgs }:
let
supportedSystems = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
forEachSupportedSystem = f: nixpkgs.lib.genAttrs supportedSystems (system: f {
pkgs = import nixpkgs { inherit system; };
});
in
{
devShells = forEachSupportedSystem ({ pkgs }: {
default =
let
coqPackages = pkgs.coqPackages_8_15;
in
pkgs.mkShell {
packages = with coqPackages; [ coq ];
};
});
};
}

@ -123,6 +123,11 @@
description = "Clojure development environment";
};
coq = {
path = ./coq;
description = "Coq development environment";
};
csharp = {
path = ./csharp;
description = "C# development environment";