unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* SSH service for Guix Home
@ 2021-12-15 17:59 Ludovic Courtès
  2021-12-16 15:43 ` Andrew Tropin
  2021-12-17 14:21 ` Xinglu Chen
  0 siblings, 2 replies; 8+ messages in thread
From: Ludovic Courtès @ 2021-12-15 17:59 UTC (permalink / raw)
  To: Andrew Tropin; +Cc: Guix Devel, Xinglu Chen

Hi Andrew,

One service I miss for Guix Home is ‘home-ssh-service-type’, which is in
the “original” Guix Home.

Could you contribute a patch adding it?  (I could do it on your behalf,
but it sounds more logical to let you handle it.)

Also, could you (or Xinglu, or Oleg) write a blog post for guix.gnu.org,
targeting an audience who’s not familiar with this kind of tool, making
it clear what the rationale is and what it can bring to “normal users”?
It would be really helpful to have that published within a couple of
weeks or so, before the next release.

Last, it’d be great to see the three of you (and more people!) back in
action regarding Guix Home.  I understand that life sometimes gets in
the way, but it seems that there’s been some confusion as to how to go
forward—e.g., <https://issues.guix.gnu.org/51359#2>—which may partly
explain why things stalled.  If there are patches waiting for review,
also don’t hesitate to ping!

Thanks,
Ludo’.


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

* Re: SSH service for Guix Home
  2021-12-15 17:59 SSH service for Guix Home Ludovic Courtès
@ 2021-12-16 15:43 ` Andrew Tropin
  2021-12-20 22:20   ` Ludovic Courtès
  2021-12-17 14:21 ` Xinglu Chen
  1 sibling, 1 reply; 8+ messages in thread
From: Andrew Tropin @ 2021-12-16 15:43 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: Guix Devel, Xinglu Chen

[-- Attachment #1: Type: text/plain, Size: 3716 bytes --]

On 2021-12-15 18:59, Ludovic Courtès wrote:

> Hi Andrew,
>

Hi Ludovic!

> One service I miss for Guix Home is ‘home-ssh-service-type’, which is
> in the “original” Guix Home.
>
> Could you contribute a patch adding it?  (I could do it on your behalf,
> but it sounds more logical to let you handle it.)

Yep, I'll try to do it soon.

>
> Also, could you (or Xinglu, or Oleg) write a blog post for guix.gnu.org,
> targeting an audience who’s not familiar with this kind of tool, making
> it clear what the rationale is and what it can bring to “normal users”?
> It would be really helpful to have that published within a couple of
> weeks or so, before the next release.

I have a blog post task in my backlog, I want to upstream more home
services before publishing the post.  It's not a blocker, but a nice
thing to have.  There is another ongoing work, which I would like to
finish before making a post.

Another option is to publish this post some time after 1.4.0 release, so
everything I want will be finished to that moment.  I don't see reasons
to hurry, so it's a viable alternative too.

>
> Last, it’d be great to see the three of you (and more people!) back in
> action regarding Guix Home.  I understand that life sometimes gets in
> the way, but it seems that there’s been some confusion as to how to go
> forward—e.g., <https://issues.guix.gnu.org/51359#2>—which may partly
> explain why things stalled.  If there are patches waiting for review,
> also don’t hesitate to ping!

I burnt out a little during upstreaming process, it was quite slow and
painful at the beginning and increased maintanance burden of rde for me.
A little too early merge + uncoordinated changes of basic primitives and
service configurations also hit me quite hard and forced to spend some
time bringing rde back to working state without going a step further.

I took a break and after that started to cleanup small Guix Home issues,
develop/improve home services in rde repo and finally started to work on
new rde features.  Still feel a little burnt out and I try not to do
worse.


Now to more technical details:

When I started to work on Guix Home I explored different system services
configurations and tried to extract some common patterns, it was
relatively hard, cause of implementation inconsistencies.  I wrote
notes, extracted most common patterns and come with some approach for
writing service configurations.  During development of Guix Home it was
slightly changed, but most of the home service implementations are
consistent.

gexp -> file-like change done in Guix repo for shell service
configurations and text-config type partially breaks the ideas I have
about how services should be implemented.

To continue upstreaming home services from rde to Guix I would like and
actually need to have an established style guide on how to write service
configurations to make sure service implementations are consistent.  I
started to write a manual section, which we can collectively review,
discuss and adjust it to get such a style guide.  Cause of burn out and
a lot of unrewarding monkey work I've done recently it's a little hard
to focus on this task, but I'll try to send first drafts to mailing list
soon.

So there is some work happening, but maybe not so visible.


Sorry for being not very active on ML recently, hope after core-updates
merged now you have a little more free time, so we can faster reach the
agreement on service implementation style guide and more people will be
able to contribute high quality services for both Guix System and Guix
Home.

-- 
Best regards,
Andrew Tropin

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 853 bytes --]

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

* Re: SSH service for Guix Home
  2021-12-15 17:59 SSH service for Guix Home Ludovic Courtès
  2021-12-16 15:43 ` Andrew Tropin
