summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--README.md19
-rw-r--r--flake.nix1
2 files changed, 20 insertions, 0 deletions
diff --git a/README.md b/README.md
index 82f1da55..76d1720f 100644
--- a/README.md
+++ b/README.md
@@ -116,6 +116,25 @@ and tactics specialized for monadic programs (see
A tutorial for the Lean backend is available [here](./tests/lean/Tutorial.lean).
+## Quick start for Nix users
+
+Assuming Nix is installed, with a support for Flakes (`*`):
+
+```console
+$ # Run Charon with the exact same version required by Aeneas
+$ nix run github:aeneasverif/aeneas#charon -L
+$ nix run github:aeneasverif/aeneas -L -- -backend your_preferred_backend your_llbc.file
+```
+
+To regenerate the extraction, just run step 2 and step 3 again.
+
+`(*)` : Flakes are not necessary, here is an example of how to do similar steps without it:
+
+```console
+$ nix-shell '<aeneas>' -A packages.x86_64-linux.charon --run "charon" -I aeneas=https://github.com/AeneasVerif/aeneas/archive/main.tar.gz
+$ nix-shell '<aeneas>' -A packages.x86_64-linux.default --run "aeneas --backend your_preferred_backend your_llbc.file" -I aeneas=https://github.com/AeneasVerif/aeneas/archive/main.tar.gz
+```
+
## Formalization
The translation has been formalized and published at ICFP2022: [Aeneas: Rust
diff --git a/flake.nix b/flake.nix
index 3e8b88de..cb3f84ea 100644
--- a/flake.nix
+++ b/flake.nix
@@ -217,6 +217,7 @@
{
packages = {
inherit aeneas;
+ inherit (charon.packages.${system}) charon-ml charon;
default = aeneas;
};
devShells.default = pkgs.mkShell {