Cabin (CAbal BINary sandbox) is a tool to manage cabal binary sandboxes. It lets you install a binary program from cabal into an individual sandbox, and then load that sandbox's bin directory into your home environment. For example:
cabin install alex
cabin load alex
Would install alex
into its own sandbox and link the relevant binaries into
your $PATH.
There are two easy ways to install:
cabal --no-require-sandbox install cabin
will install cabin in your default cabal profile, whence you can run it:
$HOME/.cabal/bin/cabin
You also need to add the cabin binary path to your PATH:
export PATH=$PATH:$HOME/.cabin/bin
And add this line to the relevant .profile
file.
wget -O - https://raw.githubusercontent.com/nc6/cabin/master/bootstrap.sh | bash
Should bootstrap the operation and install cabin
into its own cabin, which
will be loaded for you. Note that if you then call cabin unload cabin
, it will
no longer be available and you will have to invoke the cabin
binary directly
from within $HOME/.cabin/cabins/cabin/.cabal-sandbox/bin/cabin
.