On 17.03.2018 21:46, Catonano wrote:
the machine boots, but it doesn't start a desktop environment, SLIM
doesn't come up
If I login as root, startx isn't available
What's wrong with this definition ?
(use-modules (gnu) (gnu system nss))
(use-modules (gnu packages tryton))
(use-modules (gnu packages databases))
;(use-modules (gnu packages xorg))
(use-modules (gnu services xorg))
You don't have to repeat the use-modules form, it can be used like this:
(use-modules (gnu)
(gnu system nss)
(gnu packages tryton)
(gnu packages databases)
(gnu packages xorg))
I'm actually surprised the other way works, but noticed it appears for
"Globally-Visible Packages" at:
https://www.gnu.org/software/guix/manual/html_node/Using-the-Configuration-System.html
(use-service-modules desktop)
(use-package-modules certs gnome)
;(use-service-modules databases)
;(use-service-modules trytond)
(define %my-services
(modify-services
(cons* (gnome-desktop-service)
(cons*
(service agetty-service-type
(agetty-configuration (tty "ttyS0")))
%desktop-services))
(slim-service-type config =>
(slim-configuration
(inherit config)
(startx (xorg-start-command
#:configuration-file
(xorg-configuration-file
;; Setup X to use a swiss german keyboard layout.
#:extra-config
'("Section \"InputClass\"
Identifier \"keyboard-all\"
Option \"XkbLayout\" \"ch\" ; <~ replace \"ch\" with \"it\"
MatchIsKeyboard \"on\"
EndSection"))))))))
Why do you use one level of indirection for no gain? This can go into
services, directly.
That modify-services looks very suspicious. Why the nested cons*?
modify-services should be fed with one list of services, followed by
(type variable => body) clauses, like in:
(modify-services %desktop-services
(mingetty-service-type config =>
(mingetty-configuration
(inherit config)
(motd (plain-file "motd" "Howdy FOSDEM!"))))
(upower-service-type config =>
(upower-configuration
(inherit config)
(ignore-lid? #true)
(percentage-critical 5.))))
modify-services %desktop-services
(udev-service-type config =>
(udev-configuration (inherit config)
(rules (append (udev-configuration-rules config)
(list %example-udev-rule))))))
Aside of that, I wonder if you have to put the xorg server into either
global packages, or install it for root.
(operating-system
(host-name "antelope")
(timezone "Europe/Paris")
(locale "it_IT.utf8")
;;This is to be able to login into a guest system
(kernel-arguments '("console=ttyS0"))
;; Assuming /dev/sdX is the target hard disk, and "my-root"
;; is the label of the target root file system.
(bootloader (grub-configuration (target "/dev/sda")))
(file-systems (cons (file-system
(device "my-root")
(title 'label)
(mount-point "/")
(type "ext4")
)
%base-file-systems))
(users (cons (user-account
(name "catonano")
(password (crypt " " "ab"))
(comment "Alice's brother")
(group "users")
(supplementary-groups '("wheel" "netdev"
"audio" "video"))
(home-directory "/home/catonano"))
%base-user-accounts))
(crypt " " "ab") looks suspicious to me, but I haven't read up on how it
should be used.
;; This is where we specify system-wide packages.
(packages (cons* nss-certs ;for HTTPS access
gvfs ;for user mounts
;;python-trytond
;;tryton
;;postgresql
%base-packages))
;; Add GNOME and/or Xfce---we can choose at the log-in
;; screen with F1. Use the "desktop" services, which
;; include the X11 log-in service, networking with Wicd,
;; and more.
(services %my-services)
;; Allow resolution of '.local' host names with mDNS.
(name-service-switch %mdns-host-lookup-nss))
--
Thorsten Wilms
thorwil's design for free software:
http://thorwil.wordpress.com/