@ 2021-12-17 14:21 ` Xinglu Chen
  2021-12-20 10:40   ` Andrew Tropin
  2021-12-20 22:31   ` Ludovic Courtès
  1 sibling, 2 replies; 8+ messages in thread
From: Xinglu Chen @ 2021-12-17 14:21 UTC (permalink / raw)
  To: Ludovic Courtès, Andrew Tropin; +Cc: Guix Devel

[-- Attachment #1: Type: text/plain, Size: 1914 bytes --]

Hi,

On Wed, Dec 15 2021, Ludovic Courtès wrote:

> Hi Andrew,
>
> One service I miss for Guix Home is ‘home-ssh-service-type’, which is in
> the “original” Guix Home.
>
> Could you contribute a patch adding it?  (I could do it on your behalf,
> but it sounds more logical to let you handle it.)

Being the original author, I will hopefully try to work on it soon.  :-)

> Also, could you (or Xinglu, or Oleg) write a blog post for
> guix.gnu.org, targeting an audience who’s not familiar with this kind
> of tool, making it clear what the rationale is and what it can bring
> to “normal users”?  It would be really helpful to have that published
> within a couple of weeks or so, before the next release.

That sounds like a good idea, I would be happy to help!

> Last, it’d be great to see the three of you (and more people!) back in
> action regarding Guix Home.  I understand that life sometimes gets in
> the way, but it seems that there’s been some confusion as to how to go
> forward—e.g., <https://issues.guix.gnu.org/51359#2>—which may partly
> explain why things stalled.  If there are patches waiting for review,
> also don’t hesitate to ping!

Yeah, apologies for not being very active in the last few months.

I think one of the problems is that there is not really any style guide
for now to write services (I do have a WIP patch in my local tree that
will document most of (gnu services configuration) though :-)).  We also
lack a way to properly test home services; we would need something
similar to what Nix Home-manager has[1][2].

[1]: Nix code for configuring a program
<https://github.com/nix-community/home-manager/blob/master/tests/modules/programs/git/git.nix>
[2]: Expected content of the serialized configuration
<https://github.com/nix-community/home-manager/blob/master/tests/modules/programs/git/git-expected.conf>


[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 861 bytes --]

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

* Re: SSH service for Guix Home
  2021-12-17 14:21 ` Xinglu Chen
