{ config, lib, ... }: let cfg = config.soispha.services.ollama; in { options.soispha.services.ollama = { enable = lib.mkEnableOption "ollama"; }; config = lib.mkIf cfg.enable { soispha.impermanence.directories = [ # Ollama's systemd services tries to do create the directory under # `/var/lib/private/ollama` and then symlink `/var/lib/ollama` to that, when # `DynamicUsers` is true. Thus we need to persist the private directory and not the # resulting symlink one. # Relevant issue: https://github.com/nix-community/impermanence/issues/93 { directory = "/var/lib/private/ollama"; mode = "700"; } ]; services.ollama = { enable = true; # acceleration = "rocm"; }; }; }