gnu: Add xmonad.

* gnu/packages/wm.scm (xmonad): New variable.

Co-authored-by: Eric Bavier <bavier@member.fsf.org>
This commit is contained in:
Siniša Biđin 2015-09-11 03:11:51 -05:00 committed by Eric Bavier
parent 574d9db2ce
commit 6e38c4be4f

View file

@ -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 @@ (define-module (gnu packages wm)
#: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 @@ (define-public i3-wm
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)))