Ouroboros Documentation
Install
Ouroboros is built from source. There are no pre-built binaries yet — the project is early and moving fast. Building takes about five minutes on a modern machine.
Prerequisites
You need three things installed:
| Tool | Version | Install |
|---|---|---|
| Rust | ≥ 1.80 | curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh |
| Bun | ≥ 1.1 | curl -fsSL https://bun.sh/install | bash |
| System libraries | varies | see platform section below |
Linux (Fedora / RHEL)
sudo dnf install -y \
webkit2gtk4.1-devel openssl-devel curl wget file \
libappindicator-gtk3-devel librsvg2-devel \
gcc gcc-c++ make gtk3-devel patchelf
Linux (Ubuntu / Debian)
sudo apt install -y \
libwebkit2gtk-4.1-dev libssl-dev curl wget file \
libayatana-appindicator3-dev librsvg2-dev \
build-essential libgtk-3-dev patchelf
macOS
xcode-select --install
Xcode command-line tools include everything Tauri needs on macOS. No additional packages required.
Windows
Install Build Tools for Visual Studio with the “Desktop development with C++” workload. Also install WebView2 (usually pre-installed on Windows 10+).
Clone and build
git clone https://git.sr.ht/~nikkilol/ouroboros
cd ouroboros/desktop-app
bun install
bun run dev
bun run dev launches the app in development mode — a live-reloading Tauri window backed by the SvelteKit dev server. Rust crates download on first build; subsequent launches are fast.
Production build
bun run package
This produces platform-native packages in src-tauri/target/release/bundle/:
| Platform | Output |
|---|---|
| Linux | .rpm and .AppImage |
| macOS | .dmg |
| Windows | .msi and .exe |
The AppImage is a single portable file — chmod +x and run, no install needed.
Updates
cd ouroboros
git pull
cd desktop-app
bun install
bun run package
First run
On first launch, Ouroboros creates a SQLite database at ~/.local/share/lol.nikki.ouroboros/ouroboros.db (Linux) or the platform equivalent. The app is empty until you connect a sync source in Settings.
The workspace folder
Notes are stored as flat markdown files in a folder you choose (Settings → Channels → Notes). The default is ~/Documents/Zettelkasten. Ouroboros watches this folder for changes — edits from other editors sync in automatically.
CalDAV
Add a CalDAV account in Settings → Channels → Add account. Enter the server URL, username, and password. Ouroboros discovers calendars and task lists automatically.
Tested with: Fastmail, Radicale, Baikal, Nextcloud. Any RFC 4791 compliant server should work.
CardDAV
Add a CardDAV account the same way. Ouroboros syncs contacts and creates shadow contacts from calendar attendees automatically.
Config schema
Configuration is stored in the SQLite database (sync_accounts table). There is no config file to edit manually — all settings are managed through the Settings UI.
Questions & issues
If you run into a bug or have a feature request, submit a ticket. You can also email hola@ouroboros.now.