From Gentoo Wiki
Jump to: navigation, search


xmonad is a fast and lightweight tiling window manager for X11 written, configured and extended in the purely-functional programming language Haskell.


USE flags

USE flags for x11-wm/xmonad A tiling window manager

default-term Pull terminal specified in default xmonad config to be a bit less hostile by default. local
hscolour Include coloured haskell sources to generated documentation (dev-haskell/hscolour) global
profile Add support for software performance analysis (will likely vary from ebuild to ebuild) global

There are two ways to install XMonad. The Gentoo recommended method is to use Portage so that the package will be integrated into the system's package database.


Merge the x11-wm/xmonad package:

root #emerge --ask x11-wm/xmonad

Cabal (unsupported)

It is possible to install using cabal, although it is not the Gentoo recommended method for installation system-wide packages. When choosing this route proceed with caution (Portage will not track xmonad)!

user $cabal install xmonad



Start xmonad using a display manager or the startx command.

If want to use startx and want ConsoleKit support, setup ConsoleKit and create the following file:

FILE ~/.xinitrc
exec ck-launch-session dbus-launch --sh-syntax --exit-with-session xmonad


XMonad itself can be configured through ~/.xmonad/xmonad.hs which is written in Haskell.

Minimal configuration file with default configuration:

CODE Primitive xmonad.hs
import XMonad

main = xmonad $ defaultConfig

Once you changed your config file you should compile it and restart XMonad.

user $xmonad --recompile
user $xmonad --restart

In most cases to write a config file you need additional features provided by the xmonad-contrib library. You can install it from x11-wm/xmonad-contrib

root #emerge --ask xmonad-contrib

OR using cabal:

user $cabal install xmonad-contrib

Adding status bars

Unlike many other window managers, XMonad does not have any built-in status bars. Instead of this it can pipe required information to an external program. Usually, xmobar, or dzen is a good choice for a status bar.


Install x11-misc/xmobar:

root #emerge --ask x11-misc/xmobar


Install x11-misc/dzen:

root #emerge --ask x11-misc/dzen

External resources