Ludovic Courtès writes: > Hi, > > Pierre Neidhardt skribis: > >> Ludovic Courtès writes: > > [...] > >>> • The generated files might use APIs that, in the meantime, got >>> deprecated or changed somehow. This is in contrast with >>> ‘--export-profile’, which interprets ‘manifest’ (a versioned file >>> format) and produces code that can use the API du jour. >> >> /run/current-system/configuration.scm suffers from the same problem. > > Not really because it’s precisely the file that you gave to build the > system. So you know you can run: > > cd /run/current-system > guix time-machine -C channels.scm -- system reconfigure configuration.scm > > and it’ll work (modulo the documented caveats). Ha, actually no, it won't always work! :) Configuration.scm is only the file passed to `guix system reconfigure`, but is this file inherits from other user Guile modules, then the configuration.scm won't be sufficient to regenerate the system. You could argue that it's a user problem, but still, there is an "impurity" here! :p > But again, that’s not really the goal here. The goal is to help users > willing to migrate from the “imperative” mode to the declarative mode. Sure, but my thinking is that we could hit two birds we one stone here. If we only think one half of the problem, we might end up with too many commands or an interface that's not flexible enough. > Once you’re using a manifest, probably you’ll want to put that under > version control, but that’s already the case. The channels.scm files are missing though. My two cents! :) Cheers! -- Pierre Neidhardt https://ambrevar.xyz/