From 3f26e51a90a32bfdc27a57885645e45854f7e0d2 Mon Sep 17 00:00:00 2001 From: dish Date: Sat, 5 Apr 2025 15:45:32 -0400 Subject: [PATCH] [marvin.services] add pinchflat service --- lib/data/services.toml | 6 +++ systems/x86_64-linux/marvin/default.nix | 2 + .../marvin/services/pinchflat.nix | 35 ++++++++++++++++++ .../services/secrets/pinchflat-secrets.age | Bin 0 -> 1179 bytes .../marvin/services/secrets/secrets.nix | 1 + 5 files changed, 44 insertions(+) create mode 100644 systems/x86_64-linux/marvin/services/pinchflat.nix create mode 100644 systems/x86_64-linux/marvin/services/secrets/pinchflat-secrets.age diff --git a/lib/data/services.toml b/lib/data/services.toml index 714eb312..1c41de65 100644 --- a/lib/data/services.toml +++ b/lib/data/services.toml @@ -21,6 +21,7 @@ extUrl = "cache.coelacanth-dragon.ts.net" port = 6907 host = "marvin" extUrl = "deemix.pyrox.dev" +tsHost = "deemix" [git] port = 6904 @@ -66,6 +67,11 @@ port = 6927 host = "marvin" extUrl = "office.pyrox.dev" +[pinchflat] +port = 6930 +host = "marvin" +tsHost = "yt" + [planka] port = 6929 host = "marvin" diff --git a/systems/x86_64-linux/marvin/default.nix b/systems/x86_64-linux/marvin/default.nix index 8a9a1e98..34bcceb4 100644 --- a/systems/x86_64-linux/marvin/default.nix +++ b/systems/x86_64-linux/marvin/default.nix @@ -21,6 +21,7 @@ ./services/miniflux.nix ./services/nginx.nix ./services/nextcloud + ./services/pinchflat.nix ./services/planka.nix ./services/podman.nix ./services/postgres.nix @@ -64,6 +65,7 @@ }; swapDevices = [ { device = "/dev/disk/by-uuid/e69409bc-9cf0-4795-8620-33a021a4b729"; } ]; users.groups.misc.gid = 1000; + time.timeZone = "America/New_York"; py = { users.default.enable = true; programs = { diff --git a/systems/x86_64-linux/marvin/services/pinchflat.nix b/systems/x86_64-linux/marvin/services/pinchflat.nix new file mode 100644 index 00000000..a7762038 --- /dev/null +++ b/systems/x86_64-linux/marvin/services/pinchflat.nix @@ -0,0 +1,35 @@ +{ config, lib, ... }: +let + age = config.age.secrets; + d = lib.py.data.services.pinchflat; +in +{ + services.pinchflat = { + enable = true; + port = d.port; + secretsFile = age.pinchflat-secrets.path; + mediaDir = "/var/lib/youtube"; + extraConfig = { + YT_DLP_WORKER_CONCURRENCY = 2; + }; + }; + systemd.services.pinchflat = { + serviceConfig = { + DynamicUser = lib.mkForce false; + User = lib.mkForce "pinchflat"; + Group = lib.mkForce "pinchflat"; + }; + }; + users.users.pinchflat = { + isSystemUser = true; + group = "pinchflat"; + }; + users.groups.pinchflat = { }; + age.secrets = { + pinchflat-secrets = { + owner = "pinchflat"; + group = "pinchflat"; + file = ./secrets/pinchflat-secrets.age; + }; + }; +} diff --git a/systems/x86_64-linux/marvin/services/secrets/pinchflat-secrets.age b/systems/x86_64-linux/marvin/services/secrets/pinchflat-secrets.age new file mode 100644 index 0000000000000000000000000000000000000000..3e411d181ccf32b7ae2b62f14a986f41ff0e3c9a GIT binary patch literal 1179 zcmYdHPt{G$OD?J`D9Oyv)5|YP*Do{V(zR14F3!+RO))YxHMCU7EOe^ybW}(yuqZJL z%J3_VbPX`e&N59jj`T|RiZrT9HOcB5T2^8f8Ks{T zkYiYx67FJIR+d~4kWy@tpOY3GW*S~%5|I*Ek>>1_Ws#N|W^P&$;_DPy7@nQ!S83oH z7E;U=kecIfQesx<>l5T#5n@zin(Jt6mQ)sD?(Uy&>Jk*1XBgla?p_gP=wo8yQyi=x zQl9Enx#=9nB1n3n6sEZV_1NmTm4<>Qrc6Xi?&umF^OpUFhtQXH-yO zloa5To*fWnkzeMS73CjL66hXWQB~-lSrXuz#uZ)^Wb7Q2;ZsoQ>fveXX%S>nk?IrX zZfcZR5D}bLQs7})kzEp2nc*4|T;y+2n&DGe>Y5(z6cSS8?v{}q5ya(J<>uxZ>2DaB zoa0vLk?Is$9Gp|Go$H%ckzJVMZ(x{To>3L-tDTXa7?4|9>=ABZmJ+WwBWDt@Q z;*-J^>XmPjAK??4?3dybksea+Usmkrn49XCR#H*u=I0V+T;i9V6crgzksD#+OE-8y*zFdlWZ|2d>FJ-HSX88)9}*B5;jEu!>5(3h;bffT zpX|U1cn-rCiAL^RSmF{F%USL=nkd{*%7Ut!oogb1^nH?T(?3op1>|z{T9-Nk6 z>ga1&nq(9ROUJNWQ(lmp;^C-};gzUwQKs*m>K+iDpK4L=>YbZi=6&L4 z7@U!2nw+O^R^iE&QQ;R9>1`Qg7UFLf73E%(V_fL#>5*+3p13JdK9y6Rgq)p7#ftBZsb&yWZ;#NpAi^l=2#NsQtp#mlA6qw zu)*I!_C`*Np33y?pEt}nw0_O;3ZD2EX{CR&z8?Rwfxg}2)yT>1xsv66koG*X;jzhKDo0t!sYwz{#((zvL k{