diff --git a/horizon.dhall b/horizon.dhall
index ee955e1b05d62b9e3b69f5b2edc66cefeac422c9..43c538fba399ccf08d7303693ee75cd4f4527ac3 100644
--- a/horizon.dhall
+++ b/horizon.dhall
@@ -939,6 +939,7 @@ in  H.HorizonExport.MakePackageSet
           , H.callHackage "xml-conduit" "1.9.1.1"
           , H.callHackage "xml-types" "0.3.8"
           , H.callHackage "xml" "1.3.14"
+          , H.callHackage "xmonad" "0.17.1"
           , H.callHackage "yaml" "0.11.8.0"
           , H.callHackage "zip-archive" "0.4.2.2"
           , H.callHackage "zlib" "0.6.3.0"
diff --git a/initial-packages.nix b/initial-packages.nix
index b9e96a9296069a17c48a4758776c0bf58df28080..1c71b24694bbbbff05ac3f1ca92234a06a521d4d 100644
--- a/initial-packages.nix
+++ b/initial-packages.nix
@@ -1523,6 +1523,8 @@ self: with pkgs.haskell.lib; {
 
   xml-types = self.callPackage (./pkgs/xml-types.nix) { };
 
+  xmonad = self.callPackage (./pkgs/xmonad.nix) { };
+
   yaml = self.callPackage (./pkgs/yaml.nix) { };
 
   zip-archive = self.callPackage (./pkgs/zip-archive.nix) { };
diff --git a/pkgs/xmonad.nix b/pkgs/xmonad.nix
new file mode 100644
index 0000000000000000000000000000000000000000..9edee4b02bb4a39682e0f1bc926f216fc5a53a4c
--- /dev/null
+++ b/pkgs/xmonad.nix
@@ -0,0 +1,64 @@
+{ mkDerivation
+, QuickCheck
+, X11
+, base
+, containers
+, data-default-class
+, directory
+, filepath
+, lib
+, mtl
+, process
+, quickcheck-classes
+, setlocale
+, time
+, transformers
+, unix
+}:
+mkDerivation {
+  pname = "xmonad";
+  version = "0.17.1";
+  sha256 = "884a32837e41410bab622b26a4b5dc38bd88f1b78a6efd5c552f1456b1e7f8aa";
+  revision = "2";
+  editedCabalFile = "1rgwrnyb7kijzl2mqm8ks2nydh37q5vkbg4400rg9n6x13w2r9b3";
+  isLibrary = true;
+  isExecutable = true;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [
+    base
+    containers
+    data-default-class
+    directory
+    filepath
+    mtl
+    process
+    setlocale
+    time
+    transformers
+    unix
+    X11
+  ];
+  executableHaskellDepends = [ base ];
+  testHaskellDepends = [
+    base
+    containers
+    QuickCheck
+    quickcheck-classes
+    X11
+  ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  postInstall = ''
+    install -D man/xmonad.1 ''${!outputDoc}/share/man/man1/xmonad.1
+    install -D man/xmonad.hs ''${!outputDoc}/share/doc/$name/sample-xmonad.hs
+  '';
+  homepage = "http://xmonad.org";
+  description = "A tiling window manager";
+  license = lib.licenses.bsd3;
+  broken = false;
+}