@ 2021-12-20 10:40   ` Andrew Tropin
  2021-12-22  7:42     ` Xinglu Chen
  2021-12-20 22:31   ` Ludovic Courtès
  1 sibling, 1 reply; 8+ messages in thread
From: Andrew Tropin @ 2021-12-20 10:40 UTC (permalink / raw)
  To: Xinglu Chen, Ludovic Courtès; +Cc: Guix Devel

[-- Attachment #1: Type: text/plain, Size: 2499 bytes --]

On 2021-12-17 15:21, Xinglu Chen wrote:

> Hi,
>
> On Wed, Dec 15 2021, Ludovic Courtès wrote:
>
>> Hi Andrew,
>>
>> One service I miss for Guix Home is ‘home-ssh-service-type’, which is in
>> the “original” Guix Home.
>>
>> Could you contribute a patch adding it?  (I could do it on your behalf,
>> but it sounds more logical to let you handle it.)
>
> Being the original author, I will hopefully try to work on it soon.  :-)
>

It works for me.  Would be very glad if you accomplish it.

>> Also, could you (or Xinglu, or Oleg) write a blog post for
>> guix.gnu.org, targeting an audience who’s not familiar with this kind
>> of tool, making it clear what the rationale is and what it can bring
>> to “normal users”?  It would be really helpful to have that published
>> within a couple of weeks or so, before the next release.
>
> That sounds like a good idea, I would be happy to help!
>

I will make a patch with skeleton of the post and will send it to you
and mailing list for review and discussion.  I think it is the easiest
way to cooperate on a blog post.

>> Last, it’d be great to see the three of you (and more people!) back in
>> action regarding Guix Home.  I understand that life sometimes gets in
>> the way, but it seems that there’s been some confusion as to how to go
>> forward—e.g., <https://issues.guix.gnu.org/51359#2>—which may partly
>> explain why things stalled.  If there are patches waiting for review,
>> also don’t hesitate to ping!
>
> Yeah, apologies for not being very active in the last few months.
>
> I think one of the problems is that there is not really any style guide
> for now to write services (I do have a WIP patch in my local tree that
> will document most of (gnu services configuration) though :-)).  We also
> lack a way to properly test home services; we would need something
> similar to what Nix Home-manager has[1][2].
>
> [1]: Nix code for configuring a program
> <https://github.com/nix-community/home-manager/blob/master/tests/modules/programs/git/git.nix>
> [2]: Expected content of the serialized configuration
> <https://github.com/nix-community/home-manager/blob/master/tests/modules/programs/git/git-expected.conf>
>

Yep, having a workflow for writing guix service's tests will be also
cool.  I see a few files in test/services/, but it doesn't seem to have
a well-established approach, just a few functional tests.

-- 
Best regards,
Andrew Tropin

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 853 bytes --]

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

* Re: SSH service for Guix Home
  2021-12-16 15:43 ` Andrew Tropin
