help-guix
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: hurd-vm-service-type into /etc/config.scm


From: Saku Laesvuori
Subject: Re: hurd-vm-service-type into /etc/config.scm
Date: Tue, 9 Apr 2024 12:01:54 +0300

On Sat, Mar 30, 2024 at 09:25:32PM +0100, hubert.lombard@ik.me wrote:
> Hi Saku, thanks a lot for your answer,
> 
> Have tried to modify some settings about my e-mail client...

Unfortunately that seems to not have fixed the problem. I am still
seeing blank lines between every line of text. This time also the
quotation levels ('>' characters at the beginning of the line) are also
off: some new text you wrote is multiple quotations in. I won't fix them
in this message so you can see more clearly what I'm talking about.

>> Le 2024-03-28T07:58:43.000+01:00, Saku Laesvuori <saku@laesvuori.fi>
>> a écrit :
>>>  On Wed, Mar 27, 2024 at 11:21:11AM +0100, hubert.lombard@ik.me wrote:
>>>> Hello o/
>>>> 
>>>> Further investigations to insert the hurd-vm in /etc/config.scm
>>>> In my attempt at config.scm, inspired both by my own file and from
>>>> examples found on the Internet, I've tried to use (define %my-gnome as
>>>> well and (modify-services %desktop-services, knowing that I'm missing at
>>>> least 1 module related to the package list. I've tried several, but I
>>>> can't
>>>> 
>>>>  figure out which one (or which...)
>>>> 
>>>>  $ sudo guix system reconfigure /etc/config.scm
>>>> 
>>>>  --8<---------------cut
>>>> here---------------start------------->8---
>>>> 
>>>>  ce-9/eval.scm:223:20: In procedure proc:
>>>> 
>>>>  erreur : packages : variable non liée
>>>> 
>>>>  conseil : Auriez-vous oublié un `use-modules' ?
>>>> 
>>>>  --8<---------------cut
>>>> here---------------end--------------->8---
>>>> 
>>>>  As I only use Guix System, I'm aware that I'd better build
>>>> myself a a
>>>> 
>>>>  virtual machine to test this kind of configuration. Secondly,
>>>> I'm also
>>>> 
>>>>  aware that even if my (use-modules) field was satisfied, there
>>>> might
>>>> 
>>>>  still be other problems...
>>>> 
>>>>  Here's the failing test, what do you think?
>>>> 
>>>>  /etc/config.scm
>>>> 
>>>>  --8<---------------cut
>>>> here---------------start------------->8---
>>>> 
>>>>  (use-modules
>>>> 
>>>>  (gnu)
>>>> 
>>>>  (gnu services)
>>>> 
>>>>  (gnu services base)
>>>> 
>>>>  (gnu packages gnome)
>>>> 
>>>>  (gnu packages)
>>>> 
>>>>  (gnu packages base)
>>>> 
>>>>  (gnu system nss)
>>>> 
>>>>  (guix utils)
>>>> 
>>>>  (gnu services cups)
>>>> 
>>>>  (gnu packages certs)) ;;Maybe some modules not relevant here
>>>> ?...
>>>> 
>>>>  (use-service-modules desktop networking ssh xorg cups
>>>> virtualization sound)
>>>> 
>>>>  (use-package-modules bootloaders certs cups gnome xorg linux
>>>> vim scanner screen ssh wm audio)
>>>> 
>>>>  (operating-system
>>>> 
>>>>  (locale "fr_FR.utf8")
>>>> 
>>>>  (timezone "Europe/Paris")
>>>> 
>>>>  (keyboard-layout (keyboard-layout "fr"))
>>>> 
>>>>  (host-name "gnu")
>>>> 
>>>>  (users
>>>> 
>>>>  (cons* (user-account
>>>> 
>>>>  (name "hubert")
>>>> 
>>>>  (comment "Hubert")
>>>> 
>>>>  (group "users")
>>>> 
>>>>  (home-directory "/home/hubert")
>>>> 
>>>>  (supplementary-groups
>>>> 
>>>>  '("wheel" "netdev" "audio" "video" "kvm" "lp" "cdrom"
>>>> "scanner")))
>>>> 
>>>>  %base-user-accounts))
>>>> 
>>>>  (bootloader (bootloader-configuration
>>>> 
>>>>  (bootloader grub-efi-bootloader)
>>>> 
>>>>  (targets (list "/boot/efi"))
>>>> 
>>>>  (keyboard-layout keyboard-layout)))
>>>> 
>>>>  (swap-devices
>>>> 
>>>>  (list (swap-space
>>>> 
>>>>  (target (uuid "527ab16b-d20c-4269-bc6f-8910ef3f8c5e"))))) 
>>>> 
>>>>  (file-systems
>>>> 
>>>>  (cons* (file-system
>>>> 
>>>>  (mount-point "/boot/efi")
>>>> 
>>>>  (device (uuid "1C82-1420" 'fat32))
>>>> 
>>>>  (type "vfat"))
>>>> 
>>>>  (file-system
>>>> 
>>>>  (mount-point "/")
>>>> 
>>>>  (device (uuid "e4fb3e05-b455-40db-bc59-4d4d011e1e01" 'ext4))
>>>> 
>>>>  (type "ext4"))
>>>> 
>>>>  %base-file-systems)))
>>>> 
>>>>  (packages
>>>> 
>>>>  (append
>>>> 
>>>>  (list nss-certs ;for HTTPS access
>>>> 
>>>>  vim ;some tools expect it to be there
>>>> 
>>>>  gvfs ;for user mounts
>>>> 
>>>>  openssh
>>>> 
>>>>  cups
>>>> 
>>>>  foomatic-filters
>>>> 
>>>>  hplip
>>>> 
>>>>  sane-backends
>>>> 
>>>>  ijs
>>>> 
>>>>  ghostscript)
>>>> 
>>>>  %base-packages))
>>>> 
>>>>  (define %my-gnome
>>>> 
>>>>  (package
>>>> 
>>>>  (inherit gnome)
>>>> 
>>>>  (name "my-gnome")
>>>> 
>>>>  (propagated-inputs
>>>> 
>>>>  (modify-inputs (package-propagated-inputs gnome)
>>>> 
>>>>  (delete "epiphany")
>>>> 
>>>>  (delete "evolution")
>>>> 
>>>>  (delete "gnome-weather")
>>>> 
>>>>  (delete "simple-scan")
>>>> 
>>>>  (delete "gnome-maps")
>>>> 
>>>>  (delete "gnome-boxes")
>>>> 
>>>>  (delete "gnome-console")
>>>> 
>>>>  (delete "gnome-contacts")
>>>> 
>>>>  (append gnome-terminal))))
>>>> 
>>>>  %my-gnome)
>>>  
>>>  I suspect this define here. Firstly, it should be outside the
>>>  
>>>  operating-system record. Here it means a field named 'define'
>>>  which is
>>>  
>>>  clearly not intended.                             
>>>                                             
>>>                                             
>>>                                             
>>>                                             
>>>                                             
>>>                                             
>>>         Yes, on rereading my file, I understand that this
>>>  "define" field                                 
>>>                                             
>>>                         is out of place.         
>>>                                             
>>>                                             
>>>                                             
>>>                                             
>>>                                             
>>>                                             
>>>                      The %my-gnome at the end will also
>>>  cause problems
>>>  
>>>  later as now %my-gnome is defined as a package record (that is not
>>>  
>>>  stored anywhere) and as %my-gnome, which will cause nonterminating
>>>  and
>>>  
>>>  useless recursion. You might also have to import (guix packages)
>>>  to
>>>  
>>>  construct package records.                         
>>>                                             
>>>                                             
>>>                                             
>>>                                             
>>>                                             
>>>                                             
>>>          Good to know. I've put back my original
>>>  "/etc/config.scm", I'm                             
>>>                                             
>>>                      more at peace that way. It's the one
>>>  from the graphic installation of                     
>>>                                             
>>>                             Guix System 1.4
>
>> It's a fairly minimal file.I think there must be a way of inserting
>> the
>
>> "(service hurd-vm-service-type" service without too much difficulty.
>
>> My attempt was too risky :) All suggestions will be studied...

Luckily Guix is a great operating system for risky attempts due to
atomic updates and full system roll back.

I haven't tried this myself, but it should be possible by just adding the
following block (copied from the manual and increased the sizes to be
more useful) after the line with `(service cups-service-type)` (for
example, that line isn't special in any other way except that it is
inside the service list):

```
(service hurd-vm-service-type
         (hurd-vm-configuration
          (disk-size (* 10 (expt 2 30)))   ; 10 GiB
          (memory-size 2048)))             ; 2048 MiB
```

>> my current /etc/config.scm
>
>> --8<---------------cut here---------------start------------->8---
>
>> (use-modules (gnu) (gnu services base))
>
>> (use-service-modules cups desktop networking ssh xorg audio sound
>> dbus virtualization)
>
>> (operating-system
>
>>   (locale "fr_FR.utf8")
>
>>   (timezone "Europe/Paris")
>
>>   (keyboard-layout (keyboard-layout "fr"))
>
>>   (host-name "gnu")
>
>>   ;; La liste des comptes utilisateurs (« root » est implicite).
>
>>   (users (cons* (user-account
>
>>                   (name "hubert")
>
>>                   (comment "Hubert")
>
>>                   (group "users")
>
>>                   (home-directory "/home/hubert")
>
>>                   (supplementary-groups '("wheel"
>> "netdev" "audio" "video" "kvm" "lp")))
>
>>                  %base-user-accounts))
>
>>   ;; Paquets installés pour tout le système. Les utilisateurs et
>> utilisatrices peuvent aussi installer des paquets
>
>>   ;; sous leur propre compte : utilisez « guix search MOT-CLÉ »
>> pour chercher
>
>>   ;; des paquets et « guix install PAQUET » pour installer un
>> paquet.
>
>>   (packages (append (list (specification->package "nss-certs"))
>
>>                     %base-packages))
>
>>   ;; Voici la liste des services du système.  Pour trouver les
>> services disponibles,
>
>>   ;; lancez « guix system search MOT-CLÉ » dans un terminal.
>
>>   (services
>
>>    (append (list (service gnome-desktop-service-type)
>
>>                  (service bluetooth-service-type
>
>>                   (bluetooth-configuration
>
>>                    (auto-enable? #t)))
>
>>                  (service cups-service-type)
>
>>                  (set-xorg-configuration
>
>>                   (xorg-configuration
>> (keyboard-layout keyboard-layout))))
>
>>                  ;; Voici la liste des services par
>> défaut à laquelle nous
>
>>                  ;; ajoutons nos propres services.
>
>>                  %desktop-services))
>
>>           
>
>>   (bootloader (bootloader-configuration
>
>>                 (bootloader grub-efi-bootloader)
>
>>                 (targets (list "/boot/efi"))
>
>>                 (keyboard-layout keyboard-layout)))
>
>>   (swap-devices (list (swap-space
>
>>                         (target (uuid
>
>>                                 
>> "527ab16b-d20c-4269-bc6f-8910ef3f8c5e")))))
>
>>   ;; La liste des systèmes de fichiers qui seront « montés ».
>> Les identifiants
>
>>   ;; de systèmes de fichiers uniques (« UUIDs ») qui se trouvent
>> ici s'obtiennent
>
>>   ;; en exécutant « blkid » dans un terminal.
>
>>   (file-systems (cons* (file-system
>
>>                          (mount-point
>> "/boot/efi")
>
>>                          (device (uuid
>> "1C82-1420"
>
>>                                       
>> 'fat32))
>
>>                          (type "vfat"))
>
>>                        (file-system
>
>>                          (mount-point "/")
>
>>                          (device (uuid
>
>>                                  
>> "e4fb3e05-b455-40db-bc59-4d4d011e1e01"
>
>>                                  
>> 'ext4))
>
>>                          (type "ext4"))
>> %base-file-systems)))
>
>> --8<---------------cut here---------------end--------------->8---
>
>> Thanks again Saku, thanks for all, Guix
>
>> o/
>
>Hubert
>
>

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]