* gnu/packages/xmonad.scm (xmonad, xmonad.desktop): New variables. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. --- gnu-system.am | 1 + gnu/packages/xmonad.scm | 78 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 79 insertions(+) create mode 100644 gnu/packages/xmonad.scm
diff --git a/gnu-system.am b/gnu-system.am index 9f46f7b..8148038 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -326,6 +326,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/xfig.scm \ gnu/packages/xiph.scm \ gnu/packages/xml.scm \ + gnu/packages/xmonad.scm \ gnu/packages/xnee.scm \ gnu/packages/xdisorg.scm \ gnu/packages/xorg.scm \ diff --git a/gnu/packages/xmonad.scm b/gnu/packages/xmonad.scm new file mode 100644 index 0000000..4d6a099 --- /dev/null +++ b/gnu/packages/xmonad.scm @@ -0,0 +1,78 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2015 Siniša Biđin <[email protected]> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages xmonad) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix licenses) + #:use-module (guix build-system haskell) + #:use-module (gnu packages haskell)) + +(define xmonad.desktop + (origin + (method url-fetch) + (uri (string-append + "https://sources.gentoo.org/cgi-bin/viewvc.cgi/" + "gentoo-x86/x11-wm/xmonad/files/xmonad.desktop?revision=1.3")) + (file-name "xmonad.desktop") + (sha256 (base32 "0jx3pqv62hjz0nnfxml2b3qiw2nzslwnva466xh28k23mpissj6s")))) + +(define-public xmonad + (package + (name "xmonad") + (version "0.11.1") + (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) + (arguments + '(#:phases + (alist-cons-after + 'install 'install-xsession + (lambda _ + (let* ((file (assoc-ref %build-inputs "xmonad.desktop")) + (xsessions (string-append %output "/share/xsessions")) + (target (string-append xsessions "/xmonad.desktop"))) + (mkdir-p xsessions) + (copy-file file target))) + %standard-phases))) + (inputs + `(("xmonad.desktop" ,xmonad.desktop))) + (propagated-inputs + `(("ghc-mtl" ,ghc-mtl) + ("ghc-utf8-string" ,ghc-utf8-string) + ("ghc-extensible-exceptions" ,ghc-extensible-exceptions) + ("ghc-x11" ,ghc-x11))) + (home-page "http://xmonad.org") + (synopsis "A tiling window manager") + (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))) -- 2.4.3
