[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#69781] [PATCH v2] services: Add the Guix Home Service
From: |
Richard Sent |
Subject: |
[bug#69781] [PATCH v2] services: Add the Guix Home Service |
Date: |
Mon, 29 Apr 2024 11:21:44 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Hi Ludo!
Ludovic Courtès <ludo@gnu.org> writes:
> Ludovic Courtès <ludo@gnu.org> skribis:
>
> Silly me: I was using ‘home-service-type’ instead of
> ‘guix-home-service-type’. 🤦
>
> (Interestingly, this has no effect at all, but nothing complained,
> either.)
>
> Works like a charm after switching to ‘guix-home-service-type’! :-)
Thanks for the response! I just started investigating that and was close
to entering the "losing my mind" phase of debugging. Glad to hear it
does in fact work!
>> 2. ‘guix home describe’ isn’t prepared to deal with that: it returns
>> information from the last
>> /var/guix/profiles/per-user/$USER/guix-home-*.
>
> That issue remains, but it’s less of a problem.
There are definitely some potential issues when running certain 'guix
home ...' commands that operate on generations while using
'guix-home-service. The "correct" behavior may not always be obvious
either. For example:
1. 'guix-home-service' reactivates the same home environment every time
the service is launched. If generations are created, how should that be
reflected if the user has a home environment activated by
'guix-home-service' (generation A), runs 'guix home reconfigure'
(generation B), and reboots? Consider it a silent roll back to A? Should
B be marked a garbage collection candidate? Or should generation C be
created?
2. Users may try 'guix home roll-back' or 'switch-generations', thinking
the change is persistent. Should this be transient? Or should the change
be made persistent somehow? (I'm strongly in favor of "transient", but I
figured I'd raise the point.)
I think this approach is best:
1. Create a new home generation when 'guix system reconfigure' and
'guix-home-service' are used.
2. Make 'guix home reconfigure', 'switch-generations', and 'roll-back'
all warn that the changes are temporary.
3. Disable 'guix home delete-generations' on any system-created home
generations. System-created home generations are deleted when the
corresponding system generation is deleted.
4. Adjust 'guix home list-generations' and 'describe' to indicate if a
home generation came from a particular system generation.
As for how to accomplish this or how feasible it is? No clue.
--
Take it easy,
Richard Sent
Making my computer weirder one commit at a time.