unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Installing Guix
@ 2014-03-07 13:29 Xue Fuqiao
  2014-03-07 14:15 ` Sree Harsha Totakura
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Xue Fuqiao @ 2014-03-07 13:29 UTC (permalink / raw)
  To: guix-devel

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

Hi,

I'm trying to install Guix from Git (for the first time) and I have two questions:

1. Do I have to run `./bootstrap' every time after running `git pull'?

2. After running `./bootstrap', I can't find the `configure' script:
   $ ./configure --help
   bash: ./configure: No such file or directory
Where is it?

BTW is there an FAQ for Guix (besides HACKING)?

FYI I have Autotools, Gettext, Graphviz, Guile 2, GnuPG 2, SQLite 3,
libbz2, and GCC installed.  My OS is Ubuntu 13.10.  The output of
`./bootstrap' is also attached.


[-- Attachment #2: Output of `./bootstrap' --]
[-- Type: text/plain, Size: 8390 bytes --]

$ ./bootstrap 
+ top_srcdir=/home/xfq/guix
+ export top_srcdir
+ git submodule init
Submodule 'nix-upstream' (http://github.com/NixOS/nix.git) registered for path 'nix-upstream'
+ git submodule update
Cloning into 'nix-upstream'...
remote: Reusing existing pack: 26480, done.        
remote: Total 26480 (delta 0), reused 0 (delta 0)        
Receiving objects: 100% (26480/26480), 14.52 MiB | 53.00 KiB/s, done.
Resolving deltas: 100% (14547/14547), done.
Checking connectivity... done
Submodule path 'nix-upstream': checked out 'bf0ad8aabca67b4faabe3a1ac3c57884ae9924f4'
+ ./nix/sync-with-upstream
sync-with-upstream: skipping `./nix-hash/nix-hash.cc', which is not used
sync-with-upstream: skipping `./nix-log2xml/log2xml.cc', which is not used
sync-with-upstream: skipping `./nix-env/user-env.hh', which is not used
sync-with-upstream: skipping `./nix-env/nix-env.cc', which is not used
sync-with-upstream: skipping `./nix-env/profiles.cc', which is not used
sync-with-upstream: skipping `./nix-env/profiles.hh', which is not used
sync-with-upstream: skipping `./nix-env/user-env.cc', which is not used
sync-with-upstream: skipping `./libmain/shared.hh', which is not used
sync-with-upstream: skipping `./libmain/stack.cc', which is not used
sync-with-upstream: skipping `./libmain/shared.cc', which is not used
‘./libstore/build.cc’ -> ‘../../nix/./libstore/build.cc’
‘./libstore/derivations.cc’ -> ‘../../nix/./libstore/derivations.cc’
‘./libstore/store-api.cc’ -> ‘../../nix/./libstore/store-api.cc’
‘./libstore/derivations.hh’ -> ‘../../nix/./libstore/derivations.hh’
‘./libstore/references.cc’ -> ‘../../nix/./libstore/references.cc’
‘./libstore/misc.hh’ -> ‘../../nix/./libstore/misc.hh’
‘./libstore/schema.sql’ -> ‘../../nix/./libstore/schema.sql’
‘./libstore/pathlocks.hh’ -> ‘../../nix/./libstore/pathlocks.hh’
‘./libstore/local-store.cc’ -> ‘../../nix/./libstore/local-store.cc’
‘./libstore/references.hh’ -> ‘../../nix/./libstore/references.hh’
‘./libstore/local-store.hh’ -> ‘../../nix/./libstore/local-store.hh’
‘./libstore/gc.cc’ -> ‘../../nix/./libstore/gc.cc’
‘./libstore/worker-protocol.hh’ -> ‘../../nix/./libstore/worker-protocol.hh’
‘./libstore/globals.hh’ -> ‘../../nix/./libstore/globals.hh’
‘./libstore/remote-store.cc’ -> ‘../../nix/./libstore/remote-store.cc’
‘./libstore/store-api.hh’ -> ‘../../nix/./libstore/store-api.hh’
‘./libstore/optimise-store.cc’ -> ‘../../nix/./libstore/optimise-store.cc’
‘./libstore/pathlocks.cc’ -> ‘../../nix/./libstore/pathlocks.cc’
‘./libstore/misc.cc’ -> ‘../../nix/./libstore/misc.cc’
‘./libstore/globals.cc’ -> ‘../../nix/./libstore/globals.cc’
‘./libstore/remote-store.hh’ -> ‘../../nix/./libstore/remote-store.hh’
‘./boost/shared_ptr.hpp’ -> ‘../../nix/./boost/shared_ptr.hpp’
./boost/format -> ../../nix/./boost/format
‘./boost/format/group.hpp’ -> ‘../../nix/./boost/format/group.hpp’
‘./boost/format/feed_args.hpp’ -> ‘../../nix/./boost/format/feed_args.hpp’
‘./boost/format/parsing.cc’ -> ‘../../nix/./boost/format/parsing.cc’
‘./boost/format/macros_default.hpp’ -> ‘../../nix/./boost/format/macros_default.hpp’
‘./boost/format/format_implementation.cc’ -> ‘../../nix/./boost/format/format_implementation.cc’
‘./boost/format/format_class.hpp’ -> ‘../../nix/./boost/format/format_class.hpp’
‘./boost/format/internals.hpp’ -> ‘../../nix/./boost/format/internals.hpp’
‘./boost/format/free_funcs.cc’ -> ‘../../nix/./boost/format/free_funcs.cc’
‘./boost/format/exceptions.hpp’ -> ‘../../nix/./boost/format/exceptions.hpp’
‘./boost/format/internals_fwd.hpp’ -> ‘../../nix/./boost/format/internals_fwd.hpp’
‘./boost/format/format_fwd.hpp’ -> ‘../../nix/./boost/format/format_fwd.hpp’
‘./boost/checked_delete.hpp’ -> ‘../../nix/./boost/checked_delete.hpp’
‘./boost/weak_ptr.hpp’ -> ‘../../nix/./boost/weak_ptr.hpp’
‘./boost/format.hpp’ -> ‘../../nix/./boost/format.hpp’
‘./boost/enable_shared_from_this.hpp’ -> ‘../../nix/./boost/enable_shared_from_this.hpp’
‘./boost/assert.hpp’ -> ‘../../nix/./boost/assert.hpp’
./boost/detail -> ../../nix/./boost/detail
‘./boost/detail/shared_count.hpp’ -> ‘../../nix/./boost/detail/shared_count.hpp’
‘./boost/detail/workaround.hpp’ -> ‘../../nix/./boost/detail/workaround.hpp’
‘./boost/throw_exception.hpp’ -> ‘../../nix/./boost/throw_exception.hpp’
sync-with-upstream: skipping `./libutil/sha256.c', which is not used
‘./libutil/affinity.cc’ -> ‘../../nix/./libutil/affinity.cc’
‘./libutil/archive.cc’ -> ‘../../nix/./libutil/archive.cc’
‘./libutil/hash.hh’ -> ‘../../nix/./libutil/hash.hh’
‘./libutil/serialise.cc’ -> ‘../../nix/./libutil/serialise.cc’
‘./libutil/serialise.hh’ -> ‘../../nix/./libutil/serialise.hh’
sync-with-upstream: skipping `./libutil/md5.c', which is not used
‘./libutil/util.hh’ -> ‘../../nix/./libutil/util.hh’
‘./libutil/affinity.hh’ -> ‘../../nix/./libutil/affinity.hh’
‘./libutil/types.hh’ -> ‘../../nix/./libutil/types.hh’
sync-with-upstream: skipping `./libutil/sha256.h', which has a checked-in copy
sync-with-upstream: skipping `./libutil/sha1.c', which is not used
sync-with-upstream: skipping `./libutil/md5.h', which has a checked-in copy
‘./libutil/hash.cc’ -> ‘../../nix/./libutil/hash.cc’
‘./libutil/archive.hh’ -> ‘../../nix/./libutil/archive.hh’
‘./libutil/util.cc’ -> ‘../../nix/./libutil/util.cc’
‘./libutil/xml-writer.cc’ -> ‘../../nix/./libutil/xml-writer.cc’
‘./libutil/xml-writer.hh’ -> ‘../../nix/./libutil/xml-writer.hh’
sync-with-upstream: skipping `./libutil/md32_common.h', which is not used
sync-with-upstream: skipping `./libutil/sha1.h', which has a checked-in copy
sync-with-upstream: skipping `./nix-store/dotgraph.cc', which is not used
sync-with-upstream: skipping `./nix-store/xmlgraph.cc', which is not used
sync-with-upstream: skipping `./nix-store/xmlgraph.hh', which is not used
sync-with-upstream: skipping `./nix-store/nix-store.cc', which is not used
sync-with-upstream: skipping `./nix-store/dotgraph.hh', which is not used
‘./nix-daemon/nix-daemon.cc’ -> ‘../../nix/./nix-daemon/nix-daemon.cc’
sync-with-upstream: skipping `./nix-instantiate/nix-instantiate.cc', which is not used
sync-with-upstream: skipping `./libexpr/attr-path.hh', which is not used
sync-with-upstream: skipping `./libexpr/eval.cc', which is not used
sync-with-upstream: skipping `./libexpr/nixexpr.cc', which is not used
sync-with-upstream: skipping `./libexpr/value-to-json.cc', which is not used
sync-with-upstream: skipping `./libexpr/value-to-json.hh', which is not used
sync-with-upstream: skipping `./libexpr/nixexpr.hh', which is not used
sync-with-upstream: skipping `./libexpr/eval-inline.hh', which is not used
sync-with-upstream: skipping `./libexpr/value-to-xml.hh', which is not used
sync-with-upstream: skipping `./libexpr/get-drvs.cc', which is not used
sync-with-upstream: skipping `./libexpr/eval.hh', which is not used
sync-with-upstream: skipping `./libexpr/get-drvs.hh', which is not used
sync-with-upstream: skipping `./libexpr/names.cc', which is not used
sync-with-upstream: skipping `./libexpr/common-opts.cc', which is not used
sync-with-upstream: skipping `./libexpr/symbol-table.hh', which is not used
sync-with-upstream: skipping `./libexpr/value.hh', which is not used
sync-with-upstream: skipping `./libexpr/common-opts.hh', which is not used
sync-with-upstream: skipping `./libexpr/attr-path.cc', which is not used
sync-with-upstream: skipping `./libexpr/value-to-xml.cc', which is not used
sync-with-upstream: skipping `./libexpr/primops.cc', which is not used
sync-with-upstream: skipping `./libexpr/names.hh', which is not used
sync-with-upstream: skipping `./bsdiff-4.3/compat-include/err.h', which is not used
sync-with-upstream: skipping `./bsdiff-4.3/bspatch.c', which is not used
sync-with-upstream: skipping `./bsdiff-4.3/bsdiff.c', which is not used
‘/home/xfq/guix/nix-upstream/COPYING’ -> ‘/home/xfq/guix/nix/COPYING’
‘/home/xfq/guix/nix-upstream/AUTHORS’ -> ‘/home/xfq/guix/nix/AUTHORS’
sed: -e expression #1, char 8: extra characters after command

[-- Attachment #3: Type: text/plain, Size: 40 bytes --]


-- 
http://www.gnu.org/software/emacs/

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Installing Guix
  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
  2 siblings, 1 reply; 8+ messages in thread
From: Sree Harsha Totakura @ 2014-03-07 14:15 UTC (permalink / raw)
  To: Xue Fuqiao; +Cc: guix-devel

Hi!

On 03/07/2014 02:29 PM, Xue Fuqiao wrote:
> 1. Do I have to run `./bootstrap' every time after running `git pull'?
> 
Yes, it is advisable to do that everytime you pull from the repo,
although it is only required if changes to the build system are made.

> 2. After running `./bootstrap', I can't find the `configure' script:
>    $ ./configure --help
>    bash: ./configure: No such file or directory
> Where is it?

If it is not there, that means that the bootstrap didn't succeed.  Can
you run bootstrap once again and see the exit error code.  You can get
that by running `echo $?` in bash immediately after bootstrap finishes.

Sree

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Installing Guix
  2014-03-07 13:29 Installing Guix Xue Fuqiao
  2014-03-07 14:15 ` Sree Harsha Totakura
@ 2014-03-07 15:20 ` Andreas Enge
  2014-03-07 16:03 ` Ludovic Courtès
  2 siblings, 0 replies; 8+ messages in thread
From: Andreas Enge @ 2014-03-07 15:20 UTC (permalink / raw)
  To: Xue Fuqiao; +Cc: guix-devel

On Fri, Mar 07, 2014 at 09:29:07PM +0800, Xue Fuqiao wrote:
> 1. Do I have to run `./bootstrap' every time after running `git pull'?

Normally not.

Andreas

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Installing Guix
  2014-03-07 14:15 ` Sree Harsha Totakura
@ 2014-03-07 16:01   ` Ludovic Courtès
  0 siblings, 0 replies; 8+ messages in thread
From: Ludovic Courtès @ 2014-03-07 16:01 UTC (permalink / raw)
  To: Sree Harsha Totakura; +Cc: Xue Fuqiao, guix-devel

Sree Harsha Totakura <sreeharsha@totakura.in> skribis:

> On 03/07/2014 02:29 PM, Xue Fuqiao wrote:
>> 1. Do I have to run `./bootstrap' every time after running `git pull'?
>> 
> Yes, it is advisable to do that everytime you pull from the repo,
> although it is only required if changes to the build system are made.

Actually ./bootstrap is only needed the first time, and then when the
‘nix-upstream’ submodule is update, which is quite rare.

Ludo’.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Installing Guix
  2014-03-07 13:29 Installing Guix Xue Fuqiao
  2014-03-07 14:15 ` Sree Harsha Totakura
  2014-03-07 15:20 ` Andreas Enge
@ 2014-03-07 16:03 ` Ludovic Courtès
  2 siblings, 0 replies; 8+ messages in thread
From: Ludovic Courtès @ 2014-03-07 16:03 UTC (permalink / raw)
  To: Xue Fuqiao; +Cc: guix-devel

Xue Fuqiao <xfq@gnu.org> skribis:

> ‘/home/xfq/guix/nix-upstream/AUTHORS’ -> ‘/home/xfq/guix/nix/AUTHORS’
> sed: -e expression #1, char 8: extra characters after command

There are two sed invocations in nix/sync-with-upstream.  Could you add
‘set -x’ in that script to see which one is failing?

What sed do you have, and in what locale?

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Installing guix
@ 2014-12-14 18:43 Amirouche Boubekki
  2014-12-15 22:54 ` Ludovic Courtès
  0 siblings, 1 reply; 8+ messages in thread
From: Amirouche Boubekki @ 2014-12-14 18:43 UTC (permalink / raw)
  To: guix-devel

[-- 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)))

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Installing guix
  2014-12-14 18:43 Installing guix Amirouche Boubekki
