unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Amirouche Boubekki <amirouche.boubekki@gmail.com>
To: guix-devel <guix-devel@gnu.org>
Subject: Installing guix
Date: Sun, 14 Dec 2014 19:43:34 +0100	[thread overview]
Message-ID: <CAL7_Mo8Vx7-5TBufG7syfdgXnj8xu1isEAmxnadLaNunhX_o3w@mail.gmail.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 3556 bytes --]

Hello,


I installed GNU Guix distribution on my other machine to use it more
often. This will be a bit a long explanation.

My machine is kind of recent, and previously with other distro I had
all sort of trouble with uefi. Not this time, I don't know what is the
configuration of guix, I've just setup my bios to avoid uefi.

Here is what I've done:

The 0.8 release has not wpa_supplicant and I didn't want to move the
machine around, so I modified the system/install.scm in guix-0.8 and
ran:

   # guix system disk-image gnu/system/install.scm

I dropped "--image-size=800MiB" otherwise the image failed build.

   # dd if=/gnu/store/.....image-disk of=/dev/sdb

When I boot the disk, I find out guix is version 0.7. I was under the
impression that this wasn't compatible with my system config.scm. So I
went back to guix-0.8 and changed package-mangement.scm recipe so that
guix is guix 0.8 instead of 0.7. There is also guix-devel but... This
was not very user friendly but hey, guix is alpha.

When the disk boots I connect to the wifi with the following commands

   # wpa_passphrase <ssid> <passphrase> > wpa.conf
   # wpa_supplicant -B -w<interface name> -cwpa.conf

Then:

  # dhclient <interface name>

To create partitions I used the graphical cfdisk command, then format them with:

  # mkfs.ext4 -L <name> <device>

I used two partition one for root another for home. I mounted only the
root partition (previous attempts I learned that it's not required to
mount home, but you need to create the home directory with the correct
permissions...):

  # mount -L root /mnt/

I copy pasted the config.scm to /mnt/etc/ that I had cooked started
cow-store with

  # deco start cow-store /mnt

I went swimming and when back GNU Guix was on my system :)

I did quite a bit of experiments to get nouveau drivers (libre nvidia
drivers) working. I remember trying them previously and they are (can
be) quiet good. I just tested http://minetest.net it reports that
nouveau drivers are kicking.

With slim-service, Xorg will look for a .xsession in $HOME and not
.xinitrc! I attached my .xsession file, but do not use it if you don't
have all the command available, otherwise xorg will loop-restart
indefinitly...


It's not the case anymore but at some point I had several version of
guix 0.7, 0.8-devel, and 0.9. Now I have only 0.9.

- Also su and sudo doesn't source /etc/profile.
- xterm was aweful, I installed st cf. suckless.scm I use ``guix -L
`pwd` -e "(let ((x (use-modules (suckless)))) st)"`` command to
install st. I'm wondering if there is better way to do.

- I find my "nouveau hack" quiet ugly, but I'm not sure how the
situation can be improved (cf. config.scm)
- During my test, I failed to get XORG_DRI_DRIVER_PATH working (cf
(gnu services xorg)) , nix-os is the only distro to use it.
LIBGL_DRIVERS_PATH doesn't work either.
- I'm not sure anymore about .guix-profile link, whether it gets
created or not at some point.
- I don't know if it's on purpose but $HOME/.guix-profile/sbin is
missing from $PATH
- I need a hat.

At some point, I'm not sure why anymore, I had to chroot into the
installed guix from the installation disk, here is what I did:

# sh ./connect-to-wifi.sh
# mount --bind /dev /mnt/dev
# mount -t proc /proc /mnt/proc
# cp /etc/resolv.conf /mnt/etc/
# chroot /mnt /bin/sh
# source /etc/profile
# guix-builder --build-users-group=guixbuild &
# guix foo bar baz


I still need a service for wpa-supplicant at some point, but my
current configuration is good.

So far, so good.


Thanks guix people, all the best!

