Calvin-L / calvins-nix-packages

Nix packages for me. I guess someone else might find them useful too.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Calvin's Nix Channel

This is a Nix "channel" with packages you can build.

To list available packages:

nix-env --description -qaPf . | sort

To build one, e.g. tlaps:

nix-build . -A tlaps -o result
./result/bin/tlapm --config

For a slightly more stable experience, replace . with ./stable.nix in the commands above. stable.nix pins exact upstream dependencies for a reproducible experience.

What's Here?

A few of my own projects:

  • caltac, an opinionated set of Coq tactics.
  • crash-safe-io, a simple and high-quality library implementing crash-safe file operations in Java.
  • ezpsl, a language for modeling concurrent programs.
  • many-smt, an SMT-LIB portfolio solver.
  • retry-forever, for when failure isn't an option.

And a few open source things I use:

  • tlaps, the TLA+ proof system. This is a newer and far more functional version than the one that ships with Nixpkgs. It includes:
    • isabelle_2011, which is the most recent version of Isabelle that works with tlaps. This package is heavily patched:
      • heaps are discovered using the $ISABELLE_PATH environment variable, so they can live somewhere outside $HOME
      • lots of functionality that tlaps does not need has been removed
      • fixes to compile with PolyML 5.9
    • ls4, which is used by tlaps.
    • ptl-to-trp-translator, which is used by tlaps. (TODO: compare with the one in the TLAPS source tree.)
    • zenon, a first-order logic solver.
    • zipperposition, a first-order logic solver.
  • [tlatools-complete], a wrapper for the TLA+ tools that includes the community modules and TLAPS standard library.
  • apalache, a symbolic TLA+ checker. (TODO: my version is very old. Can I use the Nix flake in the Apalache repo?)
  • nbdkit, for userspace block devices on Linux.
  • crosstool-ng, which I use for cross-compiling to Raspberry Pi.

About

Nix packages for me. I guess someone else might find them useful too.

License:MIT License


Languages

Language:Nix 99.6%Language:Shell 0.4%