WendyOS - A Swift-first Embedded Linux distro

Hey everyone,

I'm excited to share a project I've been building: WendyOS - an open-source, Swift-first Linux distribution designed to make embedded development radically simpler.

The Problem

Anyone who's worked with embedded Linux boards like NVIDIA Jetson knows the pain: hours of setup, flashing SD cards, hunting for IP addresses, configuring SSH, installing toolchains. We recently ran an experiment with an MIT robotics student who spent 3.5 hours on the traditional Jetson setup and still couldn't get to building apps. With WendyOS, she went from brew install to running code on the device in 3 minutes.

What WendyOS Does

brew install wendylabsinc/tap/wendy  # Install the CLI
wendy os install  # Flash WendyOS to your device
wendy run  # Deploy your Swift package or Dockerfile

That's it. No monitors, keyboards, or complex flashing workflows. Just USB-C and your code.

WendyOS currently supports NVIDIA Jetson boards with Raspberry Pi support coming soon. The CLI runs on macOS, Linux, and Windows!

Built on the Swift Ecosystem

WendyOS is a showcase of what's possible with Swift outside of Apple platforms. The entire stack leverages:

  • grpc-swift: The agent daemon exposes gRPC services over mTLS for secure device communication
  • swift-container-plugin: Build OCI container images directly from SwiftPM packages
  • Hummingbird: Powers our container registry API and OpenTelemetry proxy
  • swift-otel: Full observability with logs, metrics, and traces streamed to your CLI
  • swift-certificates: Certificate management for mTLS

Open Source & Upstreaming

Everything is open source:

We've also been contributing back to the ecosystem with PRs to:

  • Swift VSCode Extension (remote debugging support)
  • SwiftNIO Windows support
  • grpc-swift
  • swift-container-plugin
  • Tuist/Noora (Windows support + improvements)
  • MLX-Swift on Linux

Features

  • Cross-compilation from any host OS to ARM64 Linux
  • Remote debugging with LLDB via the VSCode extension
  • OTA updates and fleet management
  • Setup over USB, Bluetooth, or LAN
  • Container-based app isolation using containerd

Why Swift?

Swift's type safety, performance, and async/await model make it excellent for systems programming. We're generating OCI runtime specs, managing container lifecycles, and streaming telemetry data - all in pure Swift.

In addition, Swift's memory and concurrency safety provide compile-time guarantees which are great for security, but also serve as a feedback loop for coding agents.

I'd love to hear your thoughts, feedback, and ideas. If you're working on embedded projects or interested in Swift beyond Apple platforms, give it a try and let me know how it goes!

16 Likes