diff --git a/flake.lock b/flake.lock index 97832f4..c26f1e1 100644 --- a/flake.lock +++ b/flake.lock @@ -255,11 +255,11 @@ ] }, "locked": { - "lastModified": 1777580503, - "narHash": "sha256-JBnRWEkz7jV1IBZWYS5e97rngP66sYRB++3CzM2fnv4=", + "lastModified": 1772342291, + "narHash": "sha256-hXlWBR5yBOtxgF/7Vr2tVknh4LxFGheiS7yHD8sWbfs=", "ref": "refs/heads/master", - "rev": "5771d6c6cbff83d956d54cb2fec1a7e337b8af67", - "revCount": 83, + "rev": "1ef6d4cd8517855b9aaf7671dccc6f992eea1f6c", + "revCount": 74, "type": "git", "url": "https://git.posixlycorrect.com/fabian/homepage.git" }, diff --git a/home/modules/gaming.nix b/home/modules/gaming.nix index 88dab1e..191a8ff 100644 --- a/home/modules/gaming.nix +++ b/home/modules/gaming.nix @@ -11,11 +11,10 @@ in { enable = mkEnableOption "gaming apps"; }; config = mkIf cfg.enable { - home.packages = with pkgs; [ - ckan # ksp mod manager - lutris # game launcher - openrct2 # rollercoaster tycoon - prismlauncher # minecraft + home.packages = [ + pkgs.lutris + pkgs.openrct2 + pkgs.prismlauncher ]; }; } diff --git a/sys/platforms/vps/hardware-configuration.nix b/sys/platforms/vps/hardware-configuration.nix index c4d36e9..41cc7ee 100644 --- a/sys/platforms/vps/hardware-configuration.nix +++ b/sys/platforms/vps/hardware-configuration.nix @@ -14,6 +14,12 @@ in { options = ["nofail" "noatime"]; }; + "/mnt/export2178" = { + device = "172.16.129.151:/nas/5876/immich"; + fsType = "nfs"; + options = ["nofail" "noatime"]; + }; + "/mnt/export2179" = { device = "172.16.131.31:/nas/5876/syncthing"; fsType = "nfs"; diff --git a/sys/platforms/vps/srv/default.nix b/sys/platforms/vps/srv/default.nix index 0d52a07..d7511ed 100644 --- a/sys/platforms/vps/srv/default.nix +++ b/sys/platforms/vps/srv/default.nix @@ -14,6 +14,7 @@ with lib; { ./trilium.nix ./syncthing.nix ./calibre-web.nix + ./immich.nix ./mealie.nix ./dufs.nix ./isso.nix diff --git a/sys/platforms/vps/srv/immich.nix b/sys/platforms/vps/srv/immich.nix new file mode 100644 index 0000000..cad0b6a --- /dev/null +++ b/sys/platforms/vps/srv/immich.nix @@ -0,0 +1,72 @@ +{ + lib, + pkgs, + ... +}: +with lib; { + services = { + nginx = { + virtualHosts."photos.posixlycorrect.com" = { + enableACME = true; + forceSSL = true; + extraConfig = '' + proxy_headers_hash_max_size 512; + proxy_headers_hash_bucket_size 128; + ''; + locations."/" = { + proxyPass = "http://localhost:2283"; + }; + }; + }; + + immich = { + enable = true; + secretsFile = "/var/trust/immich/secrets.txt"; + mediaLocation = "/mnt/export2178/immich/media"; + machine-learning.enable = false; + environment = { + IMMICH_TELEMETRY_EXCLUDE = "host,api,io,repo,job"; + }; + settings = { + machineLearning = { + enabled = false; + }; + job = { + backgroundTask = { + concurrency = 1; + }; + smartSearch = { + concurrency = 1; + }; + metadataExtraction = { + concurrency = 1; + }; + faceDetection = { + concurrency = 1; + }; + search = { + concurrency = 1; + }; + sidecar = { + concurrency = 1; + }; + library = { + concurrency = 1; + }; + migration = { + concurrency = 1; + }; + thumbnailGeneration = { + concurrency = 1; + }; + videoConversion = { + concurrency = 1; + }; + notifications = { + concurrency = 1; + }; + }; + }; + }; + }; +}