@ 2021-12-20 22:20   ` Ludovic Courtès
  0 siblings, 0 replies; 8+ messages in thread
From: Ludovic Courtès @ 2021-12-20 22:20 UTC (permalink / raw)
  To: Andrew Tropin; +Cc: Guix Devel, Xinglu Chen

Hello!

Andrew Tropin <andrew@trop.in> skribis:

> On 2021-12-15 18:59, Ludovic Courtès wrote:

[...]

>> Also, could you (or Xinglu, or Oleg) write a blog post for guix.gnu.org,
>> targeting an audience who’s not familiar with this kind of tool, making
>> it clear what the rationale is and what it can bring to “normal users”?
>> It would be really helpful to have that published within a couple of
>> weeks or so, before the next release.
>
> I have a blog post task in my backlog, I want to upstream more home
> services before publishing the post.  It's not a blocker, but a nice
> thing to have.  There is another ongoing work, which I would like to
> finish before making a post.
>
> Another option is to publish this post some time after 1.4.0 release, so
> everything I want will be finished to that moment.  I don't see reasons
> to hurry, so it's a viable alternative too.

I think it’d be ideal to have the post before the release, so users know
what they’re getting.  :-)

It’s completely fine if there are still missing features, etc. IMO;
it’ll keep growing and there can be another post later.

> I burnt out a little during upstreaming process, it was quite slow and
> painful at the beginning and increased maintanance burden of rde for me.
> A little too early merge + uncoordinated changes of basic primitives and
> service configurations also hit me quite hard and forced to spend some
> time bringing rde back to working state without going a step further.
>
> I took a break and after that started to cleanup small Guix Home issues,
> develop/improve home services in rde repo and finally started to work on
> new rde features.  Still feel a little burnt out and I try not to do
> worse.

Oh I’m sorry to read that.  I certainly don’t want to add more on your
plate or to have you feel pressured to do more.

I think we can take our time on this; we can clarify in the manual and
announcement what it is that users are getting when the release is out.

(To be clear, the review process has been a burden on me too, and it’s a
strong commitment from the Guix maintainers going forward.)

[...]

> To continue upstreaming home services from rde to Guix I would like and
> actually need to have an established style guide on how to write service
> configurations to make sure service implementations are consistent.  I
> started to write a manual section, which we can collectively review,
> discuss and adjust it to get such a style guide.  Cause of burn out and
> a lot of unrewarding monkey work I've done recently it's a little hard
> to focus on this task, but I'll try to send first drafts to mailing list
> soon.

Yeah, there’s no style guide, but on the up side, there’s established
practice with system services that hopefully we can follow in most
cases.

Anyway, recovering from burnout and making sure it doesn’t happen again
should be the priority.

Thanks for your feedback,
Ludo’.


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

* Re: SSH service for Guix Home
  2021-12-17 14:21 ` Xinglu Chen
  2021-12-20 10:40   ` Andrew Tropin
@ 2021-12-20 22:31   ` Ludovic Courtès
  2021-12-22  7:43     ` Xinglu Chen
  1 sibling, 1 reply; 8+ messages in thread
From: Ludovic Courtès @ 2021-12-20 22:31 UTC (permalink / raw)
  To: Xinglu Chen; +Cc: Guix Devel, Andrew Tropin

Hi!

Xinglu Chen <public@yoctocell.xyz> skribis:

> On Wed, Dec 15 2021, Ludovic Courtès wrote:
>
>> Hi Andrew,
>>
>> One service I miss for Guix Home is ‘home-ssh-service-type’, which is in
>> the “original” Guix Home.
>>
>> Could you contribute a patch adding it?  (I could do it on your behalf,
>> but it sounds more logical to let you handle it.)
>
> Being the original author, I will hopefully try to work on it soon.  :-)

Neat.  :-)

[...]

>> Last, it’d be great to see the three of you (and more people!) back in
>> action regarding Guix Home.  I understand that life sometimes gets in
>> the way, but it seems that there’s been some confusion as to how to go
>> forward—e.g., <https://issues.guix.gnu.org/51359#2>—which may partly
>> explain why things stalled.  If there are patches waiting for review,
>> also don’t hesitate to ping!
>
> Yeah, apologies for not being very active in the last few months.

No, no need to apologize.

I think we need to come to a shared understanding of what the next steps
are.  Once we have that, we can clarify the current status in the manual
and release announcement, and open issues so that anyone who’d like to
contribute knows where to look at.

> I think one of the problems is that there is not really any style guide
> for now to write services (I do have a WIP patch in my local tree that
> will document most of (gnu services configuration) though :-)).

I see you’ve sent it in the meantime, neat!

> We also lack a way to properly test home services; we would need
> something similar to what Nix Home-manager has[1][2].
>
> [1]: Nix code for configuring a program
> <https://github.com/nix-community/home-manager/blob/master/tests/modules/programs/git/git.nix>
> [2]: Expected content of the serialized configuration
> <https://github.com/nix-community/home-manager/blob/master/tests/modules/programs/git/git-expected.conf>

OK.  Given that ‘define-configuration’ works at a “meta” level, I wonder
if we could have tests that are less boring than this.

Thanks,
Ludo’.


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

* Re: SSH service for Guix Home
  2021-12-20 10:40   ` Andrew Tropin
