stable somewhat
analysis.yaml / perform flake analysis (push) Failing after 1m9s
deploy.yaml / build hive configuration (push) Failing after 30s

This commit is contained in:
2026-09-11 14:43:20 +02:00
parent f5e3ef7c5b
commit 95ddd2d8e9
14 changed files with 380 additions and 115 deletions
+22 -2
View File
@@ -1,12 +1,32 @@
{ inputs, pkgs, ... }:
{
inputs,
pkgs,
config,
...
}:
let
unstable = import inputs.unstable { system = pkgs.stdenv.system; };
in
{
users.users.actual = {
isSystemUser = true;
group = config.users.groups.actual.name;
};
users.groups.actual = { };
services.actual = {
package = unstable.actual-server;
enable = true;
openFirewall = true;
settings.port = 3001;
user = config.users.users.actual.name;
settings = {
port = 3001;
openId = {
discoveryURL = "https://auth.shobu.fr";
client_id = "actual-budget";
client_secret._secret = config.age.secrets.actual-client_secret.path;
server_hostname = "https://actual.shobu.fr";
authMethod = "oauth2";
};
};
};
}
+20 -2
View File
@@ -32,9 +32,25 @@
networking = {
hostName = "sin";
networkmanager.enable = true;
networkmanager = {
enable = true;
settings = {
main = {
dns = "default";
};
# nameservers = [ "10.0.0.4" ];
connection = {
"ipv4.ignore-auto-dns" = true;
"ipv6.ignore-auto-dns" = true;
};
};
};
nameservers = [
"9.9.9.9"
"149.112.112.112"
"8.8.8.8"
];
# dhcpcd.extraConfig = "nohook resolv.conf";
@@ -48,6 +64,8 @@
config.services.trilium-server.port
53
5690 # testing for wizarr
];
allowedUDPPorts = [ 53 ];
+6 -13
View File
@@ -44,51 +44,44 @@ in
users.users."starr" = {
isSystemUser = true;
group = "starr";
extraGroups = [ "jellyfin" ];
};
users.users.sonarr.extraGroups = [
"jellyfin"
"radarr"
"transmission"
"starr"
];
users.users.radarr.extraGroups = [
"jellyfin"
"sonarr"
"transmission"
"starr"
];
users.users.bazarr.extraGroups = [
"jellyfin"
"sonarr"
"transmission"
"starr"
"radarr"
];
users.users.lidarr.extraGroups = [
"jellyfin"
"starr"
"transmission"
];
users.users.whisparr.extraGroups = [
"jellyfin"
"starr"
"transmission"
];
users.users.shobu.extraGroups = [
"jellyfin"
"starr"
"transmission"
"radarr"
"sonarr"
];
users.users.jellyfin.extraGroups = [
"render"
"video"
];
# users.users.jellyfin.extraGroups = [
# "render"
# "video"
# ];
users.groups = {
starr = {
@@ -107,7 +100,7 @@ in
in
{
jellyfin = {
enable = true;
enable = false;
openFirewall = true;
};
@@ -154,7 +147,7 @@ in
];
};
jellyseerr = {
seerr = {
enable = true;
openFirewall = true;
};
+2 -2
View File
@@ -7,7 +7,7 @@
# and the actual btrfs raid on the second disk, and the name of these entries matters!
system = {
type = "disk";
device = "/dev/sdb";
device = "/dev/sda";
content = {
type = "gpt";
partitions = {
@@ -56,7 +56,7 @@
data = {
type = "disk";
device = "/dev/sda";
device = "/dev/sdb";
content = {
type = "gpt";
partitions = {
+6 -1
View File
@@ -7,7 +7,7 @@
# mode = "770";
# };
airvpn-params = {
file = ./secrets/airvpn_wireguard_key_env.age;
file = ./secrets/airvpn-params.age;
mode = "700";
};
copyparty-serhao = {
@@ -27,5 +27,10 @@
file = ./secrets/authelia-session.age;
mode = "700";
};
actual-client_secret = {
file = ./secrets/actual-client_secret.age;
mode = "700";
owner = "actual";
};
};
}
@@ -0,0 +1,12 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IC91cWo0QSBuNXRB
ZnhnOFFhdUJZaHhHZVFHSVVRNThMdndDalV0Y3U5czBNSGh3b0U4ClRFWFYxQXpl
VnBhRVo0SHZjVE9weDhlcEdnbElwZnErTUVkTmFiZE1jQWMKLT4gc3NoLWVkMjU1
MTkgTm9TbDZRIFdDU01HdjlXc1VUL3FuM0FTZS81ZGgveXovVFB2bi85aGpLNWFI
YmhjekUKNjFWSGl1OVJTZDFmOEtCK0l2a25KYWdSRm9hdkxGV1JZYUY5NStoRDhw
bwotPiAmLHJbLWdyZWFzZSBiKiBJIDxpIVNVCkZLQ3Fwc2N0dU9UUFo2QTVEODg2
RkNBRWdFSmUKLS0tIHU1SUl1amt5Z1NSbVpvcGx5eHZOcmxpb2lnWlg5NENGZXJ1
MDFveGJONlEK4tVPaUccMrkiQZriMRvYcegvemtcOBIVGAa/hUX7BoLXUas2FVct
gSCJKPBzt0Jyg2Qcj4kBgjqdNBGG0AP4QjTaxg2Vy5B/Ao5jV3v9heSRzucTkxUG
bxB6Bt7tgF6XDDsBcXsFNiS7
-----END AGE ENCRYPTED FILE-----
+15
View File
@@ -0,0 +1,15 @@
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IC91cWo0QSA3S2dM
RVE2R3liVzdReiszZXZtVUJGbzVRRTY5YUhCY2h6WWNTVUxGRGhVCmYyWGsrMGZG
cEZmeFZyN0dtblI4NHRmUTNhWjlzRThuMEpaR01zUFVGejAKLT4gc3NoLWVkMjU1
MTkgTm9TbDZRIEVxR1hMWXJxdFNTa1c1WlZrWEs3YkFCZmxRclhxNEd6RnBkU1A0
U0g2MWMKVUkrV1JVWm5xblRwalY1cWtFODRJcnlRZHJaSkY1R1RyLzZtTWNacDVa
WQotPiA3aUQnMCd9LWdyZWFzZSBtQiBkVW9cIHssXDwuMjo1CngyajZobkxXUnpL
VXozVytpay9GL0JrNUliUVNVckZZbHQ3dnJkY0FJOHJqVHBQMU1lVzV3emhsVWhh
VXZ6VG8Kdmtyak1nCi0tLSA4NnYxNnQ0VDZFZlR0MC9lUmdXYld1QWtMRCtDR05C
TTU0L2pDa2trdmFJCn0WLrNMRqn2jUSTwunUtj82aXfcdsdEGl8EIkqPEpig//gH
urGRbk9vR1UzTcykWAXbqtXMs8tl9pMVSYWD/qLG2qUWNSkLFbGxRphAhgofVZBZ
Fd8lqAa5bXQQXh4kKSBRQEtVXci18E/kxPFKofVxnf3STx0oldbde5pf1dWjBd2H
VkyFjm8vAxJJyEcVRGtb7muQt+PezfSXpdzCsO/Uuiwvd5WXO9EM7xuJjJRWSRUT
VjkfehDjkmy5501zmeFLq8dkB4stSrjkIg8=
-----END AGE ENCRYPTED FILE-----
+29 -13
View File
@@ -39,21 +39,21 @@
virtualisation.oci-containers =
let
peerport = "63369";
peerport = "44161";
webport = "44160";
in
{
backend = "docker";
containers = {
gluetun = {
image = "qmcgaw/gluetun";
image = "qmcgaw/gluetun:latest";
environment = {
VPN_SERVICE_PROVIDER = "airvpn";
VPN_TYPE = "wireguard";
# WIREGUARD_PRIVATE_KEY = "from agenix";
# WIREGUARD_PRESHARED_KEY = "from agenix";
# WIREGUARD_ADDRESSES = "from agenix";
# SERVER_COUNTRIES = "from agenix";
FIREWALL_VPN_INPUT_PORTS = "13277,${peerport}";
SERVER_NAMES = "Taiyangshou";
FIREWALL_VPN_INPUT_PORTS = "${peerport},${webport}";
TZ = "Europe/Paris";
};
environmentFiles = [
config.age.secrets.airvpn-params.path
@@ -65,31 +65,47 @@
];
ports = [
"13277:13277"
"9091:13277"
"${webport}:${webport}"
"${peerport}:${peerport}"
"${peerport}:${peerport}/udp"
];
};
transmission = {
image = "docker.io/linuxserver/transmission:latest";
volumes = [
"/etc/transmission:/config"
"/etc/gluetun:/gluetun"
];
};
qbittorrent = {
image = "lscr.io/linuxserver/qbittorrent:latest";
volumes = [
"/etc/localtime:/etc/localtime:ro"
"/mnt/mediacenter/torrents:/mnt/mediacenter/torrents"
"/mnt/data/transmission_downloads:/mnt/data/transmission_downloads"
"/mnt/data/downloads:/downloads"
"/etc/qbittorrent:/config"
];
dependsOn = [
"gluetun"
];
extraOptions = [
"--network=container:gluetun"
# "-u=992:989"
# "-u=${toString config.users.users.transmission.uid}:${toString config.users.groups.starr.gid}"
];
environment = {
PUID = toString config.users.users.transmission.uid;
PGID = toString config.users.groups.starr.gid;
PEERPORT = peerport;
TZ = "Europe/Paris";
WEBUI_PORT = "${webport}";
TORRENTING_PORT = "${peerport}";
};
};
};
};
networking.firewall.allowedTCPPorts = [
44160
13277
];
}
+6 -1
View File
@@ -1,7 +1,12 @@
{ ... }:
{ inputs, pkgs, ... }:
let
unstable = import inputs.unstable { system = pkgs.stdenv.system; };
in
{
services.trilium-server = {
enable = true;
package = unstable.trilium-server;
port = 12783;
host = "0.0.0.0";
# noAuthentication = true;