宋文武 <iyzs...@openmailbox.org> skribis:

[...]

> +  (define (module-path module)
> +    (list "  ModulePath \"" module "/lib/xorg/modules\"\n"))

[...]

> +" (apply string-append (map module-path modules)) "

As with NixOS, the solution is to move these computations to the “build
side” (info "(guix) G-Expressions").

So you could do something like:

  (define build
    #~(call-with-output-file #$output
        (lambda (port)
          (for-each emit-driver-stanza '#$@xorg-modules))))

  (gexp->derivation "xorg.conf" build)

Does that make sense?

The big difference with Nix is that we use the same language on both
sides, so it’s easy to move things from one side to another, but it’s
also easy to forget about the tradeoffs.

HTH!

Ludo’.

Reply via email to