Skip to content

Linux + WSL2 support (drop macOS-only)#35

Merged
0xadvait merged 1 commit into
mainfrom
linux-wsl2
Jun 25, 2026
Merged

Linux + WSL2 support (drop macOS-only)#35
0xadvait merged 1 commit into
mainfrom
linux-wsl2

Conversation

@0xadvait

Copy link
Copy Markdown
Collaborator

Hermes and ghost's privacy stack are already cross-platform (Python via uv); only the service wiring was macOS-specific. This generalizes it:

  • install.sh accepts macOS and Linux/WSL2. On Linux it runs the scrubber + og-veil as systemd --user services (auto-restart, reboot persistence via enable-linger), with a background-process fallback where systemd --user isn't available (some WSL2 setups).
  • New systemd/ user-unit templates.
  • OS-guarded the macOS-only bits (open -a Ollama).
  • README: 'macOS, Linux, or WSL2' + platform badge.

macOS path is byte-for-byte the same launchd flow (verified both services still start). The Linux/WSL2 path is implemented but not yet tested on a real Linux/WSL2 machine -- worth a smoke test there before relying on it.

The engine (Hermes) and the privacy stack (Python via uv) are cross-platform;
only the service wiring was macOS-specific. Generalize it:

- install.sh: accept Darwin + Linux; on Linux/WSL2 run the scrubber + og-veil
  via systemd --user (auto-restart + reboot persistence via linger), with a
  plain background-process fallback where systemd --user isn't available
- add systemd/ user-unit templates (ghost-scrubber, ghost-veil)
- OS-guard the macOS-only bits (open -a Ollama)
- README: 'on macOS, Linux, or WSL2' and a platform badge to match

macOS path is unchanged (launchd); verified it still starts both services.
The Linux/WSL2 path is implemented but not yet verified on a real Linux box.
@0xadvait 0xadvait merged commit 538f363 into main Jun 25, 2026
@0xadvait 0xadvait deleted the linux-wsl2 branch June 25, 2026 17:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant