This commit is contained in:
Lucy Hochkamp 2025-08-26 00:58:27 +02:00
parent 414e830efa
commit d3a93fd115
No known key found for this signature in database
35 changed files with 1832 additions and 228 deletions

View file

@ -5,12 +5,21 @@
...
}:
{
imports = [ ./hardware-configuration.nix ];
nixpkgs.system = "x86_64-linux";
imports = [
./hardware-configuration.nix
./services/immich.nix
./services/paperless.nix
./services/jellyfin.nix
];
time.timeZone = "Europe/Berlin";
services.tailscale.enable = true;
services.tailscale.useRoutingFeatures = "client";
xyno.presets.cli.enable = true;
xyno.services.wireguard.enable = true;
xyno.services.caddy.enable = true;
xyno.services.monitoring.enable = true;
xyno.services.authentik.enable = true;
xyno.presets.home-manager.enable = true;
xyno.system.user.enable = true;
xyno.networking.networkd = {

View file

@ -1,8 +1,11 @@
{
modules = [ ./configuration.nix ];
system = "x86_64-linux";
hostName = "ds9";
publicHostname = "ds9.hailsatan.eu";
wgPubKey = "";
wgServer = true;
prometheusServer = true;
wg = {
pubKey = "";
server = true;
v4 = "10.13.12.1";
};
}

View file

@ -0,0 +1,19 @@
{
pkgs,
config,
lib,
...
}:
{
xyno.services.caddy.wildcardHosts."hailsatan.eu".hosts.immich.extraConfig =
"reverse_proxy http://[::1]:${toString config.services.immich.port}";
services.immich = {
enable = true;
group = "users";
mediaLocation = "/data/immich";
settings = {
newVersionCheck.enabled = false;
externalDomain = "https://immich.hailsatan.eu";
};
};
}

View file

@ -0,0 +1,20 @@
{
pkgs,
config,
lib,
...
}:
{
xyno.services.caddy.wildcardHosts."hailsatan.eu".hosts.j.extraConfig =
"reverse_proxy http://[::1]:8096";
xyno.impermanence.directories = [ config.services.jellyfin.dataDir ];
xyno.services.authentik.ldapApps.jellyfin = {
name = "Lucy+";
meta_description = "Jellyfin";
meta_launch_url = "https://j.hailsatan.eu";
};
services.jellyfin = {
enable = true;
group = "users";
};
}

View file

@ -0,0 +1,25 @@
{
pkgs,
config,
lib,
...
}:
{
xyno.services.caddy.wildcardHosts."hailsatan.eu".hosts.paperless.extraConfig =
"import reverse_proxy_auth http://${config.services.paperless.address}:${toString config.services.paperless.port}";
xyno.impermanence.directories = [ config.services.paperless.dataDir ];
xyno.services.authentik.proxyApps.paperless = {
externalHost = "https://paperless.hailsatan.eu";
name = "Paperless";
groups = [ "admin" ];
};
services.paperless = {
configureTika = true;
enable = true;
database.createLocally = true;
exporter = {
enable = true;
directory = "/data/paperless-export";
};
};
}