nixdots/hosts/overlord/slopfarms.nix
2026-05-11 01:22:48 +03:00

92 lines
1.7 KiB
Nix

{
pkgs,
lib,
...
}: {
services.n8n = {
enable = true;
openFirewall = true;
environment = {
host = "0.0.0.0";
port = 5678;
protocol = "http";
};
environment = {
N8N_SECURE_COOKIE = "false";
N8N_EXECUTE_COMMAND_ENABLED = "true";
N8N_ENABLE_EXECUTE_COMMAND = "true";
NODES_EXCLUDE = "[]";
N8N_NODES_INCLUDE = "n8n-nodes-base.executeCommand";
N8N_BINARY_DATA_STORAGE_PATH = "/srv/slopfarm";
};
};
systemd.services.n8n.serviceConfig = {
ReadWritePaths = ["/srv/slopfarm"];
SupplementaryGroups = ["video" "render"];
PrivateDevices = lib.mkForce false;
DevicePolicy = lib.mkForce "auto";
DeviceAllow = [
"/dev/nvidiactl rw"
"/dev/nvidia0 rw"
"/dev/nvidia-uvm rw"
"/dev/nvidia-uvm-tools rw"
"/dev/nvidia-modeset rw"
];
};
environment.systemPackages = with pkgs; [
ffmpeg
piper-tts
git
yt-dlp
cudaPackages.cudatoolkit
(python3.withPackages (ps:
with ps; [
requests
aiohttp
praw
torch
torchvision
transformers
accelerate
sentencepiece
safetensors
soundfile
librosa
pydub
scipy
pillow
moviepy
imageio
imageio-ffmpeg
opencv4
numpy
tqdm
regex
python-dotenv
pysrt
flask
]))
];
systemd.tmpfiles.rules = [
"d /srv/slopfarm 0755 n8n n8n -"
"d /srv/slopfarm/input 0755 n8n n8n -"
"d /srv/slopfarm/output 0755 n8n n8n -"
"d /srv/slopfarm/scripts 0755 n8n n8n -"
"d /srv/slopfarm/backgrounds 0755 n8n n8n -"
"d /srv/slopfarm/voices 0755 n8n n8n -"
];
}