Transmission: Difference between revisions

imported>Jmarmstrong1207
m Added note of possible deletion for service config
Service configuration: GTK or QT packages are not required for the transmission systemd service. The default package is the CLI daemon.
 
(6 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{expansion}}
{{expansion}}
[https://transmissionbt.com/ Transmission] is a lightweight, open-source BitTorrent client for Linux that provides both GUI and command-line interfaces for efficient torrent downloading and seeding.
== Installation ==
Install by adding transmission_4-qt or transmission_4-gtk to your packages list
<syntaxHighlight lang=nix>
environment.systemPackages = with pkgs; [ transmission_4-qt ];
</syntaxHighlight>
<syntaxhighlight lang="nix">environment.systemPackages = with pkgs; [ transmission_4-gtk ];</syntaxhighlight>
Transmission 3 has been deprecated in the 25.05 channel and removed in favor of version 4 in the 25.11 channel onwards.
If you still rely on it, consider making a backup before upgrading to transmission 4.


== Service configuration ==
== Service configuration ==
{{note| This section was created in 2017 and this workaround may not be needed anymore for changing settings. This will stay until final confirmation occurs.}}
The transmission daemon can be enabled declaratively as a <code>systemd</code> service with the settings under <code>services.transmission.settings</code>. [https://search.nixos.org/options?type=packages&query=transmission.settings View the documentation for more info].
 
Note that <code>services.transmission.package</code> defaults to:


Changes to the configuration in the interface will not persist when the application is re-launched. <code>services.transmission.settings</code> is reset each time the service restarts.  
* <code>transmission_3</code> in the deprecated 25.05 channel
* <code>transmission_4</code> from 25.11 onwards


<blockquote>
Example:
Attribute set whos[e] fields overwrites fields in settings.json (each
<syntaxHighlight lang=nix>
time the service starts). String values must be quoted, integer and
services.transmission.settings = {
boolean values must not.
  download-dir = "${config.services.transmission.home}/Downloads";
</blockquote>
};
<cite>[https://github.com/NixOS/nixpkgs/blob/dd705fb45fd17c078522dedb76ee710ed4d3af4b/nixos/modules/services/torrent/transmission.nix#L64:L71 <nixpkgs>/nixos/modules/services/torrent/transmission.nix]</cite>


To persist changes, edit them, look at the <code>[services.transmission.home]/.config/transmission-daemon/settings.json</code> file generated for the setting keys and their values, and save them to <code>services.transmission.settings</code>
</syntaxHighlight>


=== Password-protected RPC ===
=== Password-protected RPC ===