Transmission

From NixOS Wiki
Revision as of 08:55, 19 February 2024 by imported>Jmarmstrong1207 (Add installation guide)

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 ];

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.

Changes to the configuration in the interface will not persist when the application is re-launched. services.transmission.settings is reset each time the service restarts.

Attribute set whos[e] fields overwrites fields in settings.json (each time the service starts). String values must be quoted, integer and boolean values must not.

<nixpkgs>/nixos/modules/services/torrent/transmission.nix

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

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)
    };
  };