[-- Attachment #2: config.scm --]
[-- Type: application/octet-stream, Size: 15886 bytes --]

;; This is an operating system configuration template.
(define-module (config))

(use-modules ((guix packages)))
(use-modules ((guix download)))
(use-modules ((guix git-download)))
(use-modules ((guix build utils)))
(use-modules ((guix build-system gnu)))
(use-modules ((guix licenses) #:prefix license:))

(use-modules ((gnu)))
(use-modules ((gnu packages)))
(use-modules ((gnu packages m4)))
(use-modules ((gnu packages pkg-config)))
(use-modules ((gnu packages autotools)))
(use-modules ((gnu packages compression)))
(use-modules ((gnu packages gettext)))
(use-modules ((gnu packages gnupg)))
(use-modules ((gnu packages databases)))
(use-modules ((gnu packages emacs)))
(use-modules ((gnu packages base)))
(use-modules ((gnu packages dwm)))
(use-modules ((gnu packages admin)))
(use-modules ((gnu packages linux)))
(use-modules ((gnu packages gnuzilla)))
(use-modules ((gnu packages autotools)))
(use-modules ((gnu packages version-control)))
(use-modules ((gnu packages guile)))
(use-modules ((gnu packages gnupg)))
(use-modules ((gnu packages xorg)))
(use-modules ((gnu packages xdisorg)))
(use-modules ((gnu packages commencement)))
(use-modules ((gnu services base)))
(use-modules ((gnu services xorg)))
(use-modules ((gnu services networking)))
(use-modules ((gnu packages bison)))
(use-modules ((gnu packages flex)))
(use-modules ((gnu packages python)))
(use-modules ((gnu packages xml)))
(use-modules ((gnu packages fontutils)))
(use-modules ((gnu packages gettext)))
(use-modules ((gnu packages image)))
(use-modules ((gnu packages ghostscript)))
(use-modules ((gnu packages glib)))
(use-modules ((gnu packages gnutls)))
(use-modules ((gnu packages openldap)))
(use-modules ((gnu packages mp3)))
(use-modules ((gnu packages ncurses)))
(use-modules ((gnu packages photo)))
(use-modules ((gnu packages samba)))
(use-modules ((gnu packages scanner)))
(use-modules ((gnu packages gl)))
(use-modules ((gnu packages games)))
(use-modules ((gnu packages perl)))

(use-modules ((gnu packages bash)))
(use-modules ((guix gexp)))
(use-modules ((guix monads)))
(use-modules ((guix derivations)))
(use-modules ((srfi srfi-1)))
(use-modules ((srfi srfi-26)))
(use-modules ((ice-9 match)))



(define-public libdrm
  (package
    (name "libdrm")
    (version "2.4.46")
    (source
      (origin
	(method url-fetch)
	(uri (string-append
	       "http://dri.freedesktop.org/libdrm/libdrm-"
	       version
	       ".tar.bz2"))
	(sha256
	  (base32
	    "1wah4qmrrcv0gnx65lhrlxb6gprxch92wy8lhxv6102fml6k5krk"))))
    (build-system gnu-build-system)
    (inputs
      `(("libpciaccess" ,libpciaccess)
	("libpthread-stubs" ,libpthread-stubs)))
    (native-inputs
       `(("pkg-config" ,pkg-config)))
    (home-page "http://dri.freedesktop.org/wiki/")
    (synopsis "Direct rendering userspace library")
    (description "The Direct Rendering Infrastructure, also known as the DRI,
is a framework for allowing direct access to graphics hardware under the
X Window System in a safe and efficient manner.  It includes changes to the
X server, to several client libraries, and to the kernel (DRM, Direct
Rendering Manager).  The most important use for the DRI is to create fast
OpenGL implementations providing hardware acceleration for Mesa.
Several 3D accelerated drivers have been written to the DRI specification,
including drivers for chipsets produced by 3DFX, AMD (formerly ATI), Intel
and Matrox.")
    (license license:x11)))


(define-public nouveau-mesa
  (package
    (name "nouveau-mesa")
    ;; In newer versions (9.0.5, 9.1 and 9.2 tested), "make" results in an
    ;; infinite configure loop, see
    ;; https://bugs.freedesktop.org/show_bug.cgi?id=58812
    (version "9.2.5")
    (source
      (origin
	(method url-fetch)
	(uri "ftp://ftp.freedesktop.org/pub/mesa/older-versions/9.x/9.2.5/MesaLib-9.2.5.tar.bz2")
	(sha256
	  (base32
	    "1w3bxclgwl2hwyxk3za7dbdakb8jsya7afck35cz0v8pxppvjsml"))))
    (build-system gnu-build-system)
    (propagated-inputs
      `(("glproto" ,glproto)
	("libdrm" ,libdrm)
	("libx11" ,libx11)
	("libxdamage" ,libxdamage)
	("libxxf86vm" ,libxxf86vm)))
    (inputs
      `(("dri2proto" ,dri2proto)
	("expat" ,expat)
	("libxfixes" ,libxfixes)
	("udev" ,udev)
	("libxml2" ,libxml2)
	("makedepend" ,makedepend)))
    (native-inputs
     `(("m4" ,m4)
       ("perl" ,perl)
       ("gettext" ,gnu-gettext)
       ("autoconf" ,autoconf)
       ("automake" ,automake)
       ("pkg-config" ,pkg-config)
       ("libtool" ,libtool)
       ("libtool" ,libtool "bin")
       ("flex" ,flex)
       ("bison" ,bison)
       ("python" ,python-2))) ; incompatible with Python 3 (print syntax)
    (arguments
      `(#:configure-flags
	`("--enable-texture-float"
	  "--enable-gles1"
	  "--enable-gles2"
	  "--enable-glx"
	  "--enable-gallium-egl"
	  "--enable-gallium-llvm"
	  "--enable-egl"
	  "--enable-gallium-egl"
	  "--enable-shared-glapi"
	  "--enable-gbm"
	  "--enable-glx-tls"
	  "--enable-dri"
	  "--enable-osmesa"
	  "--with-egl-platforms=x11,drm"
	  "--enable-gbm"
	  "--enable-shared-glapi"
	  "--with-gallium-drivers=nouveau"
	  "--with-dri-drivers=nouveau")))
    (home-page "http://mesa3d.org/")
    (synopsis "OpenGL implementation")
    (description "Mesa is a free implementation of the OpenGL specification -
a system for rendering interactive 3D graphics.  A variety of device drivers
allows Mesa to be used in many different environments ranging from software
emulation to complete hardware acceleration for modern GPUs.")
    (license license:x11)))


(define-public xorg-nouveau-mesa
  (package (inherit xorg-server)
	   (name "xorg-nouveau-mesa")
	   (inputs `(("nouveau-mesa" ,nouveau-mesa)
		     ,@(alist-delete "mesa" (package-inputs xorg-server))))))


(define-public minetest-nouveau
  (package (inherit minetest)
	   (name "minetest-nouveau")
	   (inputs `(("nouveau-mesa" ,nouveau-mesa)
		     ,@(alist-delete "mesa" (package-inputs minetest))))))


(define-public xf86-video-nouveau
  (package
    (name "xf86-video-nouveau")
    (version "1.0.11")
    (source
     (origin
       (method git-fetch)
       (uri (git-reference
	     (url "http://cgit.freedesktop.org/nouveau/xf86-video-nouveau/")
	     (commit "3cd4c84")))
       (sha256
	(base32
	 "0zdb6b0n7pzf3l8j8hl7gfshg8jsmcmk11isvvl542yc36162ahp"))))
    (build-system gnu-build-system)
    (native-inputs `(("m4" ,m4)
		     ("autoconf" ,autoconf)
		     ("automake" ,automake)
		     ("libtool" ,libtool)
		     ("libtool" ,libtool "bin")
		     ("pkg-config" ,pkg-config)))
    (inputs
     `(("libx11" ,libx11)
       ("xorg-nouveau-mesa" ,xorg-nouveau-mesa)
       ("nouveau-mesa" ,nouveau-mesa)
       ("libdrm" ,libdrm)))
    (arguments
     '(#:phases
	(alist-cons-before
	 'configure
	 'autogen (lambda _
		    ;; (setenv "CPATH" (string-join #$libdrm "include:" (getenv "CPATH")))
		    ;; (setenv "LIBRARY_PATH" (string-join #$libdrm "lib:" (getenv "LIBRARY_PATH")))
		    ;; (setenv "PKG_CONFIG_PATH" (string-join #$libdrm "lib/pkgconfig:" (getenv "PKG_LIBRARY_PATH")))
		    (if (zero? (system* "./autogen.sh"))
			(for-each patch-shebang  (find-files "xf86-video-nouveau-1.0.11" "*"))
			-1))
	 %standard-phases)))
    (home-page "http://nouveau.freedesktop.org/")
    (synopsis "Drivers supporting 3D and 2D acceleration for nvidia video cards")
    (description "nouveau drivers")
    (license license:x11)))



(define-public nouveau-glu
  (package
    (name "nouveau-glu")
    (version "9.0.0")
    (source (origin
	     (method url-fetch)
	     (uri (string-append "ftp://ftp.freedesktop.org/pub/mesa/glu/glu-"
				  version ".tar.gz"))
	     (sha256
	      (base32 "0r72yyhj09x3krn3kn629jqbwyq50ji8w5ri2pn6zwrk35m4g1s3"))))
    (build-system gnu-build-system)
    (inputs `(("nouveau-mesa" ,nouveau-mesa)))
    (home-page "http://www.opengl.org/archives/resources/faq/technical/glu.htm")
    (synopsis "Mesa OpenGL Utility library")
    (description
     "GLU, or OpenGL Utility Library provides some higher-level functionality
not provided by just OpenGL itself.  Some of GLU's Features
include: Scaling of 2D images and creation of mipmap pyramids,
Transformation of object coordinates into device coordinates and
vice versa, Support for NURBS surfaces, Support for tessellation
of concave or bow tie polygonal primitives, Specialty transformation
matrices for creating perspective and orthographic projections,
positioning a camera, and selection/picking, Rendering of disk,
cylinder, and sphere primitives, Interpreting OpenGL error values
as ASCII text.")
    (license (license:x11-style "http://directory.fsf.org/wiki/License:SGIFreeBv2"))))



(define-public wine
  (package
    (name "wine")
    (version "1.7.33")
    (source (origin
              (method url-fetch)
              (uri (string-append "mirror://sourceforge/wine/"
                                  name "-" version ".tar.bz2"))
              (sha256
               (base32
                "0xcjsh3635i8wpzixzsl05m3dkq74vq193x3ipjr3fy0l9prslg3"))
              (modules '((guix build utils)))
              (snippet
               '(substitute* "Make.vars.in"
                  (("/bin/sh") "@SHELL@")))))
    (build-system gnu-build-system)
    (native-inputs `(("pkg-config" ,pkg-config)
                     ("gettext" ,gnu-gettext)
                     ("flex" ,flex)
                     ("bison" ,bison)
                     ("perl" ,perl)))
    (inputs
     `(("alsa-lib" ,alsa-lib)
       ("dbus" ,dbus)
       ("fontconfig" ,fontconfig)
       ("freetype" ,freetype)
       ("gnutls" ,gnutls)
       ("nouveau-glu" ,nouveau-glu)
       ("lcms" ,lcms)
       ("libxml2" ,libxml2)
       ("libxslt" ,libxslt)
       ("libgphoto2" ,libgphoto2)
       ("libmpg123" ,mpg123)
       ("libldap" ,openldap)
       ("libnetapi" ,samba)
       ("libsane" ,sane-backends)
       ("libpng" ,libpng)
       ("libjpeg" ,libjpeg)
       ("libtiff" ,libtiff)
       ("libICE" ,libice)
       ("libX11" ,libx11)
       ("libXi" ,libxi)
       ("libXext" ,libxext)
       ("libXcursor" ,libxcursor)
       ("libXrender" ,libxrender)
       ("libXrandr" ,libxrandr)
       ("libXinerama" ,libxinerama)
       ("libXxf86vm" ,libxxf86vm)
       ("libXcomposite" ,libxcomposite)
       ("compositeproto" ,compositeproto)
       ("nouveau-mesa" ,nouveau-mesa)
       ("ncurses" ,ncurses)
       ("unixodbc" ,unixodbc)
       ("zlib" ,zlib)))
    (arguments
     `(;; The 64-bit build of Wine is reportedly less useful or even usable,
       ;; so force a 32-bit build (under the assumption that this package is
       ;; being used on an IA32-compatible architecture.)
       #:system "i686-linux"

       ;; XXX: There's a test suite, but it's unclear whether it's supposed to
       ;; pass.
       #:tests? #f

       #:phases
       (alist-cons-after
        'configure 'patch-dlopen-paths
        ;; Hardcode dlopened sonames to absolute paths.
        (lambda _
          (let* ((library-path (search-path-as-string->list
                                (getenv "LIBRARY_PATH")))
                 (find-so (lambda (soname)
                            (search-path library-path soname))))
            (substitute* "include/config.h"
              (("(#define SONAME_.* )\"(.*)\"" _ defso soname)
               (format #f "~a\"~a\"" defso (find-so soname))))))
        %standard-phases)))
    (home-page "http://www.winehq.org/")
    (synopsis "Implementation of the Windows API")
    (description
     "Wine (originally an acronym for \"Wine Is Not an Emulator\") is a
compatibility layer capable of running Windows applications.  Instead of
simulating internal Windows logic like a virtual machine or emulator, Wine
translates Windows API calls into POSIX calls on-the-fly, eliminating the
performance and memory penalties of other methods and allowing you to cleanly
integrate Windows applications into your desktop.")
    (license license:lgpl2.1+)

    ;; It really only supports IA32, but building on x86_64 will have the same
    ;; effect as building on i686 anyway.
    (supported-systems '("i686-linux" "x86_64-linux"))))




(define* (xorg-start-command #:key
			     (guile (canonical-package guile-2.0))
			     (xorg-server xorg-nouveau-mesa)
			     (drivers '()) (resolutions '()))
  "Return a derivation that builds a @var{guile} script to start the X server
from @var{xorg-server}.  Usually the X server is started by a login manager.

@var{drivers} must be either the empty list, in which case Xorg chooses a
graphics driver automatically, or a list of driver names that will be tried in
this order---e.g., @code{(\"modesetting\" \"vesa\")}.

Likewise, when @var{resolutions} is the empty list, Xorg chooses an
appropriate screen resolution; otherwise, it must be a list of
resolutions---e.g., @code{((1024 768) (640 480))}."

  (define (device-section driver)
    (string-append "
Section \"Device\"
  Identifier \"device-" driver "\"
  Driver \"" driver "\"
EndSection"))

  (define (screen-section driver resolutions)
    (string-append "
Section \"Screen\"
  Identifier \"screen-" driver "\"
  Device \"device-" driver "\"
  SubSection \"Display\"
    Modes "
  (string-join (map (match-lambda
		     ((x y)
		      (string-append "\"" (number->string x)
				     "x" (number->string y) "\"")))
		    resolutions)) "
  EndSubSection
EndSection"))

  (define (xserver.conf)
    (text-file* "xserver.conf" "
Section \"Files\"
  FontPath \"" font-adobe75dpi "/share/fonts/X11/75dpi\"
  ModulePath \"" xf86-video-nouveau "/lib/xorg/modules/drivers\"
  ModulePath \"" xf86-input-keyboard "/lib/xorg/modules/input\"
  ModulePath \"" xf86-input-mouse "/lib/xorg/modules/input\"
  ModulePath \"" xf86-input-synaptics "/lib/xorg/modules/input\"
  ModulePath \"" xorg-server "/lib/xorg/modules\"
  ModulePath \"" xorg-server "/lib/xorg/modules/extensions\"
  ModulePath \"" xorg-server "/lib/xorg/modules/multimedia\"
EndSection

Section \"ServerFlags\"
  Option \"AllowMouseOpenFail\" \"on\"
EndSection
"
  (string-join (map device-section drivers) "\n")
  (string-join (map (cut screen-section <> resolutions)
		    drivers)
	       "\n")))

  (mlet %store-monad ((config (xserver.conf)))
    (define script
      ;; Write a small wrapper around the X server.
      #~(begin
	  (setenv "XKB_BINDIR" (string-append #$xkbcomp "/bin"))

	  (apply execl (string-append #$xorg-server "/bin/X")
		 (string-append #$xorg-server "/bin/X") ;argv[0]
		 "-logverbose" "-verbose"
		 "-xkbdir" (string-append #$xkeyboard-config "/share/X11/xkb")
		 "-config" #$config
		 "-nolisten" "tcp" "-terminate"

		 ;; Note: SLiM and other display managers add the
		 ;; '-auth' flag by themselves.
		 (cdr (command-line)))))

    (gexp->script "start-xorg" script)))

(operating-system
  (host-name "amkrawn")
  (timezone "Europe/Paris")
  (locale "fr_FR.utf8")
  
  ;; Assuming /dev/sdX is the target hard disk, and "root" is
  ;; the label of the target root file system.
  (bootloader (grub-configuration (device "/dev/sda")))
  (file-systems
		(cons (file-system
			(device "root")
			(title 'label)
			(mount-point "/")
			(type "ext4"))
	(cons (file-system
		(device "home")
		(title 'label)
		(mount-point "/home/")
		(type "ext4"))
		      %base-file-systems)))

  (swap-devices '("/dev/sda2"))

  (packages (cons* setxkbmap dwm feh wine minetest-nouveau xorg-nouveau-mesa nouveau-mesa xf86-video-nouveau autoconf automake bzip2 libgcrypt pkg-config sqlite git icecat emacs-no-x-toolkit wireless-tools wpa-supplicant %base-packages))
  (services (cons* (dhcp-client-service) (slim-service #:auto-login? #t #:default-user "amirouche" #:startx (xorg-start-command)) %base-services))

  ;; This is where user accounts are specified.  The "root"
  ;; account is implicit, and is initially created with the
  ;; empty password.
  (users (list (user-account
		(name "amirouche")
		(group "users")
		(supplementary-groups '("wheel"
					"audio" "video"))
		(home-directory "/home/amirouche")))))

[-- Attachment #3: .xsession --]
[-- Type: application/octet-stream, Size: 170 bytes --]

#!/bin/sh

source $HOME/.bashrc

env > ~/.env

feh --bg-scale $HOME/src/guix/guix-artwork/slim/0.8/background.png

setxkbmap -model pc105 -layout fr -variant latin9

dwm

[-- Attachment #4: suckless.scm --]
[-- Type: application/octet-stream, Size: 6099 bytes --]

;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
;;;
;;; 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 (suckless)
  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (guix packages)
  #:use-module (guix download)
  #:use-module (gnu packages pkg-config)
  #:use-module (guix build-system gnu)
  #:use-module (gnu packages)
  #:use-module (gnu packages xorg))

(use-modules ((gnu packages xorg)))
(use-modules ((gnu packages ncurses)))
(use-modules ((gnu packages fonts)))
(use-modules ((gnu packages fontutils)))


(define (current-path . patches)
 (map (lambda (x) (string-append (dirname (current-filename)) "/" x)) patches))


(define-public dwm
  (package
    (name "dwm")
    (version "6.0")
    (source (origin
             (method url-fetch)
             (uri (string-append "http://dl.suckless.org/dwm/dwm-"
                                 version ".tar.gz"))
             (sha256
              (base32 "0mpbivy9j80l1jqq4bd4g4z8s5c54fxrjj44avmfwncjwqylifdj"))))
    (build-system gnu-build-system)
    (arguments
     `(#:tests? #f
       #:phases
       (alist-replace
        'configure
        (lambda _
         (substitute* "Makefile" (("\\$\\{CC\\}") "gcc"))
         #t)
        (alist-replace
         'install
         (lambda* (#:key outputs #:allow-other-keys)
          (let ((out (assoc-ref outputs "out")))
           (zero?
            (system* "make" "install"
                     (string-append "DESTDIR=" out) "PREFIX="))))
         %standard-phases))))
    (inputs
     `(("libx11" ,libx11)
       ("libxinerama" ,libxinerama)))
    (home-page "http://dwm.suckless.org/")
    (synopsis "Dynamic window manager")
    (description
     "dwm is a dynamic window manager for X.  It manages windows in tiled,
monocle and floating layouts.  All of the layouts can be applied dynamically,
optimising the environment for the application in use and the task performed.

dwm draws a small customizable border around windows to indicate the focus
state.")
    (license license:x11)))

(define-public dmenu
  (package
    (name "dmenu")
    (version "4.5")
    (source (origin
              (method url-fetch)
              (uri (string-append "http://dl.suckless.org/tools/dmenu-"
                                  version ".tar.gz"))
              (sha256
               (base32
                "0l58jpxrr80fmyw5pgw5alm5qry49aw6y049745wl991v2cdcb08"))))
    (build-system gnu-build-system)
    (arguments
     '(#:tests? #f ; no tests
       #:make-flags (list "CC=gcc"
                          (string-append "PREFIX=" %output))
       #:phases
       (alist-delete 'configure %standard-phases)))
    (inputs
     `(("libx11" ,libx11)
       ("libxinerama" ,libxinerama)))
    (home-page "http://tools.suckless.org/dmenu/")
    (synopsis "Dynamic menu")
    (description
     "A dynamic menu for X, originally designed for dwm.  It manages large
numbers of user-defined menu items efficiently.")
    (license license:x11)))


(define-public st
  (package
    (name "st")
    (version "0.5")
    (source (origin
              (method url-fetch)
              (uri (string-append "http://dl.suckless.org/st/st-"
                                  version ".tar.gz"))
              (sha256
               (base32
                "0knxpzaa86pprng6hak8hx8bw22yw22rpz1ffxjpcvqlz3xdv05f"))))
    (build-system gnu-build-system)
    (arguments
     '(#:tests? #f ; no tests
       #:make-flags (list "CC=gcc"
                          (string-append "PREFIX=" %output))
       #:phases
       (alist-delete 'configure %standard-phases)))
    (inputs
     `(("libx11" ,libx11)
       ("libxft" ,libxft)
       ("libxcomposite" ,libxcomposite)
       ("compositeproto" ,compositeproto)
       ("libxext" ,libxext)
       ("xextproto" ,xextproto)
       ("libxrender" ,libxrender)
       ("fontconfig" ,fontconfig)
       ("freetype" ,freetype)
       ("terminus-font" ,terminus-font)))
    (native-inputs `(("pkg-config" ,pkg-config)
		     ("ncurses" ,ncurses)))
    (home-page "http://st.suckless.org/")
    (synopsis "a xterm replacement")
    (description
     "xterm is bloated and unmaintainable. It has over 65K lines of code and
      emulates obscure and obsolete terminals you will never need. The popular
      alternative, rxvt has only 32K lines of code. This is just too much for
      something as simple as a terminal emulator; it’s yet another example of
      code complexity. st fix that.")
    (license license:x11)))


(define-public slock
  (package
    (name "slock")
    (version "1.1")
    (source (origin
              (method url-fetch)
              (uri (string-append "http://dl.suckless.org/tools/slock-"
                                  version ".tar.gz"))
              (sha256
               (base32
                "1r70s3npmp0nyrfdsxz8cw1i1z8n9phqdlw02wjphv341h3yajp0"))))
    (build-system gnu-build-system)
    (arguments
     '(#:tests? #f ; no tests
       #:make-flags (list "CC=gcc"
                          (string-append "PREFIX=" %output))
       #:phases (alist-delete 'configure %standard-phases)))
    (inputs
     `(("libx11" ,libx11)
       ("libxext" ,libxext)
       ("libxinerama" ,libxinerama)))
    (home-page "http://tools.suckless.org/slock/")
    (synopsis "Simple X session lock")
    (description
     "Simple X session lock with trivial feedback on password entry.")
    (license license:x11)))

             reply	other threads:[~2014-12-14 18:44 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-14 18:43 Amirouche Boubekki [this message]
2014-12-15 22:54 ` Installing guix Ludovic Courtès
2014-12-17 10:15   ` Amirouche Boubekki
  -- strict thread matches above, loose matches on Subject: below --
2014-03-07 13:29 Installing Guix Xue Fuqiao
2014-03-07 14:15 ` Sree Harsha Totakura
2014-03-07 16:01   ` Ludovic Courtès
2014-03-07 15:20 ` Andreas Enge
2014-03-07 16:03 ` Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAL7_Mo8Vx7-5TBufG7syfdgXnj8xu1isEAmxnadLaNunhX_o3w@mail.gmail.com \
    --to=amirouche.boubekki@gmail.com \
    --cc=guix-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).