I'm also experiencing the same issue (guix describe: 7e0ad0dd0f2829d6f3776648ba7c88acf9888d7a).
My guess is that 44554e7133aa60e1b453436be1e80394189cabd9 (which supersedes 543d971ed2a1d9eb934af1f51930741d7cc4e7ef) introduces a '%location' field which conflicts with 'dovecot-configuration' itself also having a field called 'location'. In fact, interesting things happen if you define a configuration with a 'location' field. With 'guix repl': ``` $ guix repl GNU Guile 3.0.8 Copyright (C) 1995-2021 Free Software Foundation, Inc. Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'. This program is free software, and you are welcome to redistribute it under certain conditions; type `,show c' for details. Enter `,help' for help. scheme@(guix-user)> (use-modules (gnu services configuration)) (define-configuration FOO-configuration (name (string "aaa") "") (location (string "bbb") "")) ;;; <stdin>:2:0: warning: shadows previous definition of `%FOO-configuration-location-procedure' at <stdin>:2:0 ;;; <unknown-location>: warning: shadows previous definition of `FOO-configuration-location' at <unknown-location> ;;; <stdin>:2:0: warning: possibly unbound variable `serialize-string' ice-9/boot-9.scm:1685:16: In procedure raise-exception: error: serialize-string: unbound variable Entering a new prompt. Type `,bt' for a backtrace or `,q' to continue. scheme@(guix-user) [1]> ``` Code snippet for convenience: ``` (use-modules (gnu services configuration)) (define-configuration FOO-configuration (name (string "aaa") "") (location (string "bbb") "")) ```