Merge branch 'master' of ssh://git.joshuabell.xyz:3032/ringofstorms/dotfiles

This commit is contained in:
Joshua Bell 2026-02-03 21:30:40 -06:00
commit 1139476699
13 changed files with 1963 additions and 73 deletions

12
hosts/h001/flake.lock generated
View file

@ -211,11 +211,11 @@
},
"litellm-nixpkgs": {
"locked": {
"lastModified": 1769170682,
"narHash": "sha256-oMmN1lVQU0F0W2k6OI3bgdzp2YOHWYUAw79qzDSjenU=",
"lastModified": 1769461804,
"narHash": "sha256-msG8SU5WsBUfVVa/9RPLaymvi5bI8edTavbIq3vRlhI=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "c5296fdd05cfa2c187990dd909864da9658df755",
"rev": "bfc1b8a4574108ceef22f02bafcf6611380c100d",
"type": "github"
},
"original": {
@ -1223,11 +1223,11 @@
},
"pinchflat-nixpkgs": {
"locked": {
"lastModified": 1769170682,
"narHash": "sha256-oMmN1lVQU0F0W2k6OI3bgdzp2YOHWYUAw79qzDSjenU=",
"lastModified": 1769789167,
"narHash": "sha256-kKB3bqYJU5nzYeIROI82Ef9VtTbu4uA3YydSk/Bioa8=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "c5296fdd05cfa2c187990dd909864da9658df755",
"rev": "62c8382960464ceb98ea593cb8321a2cf8f9e3e5",
"type": "github"
},
"original": {

View file

@ -8,7 +8,8 @@
./nixarr.nix
./hardware-transcoding.nix
./monitoring_hub.nix
./pinchflat.nix
# ./pinchflat.nix
./youtarr.nix
./openwebui.nix
./trilium.nix
./oauth2-proxy.nix

View file

@ -92,6 +92,13 @@ in
icon = "pinchflat";
};
}
{
"Youtarr" = {
description = "YouTube Automation";
href = "http://h001.net.joshuabell.xyz:3087";
icon = "youtarr";
};
}
{
"Radarr" = {
description = "Movie Automation";

View file

@ -172,6 +172,8 @@ in
api_base = "http://100.64.0.8:9010/air_prd";
api_key = "na";
drop_params = true;
# TODO try this instead of sanitized name
# additional_drop_params = if [ "messages[*].cacheControl" ];
};
})
# curl -L t.net.joshuabell.xyz:9010/air_prd/models | jq '.data.[].id'

112
hosts/h001/mods/youtarr.nix Normal file
View file

