Here's my attempt at making substitute-related logging a little easier to grok. I added newlines to split up output and visually separate multiple substitutions. Since the download size is unknown, we can't use a progress bar, but I made the output more consistent with the progress bar behavior. I also shortened the hash after it's been repeated in full twice (once for the store and once for the download URL). Current behavior: found valid signature for '/gnu/store/ayad3km6vzv70777icacgx0jzlyfsr8z-python2-pyicu-1.8', from ' http://hydra.gnu.org/nar/ayad3km6vzv70777icacgx0jzlyfsr8z-python2-pyicu-1.8' downloading `/gnu/store/ayad3km6vzv70777icacgx0jzlyfsr8z-python2-pyicu-1.8' (0.8 MiB installed)... http://hydra.gnu.org/nar/ayad3km6vzv70777icacgx0jzlyfsr8z-python2-pyicu-1.8 220KiB transferred (127KiB/s) found valid signature for '/gnu/store/8q38qgmly775c17wp9frkq88j38blh67-python2-simplejson-3.3.0', from ' http://hydra.gnu.org/nar/8q38qgmly775c17wp9frkq88j38blh67-python2-simplejson-3.3.0 ' downloading `/gnu/store/8q38qgmly775c17wp9frkq88j38blh67-python2-simplejson-3.3.0' (0.4 MiB installed)... http://hydra.gnu.org/nar/8q38qgmly775c17wp9frkq88j38blh67-python2-simplejson-3.3.0 78KiB transferred (149KiB/s) Patched behavior: Found valid signature for /gnu/store/sin6c3n1440f8kza0k4hdms38fbb4dv0-boost-1.58.0 From http://hydra.gnu.org/nar/sin6c3n1440f8kza0k4hdms38fbb4dv0-boost-1.58.0 Downloading sin6c3…boost-1.58.0 (110.6MiB installed)... sin6c3…boost-1.58.0 911KiB/s 00:00:11 | 9.4MiB transferred Found valid signature for /gnu/store/svznj538ppnginrnqnrqxn6dsxq6rhg5-aspell-0.60.6.1 From http://hydra.gnu.org/nar/svznj538ppnginrnqnrqxn6dsxq6rhg5-aspell-0.60.6.1 Downloading svznj5…aspell-0.60.6.1 (3.5MiB installed)... svznj5…aspell-0.60.6.1 92KiB/s 00:00:09 | 836KiB transferred -Steve