José Albornoz 6b0ff42748 feat: add Nix flake with package and NixOS module
Add a Nix flake that builds the Paseo daemon (server + CLI) and
provides a NixOS module for declarative deployment.

Package (nix/package.nix):
- Builds relay, server, and CLI workspaces
- Skips onnxruntime-node install script (sandbox-incompatible)
- Rebuilds only node-pty for native terminal support
- Source filter excludes app/website/desktop workspaces

NixOS module (nix/module.nix):
- Systemd service with configurable user, port, listen address
- allowedHosts for DNS rebinding protection
- relay.enable to toggle remote access via app.paseo.sh
- inheritUserEnvironment to expose user tools (git, ssh) to agents
- openFirewall and extra environment variables

ci: add Nix hash maintenance scripts and workflows

scripts/fix-lockfile.mjs:
  Adds missing resolved/integrity fields to package-lock.json for
  workspace-local overrides. Idempotent, uses `npm view`.

scripts/update-nix.sh:
  Runs fix-lockfile.mjs, prefetches deps, computes NAR hash, and
  updates npmDepsHash in nix/package.nix. Supports --check for CI.

.github/workflows/nix-build.yml:
  Builds the Nix package on push/PR and verifies the lockfile and
  hash are up to date.

.github/workflows/fix-nix-hash.yml:
  Auto-fixes lockfile signatures and Nix hash on dependabot PRs.

fix: update npmDepsHash after upstream sync

nix: allowlist workspace symlinks instead of blocklist

Prevents build failures when upstream adds new workspace packages.
2026-03-25 22:52:43 +07:00
2026-03-06 16:49:40 +01:00
2026-03-06 16:49:40 +01:00
2026-02-25 13:53:23 +07:00
2026-03-25 22:33:28 +07:00
2026-02-05 15:08:41 +07:00

Paseo logo

Paseo

One interface for all your coding agents.

Paseo app screenshot


Run agents in parallel on your own machines. Ship from your phone or your desk.

  • Self-hosted — Agents run on your machine with your full dev environment. Use your tools, your configs, and your skills.
  • Multi-provider — Claude Code, Codex, and OpenCode through the same interface. Pick the right model for each job.
  • Voice control — Dictate tasks or talk through problems in voice mode. Hands-free when you need it.
  • Cross-device — iOS, Android, desktop, web, and CLI. Start work at your desk, check in from your phone, script it from the terminal.

Getting Started

Download the desktop app from paseo.sh or the GitHub releases page — it bundles the daemon so there's nothing else to install.

Headless / server mode

To run the daemon on a remote or headless machine:

npm install -g @getpaseo/cli
paseo

Then connect from the desktop app, mobile app, or CLI.

For full setup and configuration, see:

Development

Quick monorepo package map:

  • packages/server: Paseo daemon (agent process orchestration, WebSocket API, MCP server)
  • packages/app: Expo client (iOS, Android, web)
  • packages/cli: paseo CLI for daemon and agent workflows
  • packages/desktop: Electron desktop app
  • packages/relay: Relay package for remote connectivity
  • packages/website: Marketing site and documentation (paseo.sh)

Common commands:

# run all local dev services
npm run dev

# run individual surfaces
npm run dev:server
npm run dev:app
npm run dev:website

# repo-wide checks
npm run typecheck

License

AGPL-3.0

Languages
TypeScript 97.6%
JavaScript 1.7%
Shell 0.2%
Kotlin 0.2%