An MUA built around notmuch.
- GHC >= 8.4
- a local mailer (e.g.
This project is in its infancy, but please join us and help. All kinds of contributions (bug reports, testing, documentation, code) are welcome. See HACKING for more info. If you want to jump right in, have a look at the easy fix issues.
1.0 - The basics
The first release will deliver a primitive MUA with a primitive UX. Primitive meaning that most features can be used in anger but are not recommended for every-day productive use. This release will form the base upon which we want to build an application which separates itself from current terminal mail clients.
These releases will focus in more depth on specific issues: e.g. better UX, better plug-in support, etc.
- re-use strong UX patterns from existing console mailers like mutt and sup
- extensible with plug-ins
- enforce sane configuration by using Haskell's type system
- enforce security against malicious emails by using more expressive types
- provide a reliable application using a large suite of user acceptance tests
Try out purebred with the following choices. Keep in mind that none of these are currently tested in our CI and may be broken.
We operate a Fedora Copr repository which provides easily installable RPM packages.
If you're using the nix package manager - whether on NixOS or any other Linux distribution - you can build purebred too.
You can use
nix-build to try out purebred without installing it:
$ nix-build default.nix
nix-env to install the application:
$ nix-env --file default.nix --install
We officially don't support Arch Linux, but will support any packaging efforts. Please see #352 for links to help building Purebred.
Install development packages for system library dependencies first. They are needed to compile the Haskell notmuch bindings. Note that package names may vary between different distributions.
Make sure you have one of our supported GHC versions and Cabal-install >= 2.2 installed. From a cloned checkout you then go:
# Updates the package list needed for cabal to download dependencies $ cabal new-update # Builds all dependencies, the purebred library and executable and # installs it to ~/.cabal/bin $ cabal new-build Resolving dependencies... Build profile: ... In order, the following will be built (use -v for more details): - ... - ... $ cabal new-install exe:purebred # start purebred $ ~/.cabal/bin/purebred