My Nix Configuration

[marvin.services] add pinchflat service

pyrox.dev 3f26e51a 8697f622

verified
Changed files
+44
lib
systems
x86_64-linux
+6
lib/data/services.toml
···
port = 6907
host = "marvin"
extUrl = "deemix.pyrox.dev"
+
tsHost = "deemix"
[git]
port = 6904
···
port = 6927
host = "marvin"
extUrl = "office.pyrox.dev"
+
+
[pinchflat]
+
port = 6930
+
host = "marvin"
+
tsHost = "yt"
[planka]
port = 6929
+2
systems/x86_64-linux/marvin/default.nix
···
./services/miniflux.nix
./services/nginx.nix
./services/nextcloud
+
./services/pinchflat.nix
./services/planka.nix
./services/podman.nix
./services/postgres.nix
···
};
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 = {
+35
systems/x86_64-linux/marvin/services/pinchflat.nix
···
+
{ 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;
+
};
+
};
+
}
systems/x86_64-linux/marvin/services/secrets/pinchflat-secrets.age

This is a binary file and will not be displayed.

+1
systems/x86_64-linux/marvin/services/secrets/secrets.nix
···
"miniflux-admin.age".publicKeys = marvinDefault;
"../nextcloud/nextcloud-admin-pw.age".publicKeys = marvinDefault;
"nix-serve-priv.age".publicKeys = marvinDefault;
+
"pinchflat-secrets.age".publicKeys = marvinDefault;
"planka-env.age".publicKeys = marvinDefault;
"vaultwarden-vars.age".publicKeys = marvinDefault;
"vaultwarden-pgpass.age".publicKeys = marvinDefault;