From: Ian Eure <ian@retrospec.tv>
To: Skyler Ferris <skyvine@protonmail.com>
Cc: 69692@debbugs.gnu.org
Subject: [bug#69692] [PATCH] gnu: Add home-jellyfin-mpv-shim-service-type.
Date: Thu, 22 Aug 2024 07:57:28 -0700 [thread overview]
Message-ID: <87wmk838oz.fsf@meson> (raw)
In-Reply-To: <87v83ev84k.fsf@meson>
Hi Skyler,
Did you have any other thoughts or feedback on this patch? I’d
like to see this in Guix proper.
Thanks,
— Ian
Ian Eure <ian@retrospec.tv> writes:
> Hi Skyler,
>
> Sorry for the extremely delayed response here.
>
> Skyler Ferris <skyvine@protonmail.com> writes:
>
>> Hi Ian,
>>
>> I don't have the setup required to try running this service but
>> 2
>> things stand out to me when reading through it.
>>
>> On 3/9/24 21:24, Ian Eure wrote:
>>
>> +To enable, add this to your home services:
>> +
>> +@lisp
>> +(service home-jellyfin-mpv-shim-service-type #f)
>> +@end lisp
>>
>> You can add a default-value field to the service definition
>> like so:
>>
>> (define-public home-jellyfin-mpv-shim-service-type
>> (service-type
>> (name 'home-jellyfin-mpv-shim)
>> (default-value #f)
>> (extensions (list (service-extension
>> home-shepherd-service-type
>> jellyfin-mpv-shim-shepherd-service)
>> ;; Ensure 'home-x11-service-type' is
>> instantiated so we
>> ;; can depend on the Shepherd
>> 'x11-display'
>> service.
>> (service-extension home-x11-service-type
>> (const #t))))
>> (description "Run Jellyfin MPV Shim.")))
>> Then, users can simply use (service
>> home-jellyfish-mpv-shim-service-type) without having to specify
>> #f
>> manually And if the
>> service ever changes in the future and this value becomes
>> useful
>> then you can provide a reasonable default without requiring
>> users to change their
>> code. (https://guix.gnu.org/manual/en/html_node/Service-Reference.html)
>>
>
> Thank you for the suggestion, I’ll incorporate it and send a
> revised
> patch after we’re in agreement on the launch behavior.
>
>> +
>> +The service only starts if @code{jellyfin-mpv-shim} has been
>> configured with a remote server and credentials. This must be
>> done
>> manually, by launching @code{jellyfin-mpv-shim}. After
>> configuring
>> the server, the service will start automatically when you log
>> in.
>>
>> Would it make sense to launch this program automatically if it
>> is
>> not configured?
>>
>
> I don’t think it would. When it launches in an unconfigured
> state,
> you get a very generic "Server Configuration" window, with no
> icon or
> indication what server you’re configuring, or what for. It makes
> perfect sense if you run the program and that window appears,
> and not
> much sense at all if it just happens when you log in.
>
>
>> Presumably if someone adds the service then they want to
>> configure a
>> server.
>
> Agreed. However, configuring the server is a manual action, and
> it
> doesn’t feel burdensome to manually run the program to do
> it. There
> isn’t a good way to configure the remote server declaratively,
> since
> this process involves exchanging a username and password for an
> authentication token, which must be done over the network. You
> probably wouldn’t want to commit your auth token to a repo
> containing
> your home configuration, and Guix has no facility for securely
> handling things like this. So it has to be done by hand.
>
>
>> The value passed to the service could be used to specify
>> whether or
>> not the program should automatically launch so that users who
>> do not
>> want this behavior can disable it (note that if you decide to
>> implement this then the configuration value should be an
>> instance of
>> a new structure defined to store configuration for this
>> service, not
>> a simple boolean; again, this makes things easier in the future
>> so
>> that if you want to add more fields pre-existing code will
>> still
>> work).
>>
>
> Making auto-launch configurable doesn’t seem like a good idea to
> me.
> It would only ever apply to the very first launch, and wouldn’t
> significantly change the bounds of the problem. If the default
> is to
> launch unconfigured, you get the confusing behavior I want to
> avoid.
> If the default is to not launch unconfigured, I don’t think
> anyone
> would ever change that setting -- it’s be much easier to launch
> the
> program than to change the setting and `guix home reconfigure'.
>
> Thanks,
>
> — Ian
next prev parent reply other threads:[~2024-08-22 15:01 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-10 5:24 [bug#69692] [PATCH] gnu: Add home-jellyfin-mpv-shim-service-type Ian Eure
2024-03-18 22:14 ` Skyler Ferris via Guix-patches via
2024-05-16 1:27 ` Ian Eure
2024-08-22 14:57 ` Ian Eure [this message]
2024-09-08 23:10 ` [bug#69692] [PATCH v2 0/1] " Ian Eure
2024-09-08 23:10 ` [bug#69692] [PATCH v2 1/1] " Ian Eure
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=87wmk838oz.fsf@meson \
--to=ian@retrospec.tv \
--cc=69692@debbugs.gnu.org \
--cc=skyvine@protonmail.com \
/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).