~abcdw/rde-devel

5 3

Guix Home upstreaming plan

Details
Message ID
<871raw856c.fsf@trop.in>
DKIM signature
missing
Download raw message
There is a goal[0] to make Guix Home[1] a part of GNU Guix.  It will reduce
the duplications between projects, increase integrity and will provide
Guix users with a missing tool for declarative configuration of home
environments improving out of the box experience and allowing Guix users
on foreign distros to have Guix System-like experience.

The outline of before upstreaming checklist looks like:
* [done]        Implement a `guix home` utility and essential services.
* [in-progress] Implement a complete home environment with it [2].
* [in-progress] Run Early Adopters program, gather feedback.
* [done]        Write documentation [3].
* [in-progress] Generate documentation for each home service.
* [in-progress] Test a complete home environment on foreign distro.
* [todo]        Add tests for complex serializers and essential functions.

I don't expect upstreaming process to be fast, it will require a lot of
time for review and probably changes after review and it seems logical
to start it early, even before checklist is complete.  Also, I don't
want to replicate documenting and testing infrastracture and that is why
we will be adding docs and tests directly to guix repo (for now it's [4]),
while moving the code from rde project.

We still cleaning up things, but I hope that we can start sending
patches in a week or two.  I expect it to be a few patch series.

civodul, can we create a separate guix-home branch to work against it?

Dear Maintainers, please, let me know what you think.


[0]: https://lists.gnu.org/archive/html/guix-devel/2021-03/msg00167.html

[1]: https://sr.ht/~abcdw/rde

[2]: Complete home environment in this context is a configured and
integrated minimalistic set of apps: window manager/compositor, text
editor, vcs, mail client, web browser, key and password managers, shell.

[3]: https://guix-home.trop.in/Home-Configuration.html#Home-Configuration

[4]: https://git.sr.ht/~abcdw/guix

--
Best regards,
Andrew Tropin
Ludovic Courtès
Details
Message ID
<87o8dwdkc0.fsf@gnu.org>
In-Reply-To
<871raw856c.fsf@trop.in> (view parent)
DKIM signature
missing
Download raw message
Hi Andrew,

Andrew Tropin <andrew@trop.in> skribis:

> There is a goal[0] to make Guix Home[1] a part of GNU Guix.  It will reduce
> the duplications between projects, increase integrity and will provide
> Guix users with a missing tool for declarative configuration of home
> environments improving out of the box experience and allowing Guix users
> on foreign distros to have Guix System-like experience.

So, I have yet to go ahead and use it for myself to get a better feel.
In the meantime, I looked at
<https://guix-home.trop.in/Home-Configuration.html>, and I like what I
see!  It’s great that you already have clear documentation and that
everything looks consistent with the rest of Guix.

Since this kind of tool is rather unusual (there’s no real equivalent
I’m aware of in other distros), I think the manual will have to
carefully explain what problems this solves and explain why someone
would want to use it.  For example, I think the term “home environment”
should be defined upfront (I’d summarize it as user configuration files
+ user services, from my reading.)

> civodul, can we create a separate guix-home branch to work against it?

I’m all for it.  We’ll have to discuss it together, in particular among
maintainers, but an option would be to give you commit access for the
purposes of developing this branch.

I would also like to know what Julien thinks; I think it’s in our
interest to see cooperation and not competition between the two
approaches you developed.  Julien, WDYT of the plan?  More specifically,
is there anything about the design that you’d like to discuss before we
go further?  Are there guix-home-manager features that could eventually
make it in Guix Home?

I find the steady progress on Guix Home and the level of polish already
achieved pretty exciting.  If people agree, I think we could aim for
merging it in the next Guix release, which would leave us a few months.

Thank you!

Ludo’.
Details
Message ID
<87k0oii78l.fsf@yoctocell.xyz>
In-Reply-To
<87o8dwdkc0.fsf@gnu.org> (view parent)
DKIM signature
pass
Download raw message
Hi,

On Fri, Apr 30 2021, Ludovic Courtès wrote:

> Hi Andrew,
>
> Andrew Tropin <andrew@trop.in> skribis:
>
>> There is a goal[0] to make Guix Home[1] a part of GNU Guix.  It will reduce
>> the duplications between projects, increase integrity and will provide
>> Guix users with a missing tool for declarative configuration of home
>> environments improving out of the box experience and allowing Guix users
>> on foreign distros to have Guix System-like experience.
>
> So, I have yet to go ahead and use it for myself to get a better feel.
> In the meantime, I looked at
> <https://guix-home.trop.in/Home-Configuration.html>, and I like what I
> see!

There is also a development mailing list[1] if you want to get a better
idea of what’s currently cooking. :)

> Since this kind of tool is rather unusual (there’s no real equivalent
> I’m aware of in other distros)

Nix Home Manager[2] is very similar to Guix Home, it allows for the same
kind of declarative configuration as Guix Home, but using Nix.  I have
been using and hacking on Guix Home on NixOS and it’s getting closer to
replacing Nix Home Manager for me. :)

