LazyVault: A simple sandboxing tool for Haskell packages.

[ deprecated, development, gpl, program ] [ Propose Tags ]

LazyVault is a sandboxing tool to install libraries and executables with a sandboxed environment. At the moment it's only supported under Unix or Gnu Systems. This package has only been tested under Gnu/Linux however. This program creates cabal sandboxes which you can use globally. For a detailed explaination on how this works refer to the README file found on the github page.

[Skip to Readme]


Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS] 0.0, 0.0.1 (info)
Dependencies base (>=4.5 && <4.6), directory (>=1.1 && <1.2), filepath (>=1.3 && <1.4), unix (>=2.5 && <2.6) [details]
License GPL-3.0-only
Copyright (c) 2013 Kevin van Rooijen
Author Kevin van Rooijen
Maintainer Kevin van Rooijen
Revised Revision 2 made by KevinVanRooijen at 2023-03-27T07:18:12Z
Category Development
Home page
Source repo head: git clone
Uploaded by KevinVanRooijen at 2013-02-06T00:08:55Z
Reverse Dependencies 1 direct, 0 indirect [details]
Executables LazyVault
Downloads 2235 total (8 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2016-10-25 [all 9 reports]

Readme for LazyVault-0.0.1

[back to package description]


LazyVault is a simple sandboxing tool for managing your cabal packages.


At the moment LazyVault is only supported under Unix / Gnu systems and has only been tested by me on Gnu/Linux.


LazyVault lets you create new global cabal sandboxes on your system. Instead of creating a sandbox inside your project, a new sandbox is created in the LazyVault directory for global use. You can switch between sandboxes, create, delete and store your existing cabal environment.


For a clean start I recommend you delete (or move) your current .cabal and .ghc directories and install LazyVault in a fesh .cabal dir.

# git clone
# cd LazyVault
# cabal install

You have now installed LazyVault in your current cabal directory, make sure you add $HOME/.cabal/bin to your $PATH in order to access the executable.


Once you're done, store your currently used cabal / ghc directories with the following command

#LazyVault store LazyVault

This will store your current cabal environment as a sandbox and name it LazyVault.

Add this piece of code to your .bashrc / .bashprofile / .zshrc to include all the bin directories to your $PATH

source $HOME/.lazyVault/binPaths

You can now access the LazyVault executable even though it's stored as a sandbox.

To list your sanboxes issue this command:

# LazyVault list
Available sandboxes:
none **

Here you see that no sandbox is selected, but LazyVault is available. We can leave the LazyVault sandbox as it is, since we only need to access the binary. Let's install the random package in a new sandbox.

Create a sandbox:

LazyVault create Random

Check your sandbox list again:

# LazyVault list
Available sandboxes:
none **

Random has been added, but none is still selected. Let's set Random as our current cabal environment:

# LazyVault set Random

Check the list again:

# LazyVault list
Random **

As we can see, Random is now selected. We can now proceed in installing the random package.

# cabal update ; cabal install random

random has now been installed in the Random sandbox, and is accessible globally if Random is set.