Hello Fullbert,
Fulbert <[email protected]> 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!
- John