Jump to content

Transmission: Difference between revisions

From Official NixOS Wiki
Granddave (talk | contribs)
Add application introduction
Installation: Removed mentions of transmission 3 due to deprecation and removal in active channels
Line 9: Line 9:
<syntaxhighlight lang="nix">environment.systemPackages = with pkgs; [ transmission_4-gtk ];</syntaxhighlight>
<syntaxhighlight lang="nix">environment.systemPackages = with pkgs; [ transmission_4-gtk ];</syntaxhighlight>


If you want to configure the settings declaratively with within configuration.nix, you will have to instead install transmission-qt or transmission-gtk. Do note that this is using version 3.0.0 instead of version 4.
Transmission 3 has been deprecated in the 25.05 channel and removed in favor of version 4 in the 25.11 channel onwards.
<syntaxHighlight lang=nix>
If you still rely on it, consider making a backup before upgrading to transmission 4.
environment.systemPackages = with pkgs; [ transmission-qt ];
</syntaxHighlight>
<syntaxHighlight lang=nix>
environment.systemPackages = with pkgs; [ transmission-gtk ];
</syntaxHighlight>


== Service configuration ==
== Service configuration ==

Revision as of 02:44, 15 December 2025

☶︎
This article or section needs to be expanded. Further information may be found in the related discussion page. Please consult the pedia article metapage for guidelines on contributing.

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

environment.systemPackages = with pkgs; [ transmission_4-qt ];
environment.systemPackages = with pkgs; [ transmission_4-gtk ];

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

You can declaratively change the settings via Nix by modifying services.transmission.settings. View the documentation for more info. Like the previous section has said before, you'll have to use the nixpkgs transmission-gtk or transmission-qt for this to work.

Example:

services.transmission.settings = {
  download-dir = "${config.services.transmission.home}/Downloads";
};

Password-protected RPC

The default method of editing the configuration and restarting the daemon will not work because of the way the configuration is handled. It is however possible to once set it in clear in the settings, and then copy the generated hash to the setting, removing the in-clear copy from the configuration.

Example: allow remote access

To control the daemon remotely, put the following lines in your /etc/nixos/configuration.nix:

services.transmission = { 
    enable = true; #Enable transmission daemon
    openRPCPort = true; #Open firewall for RPC
    settings = { #Override default settings
      rpc-bind-address = "0.0.0.0"; #Bind to own IP
      rpc-whitelist = "127.0.0.1,10.0.0.1"; #Whitelist your remote machine (10.0.0.1 in this example)
    };
  };