From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Sigurdsen Subject: Re: Guix does not understand config.scm Date: Mon, 23 Apr 2018 20:30:35 +0200 Message-ID: <20180423203035.0654ec81@merlin.browniehive.net> References: <8736zlu3r0.fsf@guix.i-did-not-set--mail-host-address--so-tickle-me> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="MP_/eE/iJYL3xTy2YqRcPFi1v2W" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:47844) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fAgEp-0007cr-48 for help-guix@gnu.org; Mon, 23 Apr 2018 14:30:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fAgEd-0004ve-6O for help-guix@gnu.org; Mon, 23 Apr 2018 14:30:55 -0400 Received: from mail-wr0-x232.google.com ([2a00:1450:400c:c0c::232]:41233) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fAgEc-0004vP-GY for help-guix@gnu.org; Mon, 23 Apr 2018 14:30:43 -0400 Received: by mail-wr0-x232.google.com with SMTP id g21-v6so16440349wrb.8 for ; Mon, 23 Apr 2018 11:30:42 -0700 (PDT) In-Reply-To: <8736zlu3r0.fsf@guix.i-did-not-set--mail-host-address--so-tickle-me> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-guix-bounces+gcggh-help-guix=m.gmane.org@gnu.org Sender: "Help-Guix" To: Jone Cc: help-guix@gnu.org --MP_/eE/iJYL3xTy2YqRcPFi1v2W Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Disposition: inline Hi, I've figured some things out here, hope you can use it. For the future, I find it much easier to test and help if you attach the file or post it to a pastebin (see the wgetpaste program to make that easier). Of course you remove whatever is of a security or privacy concern for you. I don't know what the 2 servces I've commented out where supposed to do. I think you should look up defining services in the docs, or maybe you wanted something else entirely. > Questions: > 1. How to debug config.scm, line by line? Is that possible? Debugging line by line is not simple, or something I do. But I use strace. If I get unintelligible errors from guix I usually do: strace -o /tmp/strace.out -T -s 2000 -f guix-command Then use less or grep or some other tool to inspect the output in /tmp/strace.out. Things to look for are error, warning and anything it says about files not part of guix, i.e. files in your home directory (not including ~/.config/guix/latest and similar) or wherever you keep your guix personal files (configs modules and whatnot). I also look at other peoples configurations. There are quite a few online in github and notabug and similar that will give you a good idea of how to do things. Mine is here: https://notabug.org/thomassgn/guixsd-configuration/ And last but not least, have a git clone of the guix sources from savannah and check the tests (gnu/tests/) and examples (gnu/system/examples). You can also read the source, but by this time I've gone to IRC or something. > 2. Where can I find the full list of modules for "use-modules"? It will say in the info documentation. Or look through the sources. Also, run 'visudo --check --file=/etc/sudoers' when you change it, cause last I bodged it, guix had no idea the sudoers file was not working. One of the few bad accidents I've had with guix where guix couldn't fix guix because the problem was not guix. And you might want to have sudoers somewhere else so you can build your system without root. You still need root to "install" (i.e. reconfigure or similar) your system. Hope this helps. On Mon, 23 Apr 2018 19:22:43 +0000 Jone wrote: > This is my new (and wrong) config: > > 1 (use-modules > 2 (srfi srfi-1) > 3 (guix) > 4 (gnu)) > 5 (use-service-modules networking desktop admin mcron) > 6 (use-package-modules base bootloaders ssh) > 7 (operating-system > 8 (host-name "guix") > 9 (timezone "Europe/Moscow") > 10 (locale "ru_RU.UTF-8") > 11 (locale-definitions > 12 '((locale-definition (source "ru_RU") (name "ru_RU.utf8")) > 13 (locale-definition (source "en_US") (name > "en_US.utf8")))) 14 (bootloader (bootloader-configuration > .................................................................... > 24 (initrd-modules (cons* "sata_nv" ;; Nvidia > nForce 25 "pata_acpi" %base-initrd-modules)) > 26 (file-systems (cons* > .................................................................... > 47 %base-file-systems)) > 48 (swap-devices > '("/dev/disk/by-uuid/0602935f-4ed2-4805-9ec9-e0c06238abf5")) 49 > (users (cons (user-account 50 (name "jone") > 51 (comment "Jone") > 52 (group "users") > 53 (supplementary-groups '("wheel" "netdev" > "audio" "video")) 54 (home-directory "/home/jone")) > 55 %base-user-accounts)) > 56 (sudoers-file (local-file (config-file "/etc/sudoers"))) > 57 (packages > 58 (let ((trash (specifications->packages > 59 "zile" "wireless-tools"))) > .................................................................... > 67 %base-packages)))) > 68 (services (cons* > 69 (extra-special-file "/usr/bin/env" > 70 > (file-append coreutils "/bin/env")) 71 > (extra-special-file "/bin/sh" > 72 > (file-append bash "/bin/bash")) 73 > (xfce-desktop-service) 74 (service > mcron-service-type) 75 (service > rottlog-service-type) 76 > %desktop-services)) 77 ) > > Next I run 'guix system reconfigure new.scm': > > new.scm:49:9: config-file: unbound variable > hint: Did you forget a `use-modules' form? > > Ok, for test comment section "(users (cons .." and line "(sudoers-file ..", > but next again: > > new.scm:26:16: specifications->packages: unbound variable > hint: Did you forget a `use-modules' form? > > Questions: > 1. How to debug config.scm, line by line? Is that possible? > 2. Where can I find the full list of modules for "use-modules"? > 3. And how to fix this config? > --MP_/eE/iJYL3xTy2YqRcPFi1v2W Content-Type: text/x-scheme Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=jone.scm (use-modules (srfi srfi-1) (guix) (gnu system locale) (gnu)) (use-service-modules networking desktop admin mcron) (use-package-modules base bootloaders ssh bash zile linux) (operating-system (host-name "guix") (timezone "Europe/Moscow") (locale "ru_RU.UTF-8") (locale-definitions (list (locale-definition (source "ru_RU") (name "ru_RU.utf8")) (locale-definition (source "en_US") (name "en_US.utf8")))) (bootloader (bootloader-configuration (bootloader grub-bootloader) (target "/dev/sda") (terminal-outputs '(console)))) (initrd-modules (cons* "sata_nv" ;; Nvidia nForce "pata_acpi" %base-initrd-modules)) (file-systems (cons* (file-system (device "mr") (title 'label) (mount-point "/") (type "ext4")) %base-file-systems)) (swap-devices '()) (users (cons (user-account (name "jone") (comment "Jone") (group "users") (supplementary-groups '("wheel" "netdev" "audio" "video")) (home-directory "/home/jone")) %base-user-accounts)) (sudoers-file (local-file "/etc/sudoers")) (packages (cons* zile wireless-tools %base-packages)) (services (cons* ; (extra-special-file "/usr/bin/env" ; (file-append coreutils "/bin/env")) ; (extra-special-file "/bin/sh" ; (file-append bash "/bin/bash")) (xfce-desktop-service) (service mcron-service-type) (service rottlog-service-type) %desktop-services))) --MP_/eE/iJYL3xTy2YqRcPFi1v2W--