Alexander Asteroth <[email protected]> writes:

> Dear all,
>
> I really love the declarative way of guix system and guix home to configure my
> installation.
> Unfortunately it often happens that after a guix pull some package (currently
> it's python-autopep8) fails to build.
> Often this package is just some dependency (and I don't even have a clue why
> python-autopep8 is needed by which package).
> The problem is now, that due to the transactional manner in wich guix
> reconfigure works I get stuck completely.
> I can't even change a dotfile (since it's managed by guix) or install a new
> package I need.
> Of course I could do that manually but that would lead to the chaos I had 
> before
> using guix home.
> The only solution I see to get my system back to working would be to undo the
> guix pull (but is there a way to do that?).

guix pull --roll-back

> There must be a better strategy to deal with these situations, like excluding
> the failing package and it's dependencies to get updated.
> How do you deal with this situation (since it happens quite often).

I personally have a wrapper script for guix pull which pulls into a
temporary profile (--profile=/tmp/pull-test-profile) and tries to build
(but only build, not reconfigure!) both my home and my system.  Only if
that passes I pull my guix to the same, already vetted, commit.

Tomas

-- 
There are only two hard things in Computer Science:
cache invalidation, naming things and off-by-one errors.

Reply via email to