{pkgs, ...}: { virtualisation.docker.enable = true; environment.systemPackages = with pkgs; [ arion ]; services.ollama = { enable = true; host = "0.0.0.0"; port = 11434; # probably won't work reliably on Polaris # acceleration = "rocm"; }; services.nginx = { enable = true; virtualHosts."ai.local" = { locations."/" = { proxyPass = "http://127.0.0.1:7000"; proxyWebsockets = true; }; }; }; environment.etc."arion/arion-compose.nix".source = ./arion-compose.nix; systemd.services.odysseus = { wantedBy = ["multi-user.target"]; after = [ "docker.service" "ollama.service" ]; serviceConfig = { Type = "oneshot"; RemainAfterExit = true; WorkingDirectory = "/etc/arion"; ExecStart = "${pkgs.arion}/bin/arion up -d"; ExecStop = "${pkgs.arion}/bin/arion down"; }; }; }