Transmission: Difference between revisions

imported>Jmarmstrong1207
Add installation guide
Service configuration: GTK or QT packages are not required for the transmission systemd service. The default package is the CLI daemon.
 
(5 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 ==
== Installation ==
Install by adding transmission_4-qt or transmission_4-gtk to your packages list
Install by adding transmission_4-qt or transmission_4-gtk to your packages list
Line 5: Line 7:
environment.systemPackages = with pkgs; [ transmission_4-qt ];
environment.systemPackages = with pkgs; [ transmission_4-qt ];
</syntaxHighlight>
</syntaxHighlight>
<syntaxHighlight lang=nix>
<syntaxhighlight lang="nix">environment.systemPackages = with pkgs; [ transmission_4-gtk ];</syntaxhighlight>
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].


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.
Note that <code>services.transmission.package</code> defaults to:


<blockquote>
* <code>transmission_3</code> in the deprecated 25.05 channel
Attribute set whos[e] fields overwrites fields in settings.json (each
* <code>transmission_4</code> from 25.11 onwards
time the service starts). String values must be quoted, integer and
boolean values must not.
</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>
Example:
<syntaxHighlight lang=nix>
services.transmission.settings = {
  download-dir = "${config.services.transmission.home}/Downloads";
};
 
</syntaxHighlight>


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