> I think the manual will have to carefully explain what problems this
> solves and explain why someone would want to use it.  For example, I
> think the term “home environment” should be defined upfront (I’d
> summarize it as user configuration files + user services, from my
> reading.)

Plus user packages and state management, e.g. automatically cloning Git
repositories the user has declared in their config.scm, or periodically
rsync’ing some files with a remote host.

> If people agree, I think we could aim for merging it in the next Guix
> release, which would leave us a few months.

To clarify, do you mean v1.3.0 or v1.4.0 (or whatever it’s going to be
called)?  IIUC v1.3.0 is going to be released in a few weeks (rc1 was
just announced), that might not be enough time for merging Guix Home as
the API for some of the core services are still subject to change.  WDYT
Andrew?

[1]: https://lists.sr.ht/~abcdw/rde-devel
[2]: https://github.com/nix-community/home-manager
Ludovic Courtès
Details
Message ID
<877dkg4znj.fsf@gnu.org>
In-Reply-To
<87k0oii78l.fsf@yoctocell.xyz> (view parent)
DKIM signature
missing
Download raw message
Hi,

Xinglu Chen <public@yoctocell.xyz> skribis:

> On Fri, Apr 30 2021, Ludovic Courtès wrote:

[...]

>> Since this kind of tool is rather unusual (there’s no real equivalent
>> I’m aware of in other distros)
>
> Nix Home Manager[2] is very similar to Guix Home, it allows for the same
> kind of declarative configuration as Guix Home, but using Nix.  I have
> been using and hacking on Guix Home on NixOS and it’s getting closer to
> replacing Nix Home Manager for me. :)

Ah sure, I’ve heard about this one.  By “other distros” I really meant
the “traditional” distros.  :-)

>> I think the manual will have to carefully explain what problems this
>> solves and explain why someone would want to use it.  For example, I
>> think the term “home environment” should be defined upfront (I’d
>> summarize it as user configuration files + user services, from my
>> reading.)
>
> Plus user packages and state management, e.g. automatically cloning Git
> repositories the user has declared in their config.scm, or periodically
> rsync’ing some files with a remote host.

Right!

>> If people agree, I think we could aim for merging it in the next Guix
>> release, which would leave us a few months.
>
> To clarify, do you mean v1.3.0 or v1.4.0 (or whatever it’s going to be
> called)?  IIUC v1.3.0 is going to be released in a few weeks (rc1 was
> just announced), that might not be enough time for merging Guix Home as
> the API for some of the core services are still subject to change.  WDYT
> Andrew?

I meant 1.4.0 (or whatever it’ll be called).

Thanks!

Ludo’.
Details
Message ID
<87bl9snskq.fsf@trop.in>
In-Reply-To
<87o8dwdkc0.fsf@gnu.org> (view parent)
DKIM signature
missing
Download raw message
Hi Ludovic, 

Ludovic Courtès <ludo@gnu.org> wrote:

> So, I have yet to go ahead and use it for myself to get a better feel.
> In the meantime, I looked at
> <https://guix-home.trop.in/Home-Configuration.html>, and I like what I
> see!  It’s great that you already have clear documentation and that
> everything looks consistent with the rest of Guix.

> Since this kind of tool is rather unusual (there’s no real equivalent
> I’m aware of in other distros), I think the manual will have to
> carefully explain what problems this solves and explain why someone
> would want to use it.  For example, I think the term “home environment”
> should be defined upfront (I’d summarize it as user configuration files
> + user services, from my reading.)

Sounds reasonable, added a TODO note for that.

> I’m all for it.  We’ll have to discuss it together, in particular among
> maintainers, but an option would be to give you commit access for the
> purposes of developing this branch.

Sound good to me.  We still have some work to be finished before
upstreaming, but hope we will be good to go by the time other
maintainers will reply.

> I would also like to know what Julien thinks; I think it’s in our
> interest to see cooperation and not competition between the two
> approaches you developed.  Julien, WDYT of the plan?  More specifically,
> is there anything about the design that you’d like to discuss before we
> go further?  Are there guix-home-manager features that could eventually
> make it in Guix Home?

BTW, from time to time people ask about read-only home feature) I reply
that it is theoretically possible, but probably won't be implemented
anytime soon.

> I find the steady progress on Guix Home and the level of polish already
> achieved pretty exciting.  If people agree, I think we could aim for
> merging it in the next Guix release, which would leave us a few months.

Thank you for kind words!)  A few months should be enough.  Looking
forward to see other maintainers thoughts.

> Thank you!

Sure!
Details
Message ID
<87a6pcnsi0.fsf@trop.in>
In-Reply-To
<87o8dwdkc0.fsf@gnu.org> (view parent)
DKIM signature
missing
Download raw message
Xinglu Chen <public@yoctocell.xyz> wrote:

> WDYT Andrew?

As I said, a few months should be enough, but I hope we will accomplish
it faster)
Reply to thread Export thread (mbox)