@ 2014-12-15 22:54 ` Ludovic Courtès
  2014-12-17 10:15   ` Amirouche Boubekki
  0 siblings, 1 reply; 8+ messages in thread
From: Ludovic Courtès @ 2014-12-15 22:54 UTC (permalink / raw)
  To: Amirouche Boubekki; +Cc: guix-devel

Amirouche Boubekki <amirouche.boubekki@gmail.com> skribis:

> 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.

Yeah, Guix doesn’t support UEFI.  (I’m not sure exactly what it takes,
but we should discuss that in a bug.)

> 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.

Maybe the ‘guix’ command above is 0.7, no?

> 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>

OK.

> 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 :)

Nice.  Guix is good for your health!  :-)

> 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.

Good.

> With slim-service, Xorg will look for a .xsession in $HOME and not
> .xinitrc!

Could you email bug-guix@gnu.org for that?

> 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...

I think .xsession should end with “exec dwm”, no “dwm”.
Also, see <http://bugs.gnu.org/19119>.

> 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.

This should be fixed with the recent changes in that area.

> - 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.

“guix -L $PWD st” should work, provided $PWD/suckless.scm exists.

BTW, you’re welcome to submit these new packages!

> - I find my "nouveau hack" quiet ugly, but I'm not sure how the
> situation can be improved (cf. config.scm)