@ -0,0 +1,112 @@
{
lib,
config,
...
}:
let
name = "youtarr";
gid = 187;
uid = 187;
port = 3087;
internalPort = 3011;
dbPort = 3321;
hostDataDir = "/var/lib/${name}";
mediaDir = "/nfs/h002/${name}/media";
in
{
config = lib.mkIf config.nixarr.enable {
virtualisation.oci-containers.containers = {
"${name}" = {
image = "dialmaster/youtarr:latest";
volumes = [
"${hostDataDir}/config:/app/config"
"${hostDataDir}/images:/app/server/images"
"${hostDataDir}/jobs:/app/jobs"
"${mediaDir}:/usr/src/app/data"
];
environment = {
PUID = toString uid;
PGID = toString gid;
DB_HOST = "127.0.0.1";
DB_PORT = toString dbPort;
DB_USER = "root";
DB_PASSWORD = "123qweasd";
DB_NAME = name;
};
extraOptions = [ "--network=host" ];
dependsOn = [ "${name}-db" ];
};
"${name}-db" = {
image = "mariadb:10.3";
volumes = [
"${hostDataDir}/database:/var/lib/mysql"
];
environment = {
MYSQL_ROOT_PASSWORD = "123qweasd";
MYSQL_DATABASE = name;
};
extraOptions = [ "--network=host" ];
cmd = [
"--port=${toString dbPort}"
"--character-set-server=utf8mb4"
"--collation-server=utf8mb4_unicode_ci"
];
};
};
users = {
groups.${name}.gid = gid;
users.${name} = {
isSystemUser = true;
group = name;
uid = uid;
};
};
systemd.tmpfiles.rules = [
"d '${hostDataDir}' 0775 ${name} ${name} - -"
"d '${hostDataDir}/config' 0775 ${name} ${name} - -"
"d '${hostDataDir}/images' 0775 ${name} ${name} - -"
"d '${hostDataDir}/jobs' 0775 ${name} ${name} - -"
"d '${hostDataDir}/database' 0775 999 999 - -"
"d '${mediaDir}' 0775 ${name} ${name} - -"
];
# Both containers run in the VPN namespace so they share localhost
systemd.services.podman-youtarr.vpnconfinement = {
enable = true;
vpnnamespace = "wg";
};
systemd.services.podman-youtarr-db.vpnconfinement = {
enable = true;
vpnnamespace = "wg";
};
vpnNamespaces.wg.portMappings = [
{
from = internalPort;
to = internalPort;
}
];
services.nginx = {
virtualHosts = {
"${name}" = {
serverName = "h001.net.joshuabell.xyz";
listen = [
{
port = port;
addr = "0.0.0.0";
}
];
locations."/" = {
proxyWebsockets = true;
proxyPass = "http://192.168.15.1:${toString internalPort}";
};
};
};
};
};
}

106
hosts/lio/flake.lock generated
View file

