add transmission module for downloads bt torrent
This commit is contained in:
		
							parent
							
								
									5b9845417f
								
							
						
					
					
						commit
						a0b2c41899
					
				
					 6 changed files with 92 additions and 0 deletions
				
			
		
							
								
								
									
										17
									
								
								flake.lock
									
										
									
										generated
									
									
									
								
							
							
						
						
									
										17
									
								
								flake.lock
									
										
									
										generated
									
									
									
								
							| 
						 | 
					@ -66,6 +66,22 @@
 | 
				
			||||||
        "type": "github"
 | 
					        "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": {
 | 
					    "crane": {
 | 
				
			||||||
      "locked": {
 | 
					      "locked": {
 | 
				
			||||||
        "lastModified": 1727974419,
 | 
					        "lastModified": 1727974419,
 | 
				
			||||||
| 
						 | 
					@ -1066,6 +1082,7 @@
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "root": {
 | 
					    "root": {
 | 
				
			||||||
      "inputs": {
 | 
					      "inputs": {
 | 
				
			||||||
 | 
					        "bt-tracker": "bt-tracker",
 | 
				
			||||||
        "dae": "dae",
 | 
					        "dae": "dae",
 | 
				
			||||||
        "disko": "disko",
 | 
					        "disko": "disko",
 | 
				
			||||||
        "firefox-addons": "firefox-addons",
 | 
					        "firefox-addons": "firefox-addons",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -70,6 +70,11 @@
 | 
				
			||||||
      url = "github:nix-community/disko";
 | 
					      url = "github:nix-community/disko";
 | 
				
			||||||
      inputs.nixpkgs.follows = "nixpkgs";
 | 
					      inputs.nixpkgs.follows = "nixpkgs";
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    bt-tracker = {
 | 
				
			||||||
 | 
					      url = "github:XIU2/TrackersListCollection";
 | 
				
			||||||
 | 
					      flake = false;
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
  outputs =
 | 
					  outputs =
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -37,6 +37,7 @@
 | 
				
			||||||
        unixName = "david";
 | 
					        unixName = "david";
 | 
				
			||||||
      };
 | 
					      };
 | 
				
			||||||
      open-webui.enable = true;
 | 
					      open-webui.enable = true;
 | 
				
			||||||
 | 
					      transmission.enable = true;
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
    gui.enabled = "cosmic";
 | 
					    gui.enabled = "cosmic";
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -28,6 +28,7 @@
 | 
				
			||||||
      ./kanata.nix
 | 
					      ./kanata.nix
 | 
				
			||||||
      ./kvm.nix
 | 
					      ./kvm.nix
 | 
				
			||||||
      ./open-webui.nix
 | 
					      ./open-webui.nix
 | 
				
			||||||
 | 
					      ./transmission.nix
 | 
				
			||||||
    ];
 | 
					    ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  config = {
 | 
					  config = {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										38
									
								
								nixos/modules/transmission.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								nixos/modules/transmission.nix
									
										
									
									
									
										Normal 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
									
								
							
							
						
						
									
										30
									
								
								secrets/transmission.yaml
									
										
									
									
									
										Normal 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
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue