guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 12/13] gnu: Add xmonad.


From: Siniša Biđin
Subject: [PATCH 12/13] gnu: Add xmonad.
Date: Tue, 18 Aug 2015 22:40:14 +0200

* 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 <address@hidden>
+;;;
+;;; 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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]