From: Fredrik Salomonsson <plattfot@gmail.com>
To: Divan Santana <divan@santanas.co.za>
Cc: help-guix@gnu.org
Subject: Re: Issues with my configuration - zsh shell default
Date: Tue, 4 Jul 2017 23:52:20 -0700 [thread overview]
Message-ID: <CABZcOATzXA6eR44tsoZ7p-Vpjt5T04eXcTChUqbYbJxQK88ktQ@mail.gmail.com> (raw)
In-Reply-To: <87o9t0uid6.fsf@santanas.co.za>
[-- Attachment #1.1: Type: text/plain, Size: 10363 bytes --]
1)
> Do you want this to be mounted on boot? I don’t think there’s a way to
> express that a mount should happen after the network has come up (yet).
>
You can only tell Guix not to try to mount the disk on boot. Use
> auto-mounting to mount the disk on demand at a later point. (We don’t
> have a service for autofs yet.)
>
Your contributions in this area would be welcome!
Ideally I would like it to be mounted on boot. Only thing I found was in
the mount manpage <https://linux.die.net/man/8/mount> which mention the
option _netdev. That will supposedly wait until the network is up before
mounting. But I'm not sure if GuixSD (Shepherd?) is using mount or not.
How do I mount it manually after boot? I see it's in the fstab but I cannot
run mount. It's complain about wrong fs type, bad option, bad superblock...
And mention that it might need a /sbin/mount.<type> helper program. When I
run
sudo mount /media/Valhalla
I would love to contribute. But my experience with guile right now is
minimal. So my plan is to first familiarize myself with guile and guix by
first package up some stuff I notice are missing in guix that I use. Any
recommendations on books, tutorials etc on guile would be helpful.
2)
> There is no module “(gnu packages zsh)”. “zsh” is now in “(gnu packages
> shells)”.
> (use-package-modules shells)
> (users (cons (user-account
> (name "admin")
> (comment "")
> (group "users")
> (supplementary-groups '("wheel" "netdev"
> "audio" "video"))
> (shell #~(string-append #$zsh "/bin/zsh"))
> (home-directory "/home/admin"))
> %base-user-accounts))
This worked for me. Thanks. What is the best way of looking up what package
belongs to what module? In case I hit more of this in the future.
3)
> Here’s what I do in my config:
--8<---------------cut here---------------start------------->8---
> (define dvorak-evdev
> (call-with-input-file "/etc/config.d/evdev.conf" read-string))
>
> […]
> (operating-system …
> (services …
> (modify-services %desktop-services
> (slim-service-type
> config => (slim-configuration
> (inherit config)
> (startx (xorg-start-command
> #:configuration-file
> (xorg-configuration-file
> #:extra-config
> (list dvorak-evdev))))))
> …)))
> --8<---------------cut here---------------end--------------->8---
>
> You can use something like that to add to the xorg configuration file.
> Just put your snippet in a file and slurp it up.
Tried doing something similar but getting errors on the read-string.
First I got:
guix system: error: failed to load '/etc/config.scm':
/etc/config.scm:23:24: /etc/config.scm:23:24: In procedure module-lookup:
Unbound variable: read-string
After searching in the guile manual I found a read-string in the module
(sxml ssax input-parse), loaded that and now I get.
guix system: error: failed to load '/etc/config.scm':
sxml/upstream/input-parse.scm:318:11: In procedure read-string:
sxml/upstream/input-parse.scm:318:11: In procedure <: Wrong type: #<input:
/etc/config.d/00-keyboard.conf 14>
I'm probably missing something.
I've attached my new config.scm and xorg file.
> 4) /bin/env
> > In the manual, under Base Services
> > <https://www.gnu.org/software/guix/manual/guix.html#Base-Services> it
> > describes how to add env to /bin. I tried adding that snippet to my
> > services but I don't see env in /bin after I reconfigure.
Not sure about this one. Your config looks okay to me. I’m not using
> this myself, so I don’t know if there’s a bug in our documentation.
It is working it was just me being stupid. I was looking in /bin for env,
but in my config it is set to /usr/bin/.
>> I've also noticed some odd issues with my keyboards that are running the
qmk
>> firmware <https://github.com/qmk/qmk_firmware>. I've setup that my space
>> have a dual action, it's register as space when pressing and ctrl when
>> holding the key. But when using them in GuixSD it results in a 1s delay
>> every time I press space. Which gives a very sluggish impression when
>> typing in the terminal. It works fine if I disable that feature. I have
not
>> experienced that issue in any other distro.
>
> Don’t know about this one. Is any kernel firmware loading mechanism
> involved or do you suspect an xorg configuration problem?
I'm not sure about this one either. No kernel firmware mechanism is
involved as far as I know, I think the firmware just mimics a plain old usb
keyboard. From what I understand the dual action keys should be happening
in the firmware and the kernel shouldn't even notice any of this. But
that's just my assumption. Need to debug this further before I can draw any
conclusion if it's GuixSD or if it's my laptop. Just thought I mention it
in case someone have stumbled across it.
2017-07-04 12:12 GMT-07:00 Divan Santana <divan@santanas.co.za>:
> > 2) Change shell for user to zsh.
> > I followed https://gitlab.com/rain1/guix-wiki/wikis/FAQ on how to change
> > shell to zsh but getting this error when reconfiguring:
> >
> >> guix system: error: failed to load '/etc/config.scm':
> >> ice-9/boot-9.scm:2795:6: In procedure resolve-interface:
> >> ice-9/boot-9.scm:2795:6: no code for module (gnu packages zsh)
> >
> > I can install zsh using guix package -i zsh and start it manually.
>
> This works for me:
>
> (use-package-modules shells)
>
> (users (cons (user-account
> (name "admin")
> (comment "")
> (group "users")
> (supplementary-groups '("wheel" "netdev"
> "audio" "video"))
> (shell #~(string-append #$zsh "/bin/zsh"))
> (home-directory "/home/admin"))
> %base-user-accounts))
>
> Though I'm not yet sure how to change the root accounts shell to zsh.
>
> Anyone know that?
>
> Ricardo Wurmus <rekado@elephly.net> writes:
>
> > Hi Fredrik,
> >
> >> 1) Mounting a nfs disk.
> >> I tried adding the nfs mount to file-systems.
> >>
> >>> (file-system
> >>> (device "fafner:/srv/nfs4/Valhalla")
> >>> (title 'device)
> >>> (mount-point "/media/Valhalla")
> >>> (type "nfs4")
> >>> (check? #f))
> >>
> >> It works after I reconfigure guix
> >>
> >>> sudo guix system reconfigure /etc/config.scm
> >>
> >> But when I reboot, guixsd will not start it just hangs in the boot
> process.
> >> Looks like a lot of services are failing.
> >
> > Do you want this to be mounted on boot? I don’t think there’s a way to
> > express that a mount should happen after the network has come up (yet).
> >
> > You can only tell Guix not to try to mount the disk on boot. Use
> > auto-mounting to mount the disk on demand at a later point. (We don’t
> > have a service for autofs yet.)
> >
> > Your contributions in this area would be welcome!
> >
> >> 2) Change shell for user to zsh.
> >> I followed https://gitlab.com/rain1/guix-wiki/wikis/FAQ on how to
> change
> >> shell to zsh but getting this error when reconfiguring:
> >>
> >>> guix system: error: failed to load '/etc/config.scm':
> >>> ice-9/boot-9.scm:2795:6: In procedure resolve-interface:
> >>> ice-9/boot-9.scm:2795:6: no code for module (gnu packages zsh)
> >
> > There is no module “(gnu packages zsh)”. “zsh” is now in “(gnu packages
> > shells)”.
> >
> >> 3) Keyboard mapping.
> > […]
> >
> >> The question is how do I translate this to GuixSD? Closest I could find
> in
> >> the manual was about the X window, but didn't find anything that
> directly
> >> matches what I want.
> >
> > Here’s what I do in my config:
> >
> > --8<---------------cut here---------------start------------->8---
> > (define dvorak-evdev
> > (call-with-input-file "/etc/config.d/evdev.conf" read-string))
> >
> > […]
> >
> > (operating-system …
> > (services …
> > (modify-services %desktop-services
> > (slim-service-type
> > config => (slim-configuration
> > (inherit config)
> > (startx (xorg-start-command
> > #:configuration-file
> > (xorg-configuration-file
> > #:extra-config
> > (list dvorak-evdev))))))
> > …)))
> > --8<---------------cut here---------------end--------------->8---
> >
> > You can use something like that to add to the xorg configuration file.
> > Just put your snippet in a file and slurp it up.
> >
> >> 4) /bin/env
> >> In the manual, under Base Services
> >> <https://www.gnu.org/software/guix/manual/guix.html#Base-Services> it
> >> describes how to add env to /bin. I tried adding that snippet to my
> >> services but I don't see env in /bin after I reconfigure.
> >
> > Not sure about this one. Your config looks okay to me. I’m not using
> > this myself, so I don’t know if there’s a bug in our documentation.
> >
> >> I've also noticed some odd issues with my keyboards that are running
> the qmk
> >> firmware <https://github.com/qmk/qmk_firmware>. I've setup that my
> space
> >> have a dual action, it's register as space when pressing and ctrl when
> >> holding the key. But when using them in GuixSD it results in a 1s delay
> >> every time I press space. Which gives a very sluggish impression when
> >> typing in the terminal. It works fine if I disable that feature. I have
> not
> >> experienced that issue in any other distro.
> >
> > Don’t know about this one. Is any kernel firmware loading mechanism
> > involved or do you suspect an xorg configuration problem?
>
>
> --
> Best regards,
>
> Divan Santana
>
> Red Hat Certified Architect
>
> RHCA | CCNA | MCSE
>
> Mobile: +27 82 787 8522
> Email: divan@santanas.co.za
>
--
s/Fred[re]+i[ck]+/Fredrik/g
[-- Attachment #1.2: Type: text/html, Size: 15137 bytes --]
[-- Attachment #2: config.scm.v2 --]
[-- Type: application/octet-stream, Size: 3022 bytes --]
;; This is an operating system configuration template
;; for a "desktop" setup without full-blown desktop
;; environments.
(use-modules (gnu) (gnu packages) (gnu system nss) (gnu system locale) (gnu services nfs) ;; (sxml ssax input-parse)
)
(use-service-modules desktop networking ssh)
(use-package-modules wm certs suckless shells)
;;(use-package-modules zsh)
(define plattfot
(user-account
(name "plattfot")
(group "users")
;; Define a G-Expr to find the path of the zsh binary:
;; https://gitlab.com/rain1/guix-wiki/wikis/FAQ#how-do-i-make-my-login-shell-zsh
(shell #~(string-append #$zsh "/bin/zsh"))
(supplementary-groups '("wheel" "netdev" "audio" "video"))
(home-directory "/home/plattfot")))
(define keyboard-conf
(call-with-input-file "/etc/config.d/00-keyboard.conf" read-string))
(operating-system
(host-name "loke")
(timezone "Canada/Pacific")
(locale "en_US.utf8")
(locale-definitions
(list
(locale-definition (name "en_US.utf8") (source "en_US") (charset "UTF-8"))
(locale-definition (name "sv_SE.utf8") (source "sv_SE") (charset "UTF-8"))))
;; Assuming /dev/sda is the target hard disk, and "root"
;; is the label of the target root file system.
(bootloader (grub-configuration (device "/dev/sda")))
;; Specify a mapped device for the encrypted root partition.
;; The UUID is that returned by 'cryptsetup luksUUID'.
(mapped-devices
(list (mapped-device
(source (uuid "de52fa25-e7d0-4d63-8a35-91e561964043"))
(target "the-root-device")
(type luks-device-mapping))))
(file-systems (cons* (file-system
(device "root")
(title 'label)
(mount-point "/")
(type "ext4")
(dependencies mapped-devices))
(file-system
(device "fafner:/srv/nfs4/Valhalla")
(title 'device)
(mount-point "/media/Valhalla")
(type "nfs4")
;; (options "defaults")
(mount? #f)
(check? #f))
%base-file-systems))
(users (cons plattfot %base-user-accounts))
;; Add a bunch of window managers; we can choose one at
;; the log-in screen with F1.
(packages (cons* i3-wm i3status dmenu ;window managers
zsh
nss-certs ;for HTTPS access
%base-packages))
;; Use the "desktop" services, which include the X11
;; log-in service, networking with Wicd, and more.
(services (cons* (service openssh-service-type
(openssh-configuration
(port-number 6060)))
(extra-special-file "/usr/bin/env"
(file-append coreutils "/bin/env"))
%desktop-services
;; (modify-services %desktop-services
;; (slim-service-type
;; config => (slim-configuration
;; (inherit config)
;; (startx (xorg-start-command
;; #:configuration-file
;; (xorg-configuration-file
;; #:extra-config
;; (list keyboard-conf)))))))
))
;; Allow resolution of '.local' host names with mDNS.
(name-service-switch %mdns-host-lookup-nss))
[-- Attachment #3: 00-keyboard.conf --]
[-- Type: application/octet-stream, Size: 297 bytes --]
# Map Ctrl to caps, toggle between us and swedish keyboard layout. Scroll lock led is on when using swedish layout.
Section "InputClass"
Identifier "system-keyboard"
MatchIsKeyboard "on"
Option "XkbLayout" "us,se"
Option "XkbOptions" "ctrl:nocaps,grp:sclk_toggle,grp_led:scroll,:2"
EndSection
next prev parent reply other threads:[~2017-07-05 6:53 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-07-03 1:35 Issues with my configuration Fredrik Salomonsson
2017-07-04 9:30 ` Ricardo Wurmus
2017-07-04 19:12 ` Issues with my configuration - zsh shell default Divan Santana
2017-07-05 6:52 ` Fredrik Salomonsson [this message]
2017-07-05 8:25 ` Divan Santana
2017-07-05 9:15 ` ng0
2017-07-06 4:58 ` Fredrik Salomonsson
2017-07-05 8:30 ` Ricardo Wurmus
2017-07-08 22:11 ` 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=CABZcOATzXA6eR44tsoZ7p-Vpjt5T04eXcTChUqbYbJxQK88ktQ@mail.gmail.com \
--to=plattfot@gmail.com \
--cc=divan@santanas.co.za \
--cc=help-guix@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.
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).