diff --git a/home/programs/deploy-rs.nix b/home/programs/deploy-rs.nix index 36d6fe13..b4adc84f 100644 --- a/home/programs/deploy-rs.nix +++ b/home/programs/deploy-rs.nix @@ -1 +1,8 @@ -{pkgs, ...}: {home.packages = [pkgs.deploy-rs.deploy-rs];} +{ + pkgs, + lib, + device, + ... +}: { + home.packages = lib.optionals (device.is "ryu") [pkgs.deploy-rs.deploy-rs]; +} diff --git a/home/services/ironclaw.nix b/home/services/ironclaw.nix index acb755d2..fe8396e1 100644 --- a/home/services/ironclaw.nix +++ b/home/services/ironclaw.nix @@ -1,5 +1,12 @@ -{pkgs, ...}: { - home.packages = [ - pkgs.ironclaw - ]; +{ + pkgs, + lib, + device, + ... +}: { + home.packages = + lib.optionals (device.is "ryu") + [ + pkgs.ironclaw + ]; } diff --git a/nixos/tako/services/homepage.nix b/nixos/tako/services/homepage.nix index 518cf4f2..360ee596 100644 --- a/nixos/tako/services/homepage.nix +++ b/nixos/tako/services/homepage.nix @@ -59,6 +59,14 @@ siteMonitor = "https://deluge.tsuba.darksailor.dev"; }; } + { + "Aria2" = { + icon = "aria2.png"; + description = "Aria2: Download Manager"; + href = "https://aria2.tsuba.darksailor.dev"; + siteMonitor = "https://aria2.tsuba.darksailor.dev"; + }; + } { "Home Assistant" = { icon = "home-assistant.png"; diff --git a/nixos/tsuba/services/aria2.nix b/nixos/tsuba/services/aria2.nix new file mode 100644 index 00000000..707fc087 --- /dev/null +++ b/nixos/tsuba/services/aria2.nix @@ -0,0 +1,33 @@ +{ + pkgs, + config, + ... +}: { + sops.secrets."aria2/rpc-secret" = {}; + + services.aria2 = { + enable = true; + rpcSecretFile = config.sops.secrets."aria2/rpc-secret".path; + settings = { + continue = true; + dir = "/media/downloads"; + enable-rpc = true; + file-allocation = "none"; + max-concurrent-downloads = 5; + max-connection-per-server = 16; + rpc-listen-all = true; + rpc-listen-port = 6809; + split = 16; + }; + }; + + services.caddy.virtualHosts."aria2.tsuba.darksailor.dev".extraConfig = '' + import cloudflare + root * ${pkgs.ariang}/share/ariang + file_server + ''; + services.caddy.virtualHosts."aria2.tsuba.darksailor.dev:6800".extraConfig = '' + import cloudflare + reverse_proxy localhost:${toString config.services.aria2.settings.rpc-listen-port} + ''; +} diff --git a/nixos/tsuba/services/default.nix b/nixos/tsuba/services/default.nix index a7304ade..b38a3719 100644 --- a/nixos/tsuba/services/default.nix +++ b/nixos/tsuba/services/default.nix @@ -6,6 +6,7 @@ ./caddy.nix ./servarr.nix ./deluge.nix + ./aria2.nix ./homeassistant.nix ./flaresolverr.nix ./caddy.nix diff --git a/secrets/secrets.yaml b/secrets/secrets.yaml index 05401ebd..bce72204 100644 --- a/secrets/secrets.yaml +++ b/secrets/secrets.yaml @@ -108,6 +108,8 @@ coturn: static_auth_secret: ENC[AES256_GCM,data:osEBYgWGZl+SnqVV1G9IxMys/qDm6WTtj4nILYVw0klDjiB6vd21yA0ik/rLv9E6Y539uMCk3oB0NS7I72U1hQ==,iv:jruS3vfe0fVHY67qNhEgaCEp/9cR57UIu8a/LhdTC1o=,tag:vhxXhh9u4bOSu/lxINjvew==,type:str] affine: db_password: ENC[AES256_GCM,data:AbpoEbmeihtVIoRaWxVL8+v3oCk5iiia9qZLKgyy98qTuNZruiaV3kQN6clYvWgHbzJta5/H9e+xocrEtw8C/A==,iv:2vPeDAJuVujPgM+kr6AFAvat2MCJnsblebx23Ey7YNA=,tag:ukuK30aZ//MKabhSRtLNXw==,type:str] +aria2: + rpc-secret: ENC[AES256_GCM,data:peFtDURHjlQOAM1v1AP9BBHmXhpPTE0kKRcL9eBV9rIFnDcKw5+nAP9+8sW4CRcE6l9DoxZFau7+IsnDgrFp5g==,iv:DkHiaZlPcHMnOPLflxlF4fs/bdOe799/SQQZ9WZ1Tq4=,tag:R1aWdUQdtzySOmYitNxD1Q==,type:str] sops: age: - recipient: age1pw7kluxp7872c63ne4jecq75glj060jkmqwzkk6esatuyck9egfswufdpk @@ -119,7 +121,7 @@ sops: VGZKdHpVeFRpQUxtSEkyaEhLMlBJcGsKLb0DvPNZosPBUuiX6qz1s5IO5INQh8CK ZtXTVClwMSmaUYhdSB2gKFrKVZHXTJZ4oAL5t/BpC0pOHyr+o96T3Q== -----END AGE ENCRYPTED FILE----- - lastmodified: "2026-02-24T08:02:58Z" - mac: ENC[AES256_GCM,data:JzKh6k1nzp2sTDXFG0/bJbBSksCri2WIcXU0C+cyCg6hHzQMsKc36xSRfyrytW8r6rCooJRlC46nPYvFH9JhG/1uIAx4QU/PAvgzEKvXOQi2xXULajpEeCAdmU8TERl3to9JCTAhCbV7oibzOalC6WbVOfhQvqBYWN2JamwCHwc=,iv:oMmpcadFUZT5mdMQ8BzGoKKdpV2PvtaoXhOsKSYUGII=,tag:cdBim93M98OcSNZsmPQ57A==,type:str] + lastmodified: "2026-03-13T17:35:01Z" + mac: ENC[AES256_GCM,data:6VfirvrqmBLDg3XnJzBY5z1Fy/yAOhuLF6YnFH0pJ17beIHfkQQ/BbL0vBI1YfjyGjqQannp/0SpEwqA5uhvaHpQV2F1eFwotjrgFiGBrnhirLSXiHLGcnQtIeu2ue1McwbtJVZNWaOtdcz71+QeKn53+4jcDnb/wu/46+Q/nB0=,iv:eQ61Bpyom1cvTRZMiAMes2lrAGlAtuKTAxR/k2Caxh4=,tag:i+SBR1/V6jb3c3mGT4XykQ==,type:str] unencrypted_suffix: _unencrypted version: 3.11.0