@ 2021-12-22  7:42     ` Xinglu Chen
  0 siblings, 0 replies; 8+ messages in thread
From: Xinglu Chen @ 2021-12-22  7:42 UTC (permalink / raw)
  To: Andrew Tropin, Ludovic Courtès; +Cc: Guix Devel

[-- Attachment #1: Type: text/plain, Size: 2306 bytes --]

Hi,

Am Montag, der 20. Dezember 2021, um 13:40 +03, schrieb Andrew Tropin <andrew@trop.in>:

>>> Also, could you (or Xinglu, or Oleg) write a blog post for
>>> guix.gnu.org, targeting an audience who’s not familiar with this kind
>>> of tool, making it clear what the rationale is and what it can bring
>>> to “normal users”?  It would be really helpful to have that published
>>> within a couple of weeks or so, before the next release.
>>
>> That sounds like a good idea, I would be happy to help!
>>
>
> I will make a patch with skeleton of the post and will send it to you
> and mailing list for review and discussion.  I think it is the easiest
> way to cooperate on a blog post.

Cool, looking forward to it!

>>> Last, it’d be great to see the three of you (and more people!) back in
>>> action regarding Guix Home.  I understand that life sometimes gets in
>>> the way, but it seems that there’s been some confusion as to how to go
>>> forward—e.g., <https://issues.guix.gnu.org/51359#2>—which may partly
>>> explain why things stalled.  If there are patches waiting for review,
>>> also don’t hesitate to ping!
>>
>> Yeah, apologies for not being very active in the last few months.
>>
>> I think one of the problems is that there is not really any style guide
>> for now to write services (I do have a WIP patch in my local tree that
>> will document most of (gnu services configuration) though :-)).  We also
>> lack a way to properly test home services; we would need something
>> similar to what Nix Home-manager has[1][2].
>>
>> [1]: Nix code for configuring a program
>> <https://github.com/nix-community/home-manager/blob/master/tests/modules/programs/git/git.nix>
>> [2]: Expected content of the serialized configuration
>> <https://github.com/nix-community/home-manager/blob/master/tests/modules/programs/git/git-expected.conf>
>>
>
> Yep, having a workflow for writing guix service's tests will be also
> cool.  I see a few files in test/services/, but it doesn't seem to have
> a well-established approach, just a few functional tests.

Most of the service tests seem to be in tests/, e.g., tests/ssh.scm.
But since they are tests for system service, they create a VM, which is
usually overkill for testing home services.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 861 bytes --]

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

* Re: SSH service for Guix Home
  2021-12-20 22:31   ` Ludovic Courtès
@ 2021-12-22  7:43     ` Xinglu Chen
  0 siblings, 0 replies; 8+ messages in thread
From: Xinglu Chen @ 2021-12-22  7:43 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: Guix Devel, Andrew Tropin

[-- Attachment #1: Type: text/plain, Size: 1678 bytes --]

Hi,

Am Montag, der 20. Dezember 2021, um 23:31 +012, schrieb Ludovic Courtès <ludo@gnu.org>:

> I think we need to come to a shared understanding of what the next steps
> are.  Once we have that, we can clarify the current status in the manual
> and release announcement, and open issues so that anyone who’d like to
> contribute knows where to look at.

Yeah, maybe we could create a bug report listing all the things that
should be done/fixed before we start adding too many new home services?

>> I think one of the problems is that there is not really any style guide
>> for now to write services (I do have a WIP patch in my local tree that
>> will document most of (gnu services configuration) though :-)).
>
> I see you’ve sent it in the meantime, neat!

Andrew also sent a patch that provides some guidelines for how to write
services[1], in case you haven’t seen it already.

>> We also lack a way to properly test home services; we would need
>> something similar to what Nix Home-manager has[1][2].
>>
>> [1]: Nix code for configuring a program
>> <https://github.com/nix-community/home-manager/blob/master/tests/modules/programs/git/git.nix>
>> [2]: Expected content of the serialized configuration
>> <https://github.com/nix-community/home-manager/blob/master/tests/modules/programs/git/git-expected.conf>
>
> OK.  Given that ‘define-configuration’ works at a “meta” level, I wonder
> if we could have tests that are less boring than this.

What exactly do you mean by “meta” level?  Do you have anything
particular in mind regarding the tests?

[1]: <https://yhetil.org/guix-patches/87h7b2b6n3.fsf@trop.in/>

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 861 bytes --]

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

end of thread, other threads:[~2021-12-22  7:50 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-15 17:59 SSH service for Guix Home Ludovic Courtès
2021-12-16 15:43 ` Andrew Tropin
2021-12-20 22:20   ` Ludovic Courtès
2021-12-17 14:21 ` Xinglu Chen
2021-12-20 10:40   ` Andrew Tropin
2021-12-22  7:42     ` Xinglu Chen
2021-12-20 22:31   ` Ludovic Courtès
2021-12-22  7:43     ` Xinglu Chen

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