add transmission module for downloads bt torrent

This commit is contained in:
ulic-youthlic 2025-01-24 17:06:45 +08:00
parent 5611e67d44
commit fd2fe39655
Signed by: youthlic
GPG key ID: 63E86C3C14A0D721
6 changed files with 92 additions and 0 deletions

17
flake.lock generated
View file

@ -66,6 +66,22 @@
"type": "github"
}
},
"bt-tracker": {
"flake": false,
"locked": {
"lastModified": 1737706116,
"narHash": "sha256-jMrl9cy/1vlJgpljPG0jGlnlGSfCdseKe14guF/EMPo=",
"owner": "XIU2",
"repo": "TrackersListCollection",
"rev": "d56981366bbe7ce97655111d0b8db5b1b91d4540",
"type": "github"
},
"original": {
"owner": "XIU2",
"repo": "TrackersListCollection",
"type": "github"
}
},
"crane": {
"locked": {
"lastModified": 1727974419,
@ -1066,6 +1082,7 @@
},
"root": {
"inputs": {
"bt-tracker": "bt-tracker",
"dae": "dae",
"disko": "disko",
"firefox-addons": "firefox-addons",

View file

@ -70,6 +70,11 @@
url = "github:nix-community/disko";
inputs.nixpkgs.follows = "nixpkgs";
};
bt-tracker = {
url = "github:XIU2/TrackersListCollection";
flake = false;
};
};
outputs =
{

View file

@ -37,6 +37,7 @@
unixName = "david";
};
open-webui.enable = true;
transmission.enable = true;
};
gui.enabled = "cosmic";
};

View file

@ -28,6 +28,7 @@
./kanata.nix
./kvm.nix
./open-webui.nix
./transmission.nix
];
config = {

View file

@ -0,0 +1,38 @@
{
pkgs,
config,
lib,
inputs,
rootPath,
...
}:
let
cfg = config.youthlic.programs.transmission;
in
{
options = {
youthlic.programs.transmission = {
enable = lib.mkEnableOption "transmission";
};
};
config = lib.mkIf cfg.enable {
users.groups."${config.services.transmission.group}".members = [
config.youthlic.home-manager.unixName
];
sops.secrets."transmission-config" = {
sopsFile = rootPath + "/secrets/transmission.yaml";
};
services.transmission = {
enable = true;
package = pkgs.transmission_4;
settings = {
utp-enabled = true;
watch-dir-enabled = true;
default-trackers = builtins.readFile "${inputs.bt-tracker}/all.txt";
};
openRPCPort = true;
openPeerPorts = true;
credentialsFile = "${config.sops.secrets.transmission-config.path}";
};
};
}

30
secrets/transmission.yaml Normal file
View file

@ -0,0 +1,30 @@
transmission-config: ENC[AES256_GCM,data:SlEGhKDvHW66Tg5TGkxhpNscJsncT4QK7kKwqxQu3mWn5PTEf9BohpN1fZ3fvTxkBOEvYkwRzP+9yUnlFjFwEve2WUcfFuX6tdpBueChcyzn5WB38rlgRlUwL07agaHVv3ZXEtX6L/h7hml8fWfh9240uej9,iv:sXY0AIyfQ1Q5wtu1mxESmd9QPgUPSMetikctSO7bDrw=,tag:sYo8DlURb2rW8qdPvCpd1A==,type:str]
sops:
kms: []
gcp_kms: []
azure_kv: []
hc_vault: []
age:
- recipient: age1smmqun9h3cszaza85ty33yenyaqtat572u9r3we4l5gh85njgvws6q680g
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSByNUJGTHV3Nkd3NmFkUEVm
OTJjSG00eVAwRTlQUHk3THgvczRYQlhkK1M0ClFHZDVBVWRnMytIQ1JOMDVhZWpr
QkV5YVQ1dEo1cFRBSVEySUZQNnVTQ00KLS0tIHhMTVRaY3lCL1pXL0NGbkdEVzBu
ZkVpNCtnWFdodHFYbWhFWTVsbGZ3N2cKz8+iOr5Jpg7r+fZrmEfv7GT+U9GGYFsA
uwLrJBYkyh+nS0KpgK/II3xBW+OLK//Q4qXhX2xNR3PrCEyYNepWyg==
-----END AGE ENCRYPTED FILE-----
- recipient: age1emhsx2l0ell6smavzaackwkk7n2u4zf6chdp9xcds3dqp7s444ds9fcaga
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBUNmQxU04yYWdKdFJqaUQ1
UkE4Ykt5UmJESVB3NnZpS1d4VmlNSjZVK2xnCmo0SEJQM28vWWd3enhDRFZxRmRZ
aEpDa05vZmthY0FHR0djaGpBc2l4cTgKLS0tIHIvRUh0aTJqdFc4eHE2ZFJCRmJY
S21ySVFCWTlPQUZXci90RjY3QnhmaVkKk5et+gjlm7m/llWru16Lomx2cSLvgFBc
mUFUECsaOgTTLoCBj7fS/tPH94kXj4+vk/2OwihOWX6lSyKfkGtuRg==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2025-01-24T08:58:17Z"
mac: ENC[AES256_GCM,data:YJPmgWY0U8xEauUnVIjOqwZkSFRYWCcn/HbmS4M2ZFlblM7GkMJAqrDhZIlKUlUbsDtoUKRZH/DmUNj6jB8ejabUE1psu0eOvdP5svoMhGJf7JMkEWiLikqpw9eadt8FdidKjPjTGR0G4oSq+vdbFy2TsKjhyHuab8cLCm3MfkY=,iv:SrviiLHDTjgpr5588suDbF7Pfw3yhnCmz4x0FSvzypo=,tag:2WP8wLsT/iANcbisRmp9mA==,type:str]
pgp: []
unencrypted_suffix: _unencrypted
version: 3.9.3