guix-commits
[Top][All Lists]
Advanced

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

01/02: gnu: Add xmonad.


From: Eric Bavier
Subject: 01/02: gnu: Add xmonad.
Date: Fri, 11 Sep 2015 13:23:20 +0000

bavier pushed a commit to branch master
in repository guix.

commit 6e38c4be4fc1de24c03cd556df98374babaf9666
Author: Siniša Biđin <address@hidden>
Date:   Fri Sep 11 03:11:51 2015 -0500

    gnu: Add xmonad.
    
    * gnu/packages/wm.scm (xmonad): New variable.
    
    Co-authored-by: Eric Bavier <address@hidden>
---
 gnu/packages/wm.scm |   51 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 51 insertions(+), 0 deletions(-)

diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 6f05b88..f85bca4 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 <address@hidden>
+;;; Copyright © 2015 Siniša Biđin <address@hidden>
+;;; Copyright © 2015 Eric Bavier <address@hidden>
 ;;;
 ;;; 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)))



reply via email to

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