I thought xf86-video-nv (already in xorg.scm) is Nouveau, but apparently
it’s not?

You’re more knowledgeable than me in this area as you can see ;-), so
please do submit the packages and tricks that appear in your config.scm
so we can make things work out-of-the-box for future Nouveau users.

> - 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.

Could you be more precise?

> - I'm not sure anymore about .guix-profile link, whether it gets
> created or not at some point.

~/.guix-profile is created the first time ‘guix package’ is used.

> - I don't know if it's on purpose but $HOME/.guix-profile/sbin is
> missing from $PATH

Right.  I think it’s fine this way.  WDYT?

> - I need a hat.

Sorry, can’t help with that.

> 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:

Well, I’m not sure why either.  :-)

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

Great.  Well, thanks for the detailed feedback!  I think you owe us a
couple of bug reports and a bunch of new packages now.  :-)

Ludo’.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Installing guix
  2014-12-15 22:54 ` Ludovic Courtès
@ 2014-12-17 10:15   ` Amirouche Boubekki
  0 siblings, 0 replies; 8+ messages in thread
From: Amirouche Boubekki @ 2014-12-17 10:15 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

2014-12-15 23:54 GMT+01:00 Ludovic Courtès <ludo@gnu.org>:
> Amirouche Boubekki <amirouche.boubekki@gmail.com> skribis:
>
>> 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.
>
> Yeah, Guix doesn’t support UEFI.  (I’m not sure exactly what it takes,
> but we should discuss that in a bug.)
>
>> 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.
>
> Maybe the ‘guix’ command above is 0.7, no?

