xmonad comes in two parts.

  • The core package includes all you need to get up and running with a minimalist window manager.
  • The contrib package contains hundreds of extensions that can enhance the functionality of xmonad.

BSD/Linux distributions

xmonad is included in many distributions' package repositories. See if yours is one:

If you think a distribution is missing from this list, let us know.

Notes for Debian/Ubuntu users:

On debian, xmonad is split into three packages, and it might not be obvious what they do.

  • xmonad lets you run xmonad in its default configuration.
  • libghc-xmonad-dev lets you write a configuration file using core functionality.
  • libghc-xmonad-contrib-dev includes all of the contrib modules.

Notes for Ubuntu users only:

libghc6-x11-dev < 1.4.2-1 is not compiled with Xinerama (i.e. multi-head) support. This means that if you are running Hardy Heron or older and you want per-screen workspaces, you will need to install xmonad (and the Haskell X11 lib) from tarball.

From tarball

If you prefer to build on your own, you can get the official releases from hackage:

After you've downloaded, follow the install instructions and read the documentation on how to configure xmonad.

From darcs

Keep on the bleeding edge by tracking xmonad development:

darcs get http://code.haskell.org/xmonad
darcs get http://code.haskell.org/XMonadContrib

You will need darcs to check out the code. From there, follow the install instructions just as with the tarball.

Alternatively, you can install from snapshots

cabal install http://code.haskell.org/xmonad/xmonad.tar.gz
cabal install http://code.haskell.org/XMonadContrib/xmc.tar.gz

Related tools

Here are some tools we've found work well with xmonad: