From 9f37b1950215643a58d46d65537de472ca2c7ad5 Mon Sep 17 00:00:00 2001 From: Alexander Heldt Date: Tue, 6 May 2025 16:56:51 +0000 Subject: [PATCH] manatee: Add `immich` module --- hosts/manatee/modules/default.nix | 1 + hosts/manatee/modules/immich/default.nix | 35 ++++++++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 hosts/manatee/modules/immich/default.nix diff --git a/hosts/manatee/modules/default.nix b/hosts/manatee/modules/default.nix index 7eeffd8..33f5043 100644 --- a/hosts/manatee/modules/default.nix +++ b/hosts/manatee/modules/default.nix @@ -15,6 +15,7 @@ in transmission.enable = true; audiobookshelf.enable = true; + immich.enable = true; }; }; } diff --git a/hosts/manatee/modules/immich/default.nix b/hosts/manatee/modules/immich/default.nix new file mode 100644 index 0000000..ac7410d --- /dev/null +++ b/hosts/manatee/modules/immich/default.nix @@ -0,0 +1,35 @@ +{ lib, config, ... }: +let + enabled = config.mod.immich.enable; +in +{ + options = { + mod.immich = { + enable = lib.mkEnableOption "Enable immich module"; + }; + }; + + config = lib.mkIf enabled { + users.users.immich = { + isSystemUser = true; + group = "storage"; + + extraGroups = [ + "render" + "video" + ]; + }; + + services.immich = { + enable = true; + + user = "immich"; + group = "storage"; + + host = "0.0.0.0"; + + mediaLocation = "/mnt/cameras/public"; + accelerationDevices = [ "/dev/dri/renderD128" ]; + }; + }; +}