This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

superconfig / configs / orca / server.nix
1.9 kB 66 lines
1# Headless Orca runtime (https://onorca.dev), reachable over retiolum. 2# Agents, terminals and worktrees run as the orca user; log in as orca to 3# set up agents and to clone repos. 4# Pairing URL for a client (Settings → Remote Orca Servers → Add Server): 5# journalctl -u orca-server | grep 'Pairing URL' 6{ 7 self, 8 config, 9 pkgs, 10 ... 11}: 12let 13 llm = self.inputs.llm-agents.packages.${pkgs.system}; 14 port = 6768; 15in 16{ 17 users.users.orca = { 18 isNormalUser = true; 19 home = "/home/orca"; 20 createHome = true; 21 group = "users"; 22 useDefaultShell = true; 23 openssh.authorizedKeys.keys = [ 24 self.keys.ssh.barnacle.public 25 self.keys.ssh.yubi_pgp.public 26 self.keys.ssh.termux_massulus.public 27 self.keys.ssh.yubi1.public 28 self.keys.ssh.yubi2.public 29 self.keys.ssh.solo2.public 30 self.keys.ssh.xerxes.public 31 self.keys.ssh.ignavia.public 32 self.keys.ssh.phonetpm_massulus.public 33 self.keys.ssh.massulus.public 34 ]; 35 packages = [ 36 llm.orca 37 pkgs.omp 38 # GitHub issues/PRs in the work item lists. 39 pkgs.gh 40 ]; 41 }; 42 43 systemd.services.orca-server = { 44 description = "Orca headless runtime"; 45 wantedBy = [ "multi-user.target" ]; 46 after = [ "network-online.target" ]; 47 wants = [ "network-online.target" ]; 48 # Terminals and agents started by Orca inherit this, so give them the 49 # same tools as an interactive login of the orca user. 50 path = [ 51 "/run/wrappers" 52 "/etc/profiles/per-user/orca" 53 "/run/current-system/sw" 54 ]; 55 serviceConfig = { 56 ExecStart = "${llm.orca}/bin/orca serve --port ${toString port} --pairing-address ${config.networking.hostName}.r"; 57 Restart = "on-failure"; 58 RestartSec = 10; 59 User = "orca"; 60 Group = "users"; 61 WorkingDirectory = "/home/orca"; 62 }; 63 }; 64 65 networking.firewall.interfaces.retiolum.allowedTCPPorts = [ port ]; 66}