unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Sergey Trofimov <sarg@sarg.org.ru>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: paren@disroot.org, 62401@debbugs.gnu.org, andrew@trop.in
Subject: [bug#62401] [PATCH] home: Add home-syncthing-service-type.
Date: Tue, 28 Mar 2023 21:29:15 +0200	[thread overview]
Message-ID: <87ilek64p4.fsf@sarg.org.ru> (raw)
In-Reply-To: <87o7ocg960.fsf@gnu.org>


Hi Ludovic,

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

> Hi,
>
> Sergey Trofimov <sarg@sarg.org.ru> skribis:
>
>> * gnu/home/services/syncthing.scm
>> (home-syncthing-service-type): New variable.
>> (home-syncthing-configuration): New procedure.
>> * gnu/services/syncthing.scm
>> (syncthing-shepherd-service): Adapt to be used as a home 
>> service.
>> * doc/guix.texi: Ditto.
>
> Nice!
>
> Note: You can just say “New file” for a new file; however please 
> specify
> the name of the node added to the manual, for clarity.

So it looks like this?
--8<---------------cut here---------------start------------->8---
* gnu/home/services/syncthing.scm: New file.
* doc/guix.texi: Document home-syncthing-service-type and
home-syncthing-configuration.
--8<---------------cut here---------------end--------------->8---

>> +(define syncthing-home-shepherd-service
>> +  (lambda (configuration)
>> +    (map (lambda (srv) (shepherd-service (inherit srv) 
>> (requirement '())))
>> +         ((@@ (gnu services syncthing) 
>> syncthing-shepherd-service) configuration))))
>
> You could do that without resorting to @@, by using ‘find’ on 
> the
> extensions of ‘syncthing-service-type’.

Not sure I get you. I use @@ because `syncthing-shepherd-service` 
is not exported and I want to leave that as is.

>> diff --git a/gnu/services/syncthing.scm 
>> b/gnu/services/syncthing.scm
>> index 7c3d5b027d..960f0a1db8 100644
>> --- a/gnu/services/syncthing.scm
>> +++ b/gnu/services/syncthing.scm
>> @@ -43,8 +43,7 @@ (define-record-type* 
>> <syncthing-configuration>
>>               (default '()))
>>    (logflags  syncthing-configuration-logflags  ;number
>>               (default 0))
>> -  (user      syncthing-configuration-user      ;string
>> -             (default #f))
>> +  (user      syncthing-configuration-user)     ;string
>
> This means that users of ‘syncthing-service-type’ will now have 
> to
> provide a value for ‘user’, which wasn’t the case until now.  Is 
> this
> change necessary?
>

The existing code fails on this line, when the user is not 
specified:
--8<---------------cut here---------------start------------->8---
(provision (list (string->symbol (string-append "syncthing-" 
user))))
--8<---------------cut here---------------end--------------->8---

string-append doesn't accept nil args

>
> The rest looks reasonable to me.  My main concern is whether it 
> would
> make sense to automate system->home service translation.  I’ll 
> expand on
> that separately.

Does guix really need a system syncthing service? It runs under 
`user`, looks for configuration in `/home/user` and therefore 
looks out of place in the system services list.




  reply	other threads:[~2023-03-28 19:46 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-23  8:10 [bug#62401] [PATCH] home: Add home-syncthing-service-type Sergey Trofimov
2023-03-28 15:58 ` Ludovic Courtès
2023-03-28 19:29   ` Sergey Trofimov [this message]
2023-03-29 16:35     ` Bruno Victal
     [not found] ` <87edp8g88j.fsf@gnu.org>
     [not found]   ` <07fc2e40-7e23-a7cb-469d-95aae6614ff5@makinata.eu>
2023-08-07  9:50     ` Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87ilek64p4.fsf@sarg.org.ru \
    --to=sarg@sarg.org.ru \
    --cc=62401@debbugs.gnu.org \
    --cc=andrew@trop.in \
    --cc=ludo@gnu.org \
    --cc=paren@disroot.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).