unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Guix Home upstreaming plan
@ 2021-04-27  9:09 Andrew Tropin
  2021-04-30 12:32 ` Ludovic Courtès
  0 siblings, 1 reply; 6+ messages in thread
From: Andrew Tropin @ 2021-04-27  9:09 UTC (permalink / raw)
  To: ~abcdw/rde-devel, guix-devel

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


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Guix Home upstreaming plan
  2021-04-27  9:09 Guix Home upstreaming plan Andrew Tropin
@ 2021-04-30 12:32 ` Ludovic Courtès
  2021-05-01 19:28   ` Xinglu Chen
                     ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Ludovic Courtès @ 2021-04-30 12:32 UTC (permalink / raw)
  To: Andrew Tropin; +Cc: ~abcdw/rde-devel, guix-devel

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’.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Guix Home upstreaming plan
  2021-04-30 12:32 ` Ludovic Courtès
@ 2021-05-01 19:28   ` Xinglu Chen
  2021-05-02 21:02     ` Ludovic Courtès
  2021-05-03  8:13   ` Andrew Tropin
  2021-05-03  8:14   ` Andrew Tropin
  2 siblings, 1 reply; 6+ messages in thread
From: Xinglu Chen @ 2021-05-01 19:28 UTC (permalink / raw)
  To: Ludovic Courtès, Andrew Tropin; +Cc: ~abcdw/rde-devel, guix-devel

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


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Guix Home upstreaming plan
  2021-05-01 19:28   ` Xinglu Chen
@ 2021-05-02 21:02     ` Ludovic Courtès
  0 siblings, 0 replies; 6+ messages in thread
From: Ludovic Courtès @ 2021-05-02 21:02 UTC (permalink / raw)
  To: Xinglu Chen; +Cc: ~abcdw/rde-devel, guix-devel, Andrew Tropin

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’.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Guix Home upstreaming plan
  2021-04-30 12:32 ` Ludovic Courtès
  2021-05-01 19:28   ` Xinglu Chen
@ 2021-05-03  8:13   ` Andrew Tropin
  2021-05-03  8:14   ` Andrew Tropin
  2 siblings, 0 replies; 6+ messages in thread
From: Andrew Tropin @ 2021-05-03  8:13 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: ~abcdw/rde-devel, guix-devel

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!


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Guix Home upstreaming plan
  2021-04-30 12:32 ` Ludovic Courtès
  2021-05-01 19:28   ` Xinglu Chen
  2021-05-03  8:13   ` Andrew Tropin
@ 2021-05-03  8:14   ` Andrew Tropin
  2 siblings, 0 replies; 6+ messages in thread
From: Andrew Tropin @ 2021-05-03  8:14 UTC (permalink / raw)
  To: Xinglu Chen; +Cc: ~abcdw/rde-devel, guix-devel


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)


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2021-05-03  8:15 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-27  9:09 Guix Home upstreaming plan Andrew Tropin
2021-04-30 12:32 ` Ludovic Courtès
2021-05-01 19:28   ` Xinglu Chen
2021-05-02 21:02     ` Ludovic Courtès
2021-05-03  8:13   ` Andrew Tropin
2021-05-03  8:14   ` Andrew Tropin

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).