mirror of
https://github.com/gensokyo-zone/infrastructure.git
synced 2026-02-10 04:49:19 -08:00
45 lines
1.3 KiB
Nix
45 lines
1.3 KiB
Nix
{ config, pkgs, lib, kw, ... }:
|
|
|
|
{
|
|
services.nginx.virtualHosts = kw.virtualHostGen {
|
|
networkFilter = [ "private" "yggdrasil" ];
|
|
block = {
|
|
locations."/transmission" = {
|
|
proxyPass = "http://[::1]:9091";
|
|
extraConfig = "proxy_pass_header X-Transmission-Session-Id;";
|
|
};
|
|
};
|
|
};
|
|
|
|
services.transmission =
|
|
let
|
|
transmission-done-script = pkgs.writeScriptBin "script" ''
|
|
#!${pkgs.bash}/bin/bash
|
|
set -e
|
|
if [ "$TR_TORRENT_DIR"/"$TR_TORRENT_NAME" != "/" ]; then
|
|
cd "$TR_TORRENT_DIR"/"$TR_TORRENT_NAME"
|
|
if [ ! -z "*.rar" ]; then
|
|
${pkgs.unrar}/bin/unrar x "*.rar"
|
|
fi
|
|
chmod ugo=rwX .
|
|
fi'';
|
|
in
|
|
{
|
|
enable = true;
|
|
home = "/mnt/zraw/transmission";
|
|
downloadDirPermissions = "777";
|
|
settings = {
|
|
download-dir = "/mnt/zraw/media/unsorted";
|
|
incomplete-dir = "/mnt/zraw/media/.incomplete";
|
|
incomplete-dir-enabled = true;
|
|
rpc-bind-address = "::";
|
|
rpc-whitelist-enabled = false;
|
|
rpc-host-whitelist-enabled = false;
|
|
script-torrent-done-enabled = true;
|
|
dht-enabled = true;
|
|
pex-enabled = true;
|
|
script-torrent-done-filename = "${transmission-done-script}/bin/script";
|
|
umask = 0;
|
|
};
|
|
};
|
|
}
|