grace/dots

dotfiles/nix configs

git clone https://git.gae.moe/grace/dots

Grace Yoderbig changesc1be8e3

main
1013 B35 linesraw
1{ config, lib, pkgs, ... }:
2
3{
4  services.immich = {
5    enable = true;
6    host = "0.0.0.0";
7    port = 2283;
8    openFirewall = true;
9    mediaLocation = "/mnt/data/immich/media";
10    accelerationDevices = [ "/dev/dri/renderD128" ];
11    environment.IMMICH_MEDIA_LOCATION = lib.mkForce "/data";
12  };
13
14  users.users.immich.extraGroups = [ "video" "render" ];
15
16  services.postgresql = {
17    package = pkgs.postgresql_16;
18    dataDir = "/mnt/data/immich/postgresql/16";
19  };
20
21  systemd.tmpfiles.rules = [
22    "d /mnt/data/immich 0755 root root -"
23    "d ${config.services.immich.mediaLocation} 0700 immich immich -"
24    "d /mnt/data/immich/postgresql 0700 postgres postgres -"
25    "d ${config.services.postgresql.dataDir} 0700 postgres postgres -"
26  ];
27
28  systemd.services = {
29    postgresql.unitConfig.RequiresMountsFor = [ "/mnt/data" ];
30    immich-server = {
31      unitConfig.RequiresMountsFor = [ "/mnt/data" ];
32      serviceConfig.BindPaths = [ "${config.services.immich.mediaLocation}:/data" ];
33    };
34  };
35}