Install Instructions

Pre-Compiled Binaries

If you wish to download a pre-compiled binary then head to the DOWNLOAD page to select your platform.

This is the recommended way to install murex unless you're already familiar with git and go, or need to enable/disable a specific builtin from what is compiled as part of the standard build.

From Source

Go 1.12 or higher is required

Prerequisites

You will need go (Golang) compiler and git installed, and your $GOPATH environmental variable set. You can check these by running:

which go
which git
echo $GOPATH

(each of those commands should return a non-zero length string).

Further Reading:

Installation From Source Steps

Importing the source code

At present, murex depends on being in a specific directory hierarchy for the tests to work and packages to import correctly. These instructions will talk you through creating that initial structure ready to import the source into. Experienced users in Go may opt to ignore some of these steps and run go get -u github.com/lmorg/murex instead. While this should work in most cases, it is difficult to run automated tests to ensure any updates doesn't break the go get import tool. And thus that approach is not officially supported. If you are in any doubt, please follow the git clone process below.

First create the directory path and clone the source into the appropriate directory structure.

mkdir -p $GOPATH/lmorg/murex
git clone github.com/lmorg/murex $GOPATH/lmorg/murex

At this point you can add and remove any optional builtins by following the instructions on this located further down this document. This is entirely optional as murex attempts to ship with sane defaults.

Test the code (optional stage)

go test ./...

Compile the code

go build github.com/lmorg/murex

Test the executable (optional stage)

./murex --run-tests
./murex -c 'source: ./flags_test.mx; try {test: run *}'

Start the shell

./murex

or, on Windows,...

murex.exe

Inside Docker

If you don't have nor want to install Go and already have docker (and docker-compose installed), then you can install murex using the CI/CD pipeline scripts.

Docker Hub

murex provides two prebuilt images on Docker Hub:

Building Your Own Container

From the project root (the location of this INSTALL.html file) run the following:

docker-compose up --build murex

Including Optional Builtins

Some optional builtins will be included by default, however there may be others you wish to include which are not part of the default build (such as select). To add them, copy (or symlink) the optional file from builtins/import_src to builtins/import_build.

A tool will be introduced in a later version to automate this.

Supported Platforms

Most popular operating systems and CPU types are supported. More details can be read at (docs/FAQ.supported-platforms.html).

This is obviously just a subjective matter and everyone will have their own personal preference. However if I was asked what my preference was then that would be Hasklig. It's a clean typeface based off Source Code Pro but with a few added ligatures - albeit subtle ones designed to make Haskell more readable. Those ligatures also suite murex pretty well. So the overall experience is a clean and readable terminal.

This site's content is rebuilt automatically from murex's source code after each merge to the master branch. Downloadable murex binaries are also built with the website.

Last built on Tue Jun 22 08:18:17 UTC 2021 against commit 2235c7b2235c7b18f86f1cf214e246b88b0ea193d87fe80.

Current version is 2.2.1100 BETA which has been verified against tests.