grace/dots
dotfiles/nix configs
git clone https://git.gae.moe/grace/dots
c1be8e3
main
1{ config , lib , pkgs , ...} : 2 3{ 4services . immich = { 5enable = true ; 6host = "0.0.0.0" ; 7port = 2283 ; 8openFirewall = true ; 9mediaLocation = "/mnt/data/immich/media" ; 10accelerationDevices = [ "/dev/dri/renderD128" ]; 11environment . IMMICH_MEDIA_LOCATION = lib . mkForce "/data" ; 12}; 13 14users . users . immich . extraGroups = [ "video" "render" ]; 15 16services . postgresql = { 17package = pkgs . postgresql_16 ; 18dataDir = "/mnt/data/immich/postgresql/16" ; 19}; 20 21systemd . 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 28systemd . services = { 29postgresql . unitConfig . RequiresMountsFor = [ "/mnt/data" ]; 30immich-server = { 31unitConfig . RequiresMountsFor = [ "/mnt/data" ]; 32serviceConfig . BindPaths = [ " ${ config . services . immich . mediaLocation } :/data" ]; 33}; 34}; 35}