summaryrefslogtreecommitdiff
path: root/gnu/packages/wm.scm
diff options
context:
space:
mode:
authorSiniša Biđin <sinisa@bidin.eu>2015-09-11 03:11:51 -0500
committerEric Bavier <bavier@member.fsf.org>2015-09-11 03:18:32 -0500
commit6e38c4be4fc1de24c03cd556df98374babaf9666 (patch)
tree8e035969520983abe40da91cf606ad246278245a /gnu/packages/wm.scm
parent574d9db2cefd225f3977ea051db7a286b792a9f6 (diff)
gnu: Add xmonad.
* gnu/packages/wm.scm (xmonad): New variable. Co-authored-by: Eric Bavier <bavier@member.fsf.org>
Diffstat (limited to 'gnu/packages/wm.scm')
-rw-r--r--gnu/packages/wm.scm51
1 files changed, 51 insertions, 0 deletions
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 6f05b88bbb..f85bca491a 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -1,5 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
+;;; Copyright © 2015 Siniša Biđin <sinisa@bidin.eu>
+;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -21,6 +23,8 @@
#:use-module (guix packages)
#:use-module (gnu packages linux)
#:use-module (guix build-system gnu)
+ #:use-module (guix build-system haskell)
+ #:use-module (gnu packages haskell)
#:use-module (gnu packages base)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages perl)
@@ -143,3 +147,50 @@ commands would.")
from scratch. i3 is primarily targeted at advanced users and
developers.")
(license bsd-3)))
+
+(define-public xmonad
+ (package
+ (name "xmonad")
+ (version "0.11.1")
+ (synopsis "Tiling window manager")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://hackage.haskell.org/package/xmonad/"
+ "xmonad-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1pfjssamiwpwjp1qqkm9m9p9s35pv381m0cwg6jxg0ppglibzq1r"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-mtl" ,ghc-mtl)
+ ("ghc-utf8-string" ,ghc-utf8-string)
+ ("ghc-extensible-exceptions" ,ghc-extensible-exceptions)
+ ("ghc-x11" ,ghc-x11)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after
+ 'install 'install-xsession
+ (lambda _
+ (let* ((xsessions (string-append %output "/share/xsessions")))
+ (mkdir-p xsessions)
+ (call-with-output-file
+ (string-append xsessions "/xmonad.desktop")
+ (lambda (port)
+ (format port "~
+ [Desktop Entry]~@
+ Name=~a~@
+ Comment=~a~@
+ Exec=~a/bin/xmonad~@
+ Type=Application~%" ,name ,synopsis %output)))))))))
+ (home-page "http://xmonad.org")
+ (description
+ "Xmonad is a tiling window manager for X. Windows are arranged
+automatically to tile the screen without gaps or overlap, maximising screen
+use. All features of the window manager are accessible from the keyboard: a
+mouse is strictly optional. Xmonad is written and extensible in Haskell.
+Custom layout algorithms, and other extensions, may be written by the user in
+config files. Layouts are applied dynamically, and different layouts may be
+used on each workspace. Xinerama is fully supported, allowing windows to be
+tiled on several screens.")
+ (license bsd-3)))