Hi guix, Consider the following home configuration: (use-modules (gnu home) (gnu packages) (gnu home services) (gnu services) (guix gexp) (gnu home services shells)) (define formula-of-the-day ;; TODO: add some more formulae, randomise "$US dollar/€euro = 1.11") (home-environment (packages '()) (services (list (simple-service 'extra-environment-variables home-environment-variables-service-type `(("formula of the (reconfiguration) day" . ,formula-of-the-day)))))) Now start a container with this configuration with "guix home container": $ guix home container home-configuration.scm [start output block] WARNING: (guile-user): imported module (guix build utils) overrides core binding `delete' /gnu/store/[...]/setup-environment: line 33: syntax error near unexpected token `(' /gnu/store/[...]/setup-environment: line 33: `export formula of the (reconfiguration) day=$US dollar/€euro = 1.11' Backtrace: In ice-9/boot-9.scm: 1752:10 11 (with-exception-handler _ _ #:unwind? _ # _) In unknown file: 10 (apply-smob/0 #) In ice-9/boot-9.scm: 724:2 9 (call-with-prompt _ _ #) In ice-9/eval.scm: 619:8 8 (_ #(#(#))) In ice-9/command-line.scm: 185:18 7 (_ #) In unknown file: 6 (eval (begin (use-modules (guix build utils) (# ?) ?) ?) ?) In ice-9/eval.scm: 619:8 5 (_ #f) In unknown file: 4 (primitive-load "/gnu/store/6xn1fyljn05cjgx3sakhmds88sc?") In ice-9/eval.scm: 293:34 3 (_ #(#(#(#(#(#(#(#(# ?) ?) ?) ?) ?) ?) ?) ?)) 159:9 2 (_ #(#(#(#(#(#(#(#(# ?) ?) ?) ?) ?) ?) ?) ?)) 159:9 1 (_ #(#(#(#(#(#(#(#(# ?) ?) ?) ?) ?) ?) ?) ?)) In unknown file: 0 (string-split # #\nul) ERROR: In procedure string-split: In procedure string-split: Wrong type argument in position 1 (expecting string): # [end output block] To investigate, I took a look at 'setup-environment': [lots of exports] export formula of the (reconfiguration) day=$US dollar/€euro = 1.11 There are at least two issues here: * The variable 'formula of the (reconfiguration) day' was not quoted. I don't know how to do this in bash though, if it is even possible at all. If it turns out not to be possible, I'd prefer that to be mentioned by a nice error message, e.g. "environment variable names may not contain FOOs" or "environment variable names must consist of BARs". * The value '$US dollar/€euro' was not quoted, so bash would expand $US (to the empty string, since $US is not defined). Greetings, Maxime.