help-guix
[Top][All Lists]
Advanced

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

Re: error setting console font in system.scm


From: Fulbert
Subject: Re: error setting console font in system.scm
Date: Sun, 14 Jun 2020 17:50:45 +0200

On Sat, Jun 13, 2020 at 09:18:18PM -0700, John Soo wrote:
> Hello Fullbert,
> 
> Fulbert <fulbert@bluewin.ch> writes:
> 
> >   Trying to change console font with the following in "services" section
> > of my system configuration file :
> >
> > ----
> > …
> >   (services (append (list
> >         …
> >         (service console-font-service-type
> >           `(("tty3" . ,(file-append font-terminus 
> > "/share/consolefonts/ter-128n"))))
> >       ) %desktop-services))
> > …
> > ----
> >
> > which results in the following error when reconfiguring the system :
> >
> > ----
> > $ sudo guix system --dry-run reconfigure /etc/config.scm
> > guix system: error: service 'console-font-tty3' provided more than once
> > ----
> 
> This is because there is already a console-font-service-type in
> %desktop-services. […]You will need to modify the existing service instead
> like below. Note I have not tested this myself but something like it can be
> found in the documentation of guile association lists
> 
> https://www.gnu.org/software/guile/manual/html_node/Adding-or-Setting-Alist-Entries.html
> 
> ;; At the top of the file
> (use-modules
>   ...
>   (ice-9 match))
> 
> ;; Replace %desktop-services with this:
> 
> (modify-services %desktop-services
>   (console-font-service-type
>     configuration =>
>     (map
>       (match-lambda
>         (("tty3" . f)
>           `("tty3" . (file-append font-terminus 
> "/share/consolefonts/ter-128n")))
>         ((tty . font) `(,tty . ,font)))
>       configuration)))
> 
> >   I probably missunderstand something and/or ill-format the
> > configuration…?… Help appreciated.
> 
> No problem. The error message is saying that such a service would
> conflict with the existing one. The aim of the snippet is to keep the
> other tty fonts and update the one on tty3.
> 
> Hope that helps!

  Indeed! It works now. Thank you for your Help John !

  For this to work though, I just had to correct a typo : add a `comma`
(to _unquote_, if I'm not wrong) before the `(file-append …`.
So, for reference :
----
;; At the top of the file
(use-modules
  ...
  (ice-9 match))

;; Replace %desktop-services with this:
(modify-services %desktop-services
  (console-font-service-type configuration =>
    (map
      (match-lambda
        (("tty3" . f)
          `("tty3" . ,(file-append
                        font-terminus
                        "/share/consolefonts/ter-128n.psf.gz")))
        ((tty . font) `(,tty . ,font))) configuration)))
----



reply via email to

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