Thanks for the patch! Comments below: > (arguments > - `(#:modules ((guix build utils)) > - #:builder > - (begin > - (use-modules (guix build utils)) > - (copy-recursively (assoc-ref %build-inputs "source") "icons") > - (substitute* "icons/Delft/index.theme" > - (("gnome") "Adwaita")) > - (delete-file "icons/README.md") > - (delete-file "icons/LICENSE") > - (delete-file "icons/logo.jpg") > - (copy-recursively "icons" (string-append %output "/share/icons"))))) > + `(#:install-plan > + '(,@(append-map (lambda (file) > + `((,file "share/icons/") > + (,(string-append file "-Dark") "share/icons/") > + (,(string-append file "-Darker") "share/icons/") > + (,(string-append file "-Darkest") "share/icons/"))) > + '("Delft" "Delft-Amber" "Delft-Aqua" "Delft-Blue" > + "Delft-Gray" "Delft-Green" "Delft-Mint" "Delft-Purple" > + "Delft-Red" "Delft-Teal"))))) Interesting use of install-plan, but wouldn't it be to copy everything and simply exclude the previous delete files? E.g. (untested): #:install-plan `(("." "./" #:exclude ("README.md" "LICENSE" "logo.jpg"))) -- Pierre Neidhardt https://ambrevar.xyz/