Tomas Volf <[email protected]> writes:
> Ludovic Courtès <[email protected]> writes:
>>
>> Could you try your config/channels/code with this new feature and see if
>> you stumble upon any issue?
>
> I am building right now, and will see whether everything works.
So, update, one system failed to build. So much for my careful review
of the configuration. :/
--8<---------------cut here---------------start------------->8---
(define %system
(let* ((os (vpsfree-system #:name fact/name))
(services
(append
(list
(simple-service 'f-allow-http-s nftables-service-type
(nftables-extension
(rule "tcp dport { 80, 443 } accept"))))
more-services
(operating-system-user-services os))))
(operating-system
(inherit os)
(users (cons (user-account (name "test")
(group "test")
(uid 1111))
(operating-system-users os)))
(groups (cons (user-group (name "test")
(id 1111))
(operating-system-groups os)))
(services services))))
--8<---------------cut here---------------end--------------->8---
With the descriptive error of
guix system: error: service 'ssh-daemon' requires 'networking', which is
not provided by any service
Fixed by renaming `services' to `%services'.
Oh, but now I see that other systems did build (not sure why), but will
suffer some issues due to pattern of
(define (do-stuff-with-system os ..)
(let ((services ...))
(operating-system
(inherit os)
(services services))))
that I use all over and overlooked initially. Which now means something
else. Well, I will try the upgrade again next weekend, this time with
more care.
It is bit sad this was not introduced as `inherit*' instead of changing
the meaning of `inherit'.
Tomas
--
There are only two hard things in Computer Science:
cache invalidation, naming things and off-by-one errors.