I don't remember. In the 0.8 release there is:

- guix is guix-devel 0.7
- guix-0.7

And no guix 0.8

>> 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>
>
> OK.
>
>> 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 :)
>
> Nice.  Guix is good for your health!  :-)

>
>> 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.
>
> Good.
>
>> With slim-service, Xorg will look for a .xsession in $HOME and not
>> .xinitrc!
>
> Could you email bug-guix@gnu.org for that?
>
>> 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...
>
> I think .xsession should end with “exec dwm”, no “dwm”.

For the last command it's not required.


> Also, see <http://bugs.gnu.org/19119>.

Yes, I needed to source my .bashrc to be able to execute commands that
were installed as a user.


>> 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.
>
> This should be fixed with the recent changes in that area.
>
>> - 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.
>
> “guix -L $PWD st” should work, provided $PWD/suckless.scm exists.
>
> BTW, you’re welcome to submit these new packages!

Yes, I'll do (after some guile hacking ;)

>> - I find my "nouveau hack" quiet ugly, but I'm not sure how the
>> situation can be improved (cf. config.scm)
>
> I thought xf86-video-nv (already in xorg.scm) is Nouveau, but apparently
> it’s not?

nv is the old the driver without 3D acceleration: http://www.x.org/wiki/nv/


> You’re more knowledgeable than me in this area as you can see ;-), so
> please do submit the packages and tricks that appear in your config.scm
> so we can make things work out-of-the-box for future Nouveau users.
>
>> - 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.
>
> Could you be more precise?
>
>> - I'm not sure anymore about .guix-profile link, whether it gets
>> created or not at some point.
>
> ~/.guix-profile is created the first time ‘guix package’ is used.
>
>> - I don't know if it's on purpose but $HOME/.guix-profile/sbin is
>> missing from $PATH
>
> Right.  I think it’s fine this way.  WDYT?
>
>> - I need a hat.
>
> Sorry, can’t help with that.
>
>> 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:
>
> Well, I’m not sure why either.  :-)
>
>> I still need a service for wpa-supplicant at some point, but my
>> current configuration is good.
>>
>> So far, so good.
>
> Great.  Well, thanks for the detailed feedback!  I think you owe us a
> couple of bug reports and a bunch of new packages now.  :-)

I will come back to guix "avant-garde" ;) after some guile hacking for sure.

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2014-12-17 10:16 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
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
  -- strict thread matches above, loose matches on Subject: below --
2014-12-14 18:43 Installing guix Amirouche Boubekki
2014-12-15 22:54 ` Ludovic Courtès
2014-12-17 10:15   ` Amirouche Boubekki

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).