I had give a similar example at https://codeberg.org/guix/guix/pulls/6955#issuecomment-11367397
Unfortunately, since I didn't elaborate futhur, it wasn't taken seriously at that time. For me, typing a few more characters, like (record-field-name <parent-record>) isn't such a bad thing. But introducing such syntax sugar will increas the understanding cost of Guxi record (especially this part is not very well-documented), and (possibly) break 3rd-party code. Tomas Volf <[email protected]> writes: > 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 -- Retrieve my PGP public key: 执行下列命令以获取我的 PGP 公有密钥: gpg --recv-keys B3EBC086AB0EBC0F45E0B4D433DB374BCEE4D9DC Zihao / 閱卜錄 Date: Mon, 23 Mar 2026 03:02:25 +0800
signature.asc
Description: PGP signature
