No description
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-06 20:35:37 +00:00
docs module: add searxng, chromadb and ntfy companion containers 2026-10-06 18:03:18 +00:00
.gitignore module: add searxng, chromadb and ntfy companion containers 2026-10-06 18:03:18 +00:00
flake.lock odysseus: nixos module running odysseus as a pinned docker container 2026-10-06 15:46:40 +00:00
flake.nix flake: pin image by digest (1.0.2 tag ref was pruned) 2026-10-06 20:35:37 +00:00
LICENSE add MIT LICENSE 2026-10-06 15:48:10 +00:00
README.md module: add searxng, chromadb and ntfy companion containers 2026-10-06 18:03:18 +00:00

odysseus-nix

⚠️ Disclaimer — vibe-coded, no guarantees

This flake was vibe-coded (written with an AI assistant) and then eyeballed. It evaluates and its check passes, but it is not a polished, battle-tested package. No guarantees — of correctness, completeness, security, or fitness for production. Use at your own risk.

Run Odysseus — the self-hosted AI workspace / agent harness by odysseus-dev — on NixOS as a pinned Docker container via a NixOS module.

It does not natively build the Python app (Python 3.14 + PEP 667 wheels

  • opencv/chromium is a swamp for near-zero benefit); it packages the official multi-arch image ghcr.io/odysseus-dev/odysseus with an immutable X.Y.Z-<sha> tag through virtualisation.oci-containers (docker backend).

Quick start

Verify the module evaluates:

nix build .#checks.<system>.odysseus-module .#checks.<system>.odysseus-companions \
  --extra-experimental-features 'nix-command flakes'

Wire it into a host:

# flake.nix
inputs.odysseus.url = "<url to this repository>";

# host config
{
  imports = [ inputs.odysseus.nixosModules.odysseus ];
  services.odysseus.enable = true;
  services.odysseus.extraEnv = { SEARXNG_INSTANCE = "http://<searxng-host>:8080"; };
}

Documentation

  • docs/configuration.md — all services.odysseus.* options, what the module sets, environment variables.
  • docs/usage.md — wiring into a host, sops secrets, backends, first boot, updating the image, troubleshooting.

Repository layout

├── flake.nix      # module + runnable check
├── flake.lock
├── LICENSE        # MIT
├── README.md
└── docs/
    ├── configuration.md
    └── usage.md

The flake exposes nixosModules.odysseus (import into a host) and checks.<system>.odysseus-module and checks.<system>.odysseus-companions (standalone evaluation checks).