@ -31,11 +31,11 @@
},
"locked": {
"dir": "flakes/beszel",
"lastModified": 1767999509,
"narHash": "sha256-01YDV5RSAOQQnbV24wKAYsp/unUhMkbIIe3slBVmZvI=",
"lastModified": 1769709893,
"narHash": "sha256-498MHCXjghP2lXVSolRMegYBiA0lFyK8Tj7YcXCcA2M=",
"ref": "refs/heads/master",
"rev": "ef64efbb6e7d735d859830065a59374aa0496b70",
"revCount": 1113,
"rev": "51ec48148acfb31c74d1f293b98416b8a3235f7d",
"revCount": 1188,
"type": "git",
"url": "https://git.joshuabell.xyz/ringofstorms/dotfiles"
},
@ -63,14 +63,20 @@
},
"common": {
"locked": {
"path": "../../flakes/common",
"type": "path"
"dir": "flakes/common",
"lastModified": 1769709893,
"narHash": "sha256-498MHCXjghP2lXVSolRMegYBiA0lFyK8Tj7YcXCcA2M=",
"ref": "refs/heads/master",
"rev": "51ec48148acfb31c74d1f293b98416b8a3235f7d",
"revCount": 1188,
"type": "git",
"url": "https://git.joshuabell.xyz/ringofstorms/dotfiles"
},
"original": {
"path": "../../flakes/common",
"type": "path"
},
"parent": []
"dir": "flakes/common",
"type": "git",
"url": "https://git.joshuabell.xyz/ringofstorms/dotfiles"
}
},
"crane": {
"locked": {
@ -132,11 +138,11 @@
},
"locked": {
"dir": "flakes/de_plasma",
"lastModified": 1768586643,
"narHash": "sha256-FPRn8Ea7h+209KQvdy2FCAaMK7iMbxHvIEb/1Flt9wc=",
"lastModified": 1769709893,
"narHash": "sha256-498MHCXjghP2lXVSolRMegYBiA0lFyK8Tj7YcXCcA2M=",
"ref": "refs/heads/master",
"rev": "28656f137da6f102749b39b4bcb03c04c7107d2d",
"revCount": 1145,
"rev": "51ec48148acfb31c74d1f293b98416b8a3235f7d",
"revCount": 1188,
"type": "git",
"url": "https://git.joshuabell.xyz/ringofstorms/dotfiles"
},
@ -206,11 +212,11 @@
},
"locked": {
"dir": "flakes/flatpaks",
"lastModified": 1767999509,
"narHash": "sha256-01YDV5RSAOQQnbV24wKAYsp/unUhMkbIIe3slBVmZvI=",
"lastModified": 1769709893,
"narHash": "sha256-498MHCXjghP2lXVSolRMegYBiA0lFyK8Tj7YcXCcA2M=",
"ref": "refs/heads/master",
"rev": "ef64efbb6e7d735d859830065a59374aa0496b70",
"revCount": 1113,
"rev": "51ec48148acfb31c74d1f293b98416b8a3235f7d",
"revCount": 1188,
"type": "git",
"url": "https://git.joshuabell.xyz/ringofstorms/dotfiles"
},
@ -247,11 +253,11 @@
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1767910483,
"narHash": "sha256-MOU5YdVu4DVwuT5ztXgQpPuRRBjSjUGIdUzOQr9iQOY=",
"lastModified": 1769580047,
"narHash": "sha256-tNqCP/+2+peAXXQ2V8RwsBkenlfWMERb+Uy6xmevyhM=",
"owner": "rycee",
"repo": "home-manager",
"rev": "82fb7dedaad83e5e279127a38ef410bcfac6d77c",
"rev": "366d78c2856de6ab3411c15c1cb4fb4c2bf5c826",
"type": "github"
},
"original": {
@ -318,11 +324,11 @@
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1767892417,
"narHash": "sha256-dhhvQY67aboBk8b0/u0XB6vwHdgbROZT3fJAjyNh5Ww=",
"lastModified": 1769789167,
"narHash": "sha256-kKB3bqYJU5nzYeIROI82Ef9VtTbu4uA3YydSk/Bioa8=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "3497aa5c9457a9d88d71fa93a4a8368816fbeeba",
"rev": "62c8382960464ceb98ea593cb8321a2cf8f9e3e5",
"type": "github"
},
"original": {
@ -350,11 +356,11 @@
},
"nixpkgs_3": {
"locked": {
"lastModified": 1767799921,
"narHash": "sha256-r4GVX+FToWVE2My8VVZH4V0pTIpnu2ZE8/Z4uxGEMBE=",
"lastModified": 1769741972,
"narHash": "sha256-RxSg1EioTWNpoLaykiT1UQKTo/K0PPdLqCyQgNjNqWs=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "d351d0653aeb7877273920cd3e823994e7579b0b",
"rev": "63590ac958a8af30ebd52c7a0309d8c52a94dd77",
"type": "github"
},
"original": {
@ -1297,11 +1303,11 @@
"nixpkgs": "nixpkgs_4"
},
"locked": {
"lastModified": 1769436946,
"narHash": "sha256-lTd+Uni2PJjjIt8Qkt928ZvpDt2QoXK4cI2V9uKiC5U=",
"lastModified": 1770048828,
"narHash": "sha256-i7waiMaC0okqPiOdKVel8sP2xPv6fO0no2N+VF/LEFY=",
"owner": "anomalyco",
"repo": "opencode",
"rev": "7f75f71f6b970c714b9e74f5715073e07ca8e431",
"rev": "1bd5dc5382cfa8b57dc470970bcdfa6a3dbd8dfb",
"type": "github"
},
"original": {
@ -1335,11 +1341,11 @@
"nixpkgs": "nixpkgs_5"
},
"locked": {
"lastModified": 1769538000,
"narHash": "sha256-viIWuCjUqDk/QuIhUK9nOvDHCDHEO+VQRTnI/xhi/Ok=",
"lastModified": 1769967358,
"narHash": "sha256-6NmYfCgne1N3wUTxA686yyZSte+HfNEQM1Z0B0rjWD4=",
"ref": "refs/heads/main",
"rev": "221d0ca596b994f1942a42ee53a8b4508e23e7af",
"revCount": 20,
"rev": "acca9fbf50cd79ef6a23e6d617b847bbde558715",
"revCount": 23,
"type": "git",
"url": "https://git.joshuabell.xyz/ringofstorms/qvm"
},
@ -1446,11 +1452,11 @@
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1769124420,
"narHash": "sha256-sWjfTocB24qbgRFK7ApRW3gfd9592u2DaL/E4KB7vgE=",
"lastModified": 1769668724,
"narHash": "sha256-0mJUN5IrXTeDjRadmhVEhOviRnM6MklCe3R2P61/JLA=",
"ref": "refs/heads/master",
"rev": "712ad71984a41fad7ca9341f3499f73634a346d6",
"revCount": 331,
"rev": "7affddc1b8b52ae11687e1537b7a2b8d57183fdd",
"revCount": 333,
"type": "git",
"url": "https://git.joshuabell.xyz/ringofstorms/nvim"
},
@ -1508,11 +1514,11 @@
},
"locked": {
"dir": "flakes/secrets",
"lastModified": 1767999509,
"narHash": "sha256-01YDV5RSAOQQnbV24wKAYsp/unUhMkbIIe3slBVmZvI=",
"lastModified": 1769709893,
"narHash": "sha256-498MHCXjghP2lXVSolRMegYBiA0lFyK8Tj7YcXCcA2M=",
"ref": "refs/heads/master",
"rev": "ef64efbb6e7d735d859830065a59374aa0496b70",
"revCount": 1113,
"rev": "51ec48148acfb31c74d1f293b98416b8a3235f7d",
"revCount": 1188,
"type": "git",
"url": "https://git.joshuabell.xyz/ringofstorms/dotfiles"
},
@ -1525,11 +1531,11 @@
"secrets-bao": {
"locked": {
"dir": "flakes/secrets-bao",
"lastModified": 1768586643,
"narHash": "sha256-FPRn8Ea7h+209KQvdy2FCAaMK7iMbxHvIEb/1Flt9wc=",
"lastModified": 1769709893,
"narHash": "sha256-498MHCXjghP2lXVSolRMegYBiA0lFyK8Tj7YcXCcA2M=",
"ref": "refs/heads/master",
"rev": "28656f137da6f102749b39b4bcb03c04c7107d2d",
"revCount": 1145,
"rev": "51ec48148acfb31c74d1f293b98416b8a3235f7d",
"revCount": 1188,
"type": "git",
"url": "https://git.joshuabell.xyz/ringofstorms/dotfiles"
},
@ -1547,11 +1553,11 @@
},
"locked": {
"dir": "flakes/stt_ime",
"lastModified": 1768586643,
"narHash": "sha256-FPRn8Ea7h+209KQvdy2FCAaMK7iMbxHvIEb/1Flt9wc=",
"lastModified": 1769709893,
"narHash": "sha256-498MHCXjghP2lXVSolRMegYBiA0lFyK8Tj7YcXCcA2M=",
"ref": "refs/heads/master",
"rev": "28656f137da6f102749b39b4bcb03c04c7107d2d",
"revCount": 1145,
"rev": "51ec48148acfb31c74d1f293b98416b8a3235f7d",
"revCount": 1188,
"type": "git",
"url": "https://git.joshuabell.xyz/ringofstorms/dotfiles"
},

View file

@ -6,8 +6,8 @@
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
# Use relative to get current version for testing
common.url = "path:../../flakes/common";
# common.url = "git+https://git.joshuabell.xyz/ringofstorms/dotfiles?dir=flakes/common";
# common.url = "path:../../flakes/common";
common.url = "git+https://git.joshuabell.xyz/ringofstorms/dotfiles?dir=flakes/common";
# secrets.url = "path:../../flakes/secrets";
secrets.url = "git+https://git.joshuabell.xyz/ringofstorms/dotfiles?dir=flakes/secrets";
# secrets-bao.url = "path:../../flakes/secrets-bao";