personas, the workstation and the headless node, built from one codebase.
100%
of your prompts, files and keys stay on your hardware by default, not opt-in.
201MB
idle memory on the headless node. Measured, not a target we hope to hit.
Where the work actually runs.
Most agent work is grunt work: summarizing, refactoring, extracting,
drafting, testing. A local model on hardware you already own handles it
at zero marginal cost, offline, in private. The hard fraction (deep
reasoning, big context, the final call) goes to a frontier model over
the API.
vinOS wires that split in at the runtime layer, so it holds whether
you are one person at a desk or thirty workers on a rack.
Ollama serves local models on the metal,
Claude Code stands ready for the calls that earn their
price, and vinos-mcp governs which tools an agent can
reach. The API bill covers judgment, not volume.
One codebase. Two shapes.
The distro underneath differs because the job differs. The vinOS layer
on top (bash, systemd units, config drop-ins, the vinos
CLI) is byte-identical on both.
vinos-dev
The workstation you sit in front of.
base
Arch Linux, rolling
kernel
linux and linux-t2
you drive it
Hyprland, a keyboard, your hands
ships as
archiso image, BIOS and UEFI
idle memory
about 1.5 GB
updates
you run pacman -Syu
shipping, v1.4.0
vinos-vm
The headless node you never log into.
base
Ubuntu 24.04 LTS, minimal
kernel
linux-image-generic
you drive it
SSH, cloud-init, an orchestrator
ships as
qcow2, AMI, VHD
idle memory
201 MB, measured
updates
unattended, with a kernel-reboot gate
in development
Why two distros and not one? Because Arch on a cloud VM has an adoption
ceiling somewhere under one percent, and Ubuntu on a developer's
ThinkPad is a compromise nobody asked for. Rather than force one base
to be bad at half its job, vinOS keeps the base honest and moves the
portable part, the runtime, above it.
That is the whole architectural bet. A desktop distro cannot become a
fleet runtime later; a runtime can grow a desktop.
We built the runtime first.
A thin, readable layer you can leave.
Not a fork of anything. A runtime layer over an unmodified base: plain
bash, plain systemd units, plain config files. Read all of it in an
afternoon, walk away and nothing follows you.
┌───────────────────────────────────────────────────────────────┐
│ your agents# local · frontier · MCP tools │
│ ollama · claude code · vinos-mcp registry │
├───────────────────────────────────────────────────────────────┤
│ vinos runtime# identical on both personas │
│ bin/vinos-* · systemd units · /etc/vinos/* │
├──────────────────────────────┬────────────────────────────────┤
│ vinos-dev# workstation │ vinos-vm# headless node │
│ hyprland · waybar · walker │ cloud-init · agent worker │
│ foot · mako · greetd │ no session, no compositor │
├──────────────────────────────┼────────────────────────────────┤
│ arch linux# rolling │ ubuntu 24.04# LTS │
│ linux · linux-t2 (Apple T2) │ linux-image-generic │
└──────────────────────────────┴────────────────────────────────┘
Your cheapest node is the one you already own.
One ISO, any x86_64 machine. The laptop on your desk, the workstation
your OEM shipped preloaded, the box in the basement that has been idle
since 2021. Every one of them is a node that costs nothing per hour.
16 GB of RAM and a decade-old CPU run a 7B model comfortably. A
GPU or a fat server runs 30B. Drivers are detected and services tuned,
because a node you have to hand-configure is a node you will never add
a second of.
Including the Intel MacBooks Apple walked away from.
vinOS ships the linux-t2 kernel in the ISO and installs
it to disk on Apple hardware automatically. Keyboard, trackpad, Wi-Fi
and Touch Bar work from the live USB through to the installed system.
Known T2 limits: suspend is unreliable upstream (the
workarounds are documented), and Touch ID does not work under Linux.
Everything else does.
The desktop as it arrives. No dongles, no firmware scavenger hunt.
Three steps.
Nothing tricky. If you have flashed a USB before, you can install this.
Download.
Grab vinos-1.4.0-x86_64.iso from the
releases page.
About 4.0 GB, with a published checksum. Verify before you flash.
Flash.
Etcher, Rufus, or dd. Any 8 GB stick works. Five minutes.
Install.
Boot the stick. When the desktop loads, open a terminal and run:
sudo vinos-install-disk
Add only what you use.
The base stays small. Each bundle is a plain list of packages at
/usr/share/vinos/bundles/, installed by one command.
Install one with vinos-install ai. Nothing here is
preinstalled, and nothing here is required.
The whole cheat sheet.
Every binding is wired in the default Hyprland config and works on
first boot. Press Super+K to see it inside the OS.
Agents
Local AI chatSuper+A
Claude Code hereSuper+Shift+A
Launch
LauncherSuper+Space
TerminalSuper+Return
BrowserSuper+B
File managerSuper+E
EditorSuper+N
System monitorSuper+T
vinOS
Menu hubSuper+Ctrl+O
Wi-Fi pickerSuper+Ctrl+W
Bluetooth pickerSuper+Ctrl+B
Audio pickerSuper+Ctrl+U
Theme switchSuper+Ctrl+T
System doctorSuper+Ctrl+S
Lock screenSuper+L
Screen
Region, annotateSuper+P
Region to clipboardSuper+Shift+P
Region to clipboardPrintScreen
Colour pickerSuper+Shift+C
Windows
Close windowSuper+Q
FullscreenSuper+Shift+F
Float or tileSuper+V
Exit HyprlandSuper+Shift+E
Workspaces
Switch to 1 through 9Super+1
Move window thereSuper+Shift+1
Show cheat sheetSuper+K
How it stacks up.
Same kernel, same repos, same packages you could install yourself. The
difference is what is already done, and whether that work carries over
to the machine you never log into.
vinOS · Arch (stock) · DIY Hyprland
vinOS
Arch (stock)
DIY Hyprland
Live installer ISO
yes
yes
no
Hyprland pre-configured
yes
no
bring your own
T2, NVIDIA, ThinkPad drivers
baked in
manual
manual
Agent stack in one command
yes
no
no
First-boot user creation
TUI installer
archinstall
manual
Live theme switcher
5 themes
no
no
Opt-in app bundles
8 bundles
no
no
Sudo and security defaults
hardened
defaults
defaults
Time to a working desktop
about 15 min
about 45 min
a weekend
Same layer runs headless
one codebase
rebuild it
rebuild it
MCP tool registry
vinos-mcp
no
no
Is this for you?
Yes, if
You run agents on more than one machine and you are tired of each one being a snowflake.
You want the box under your desk and the box in the rack to behave identically.
You would rather a local model do the volume than meter every routine call through an API.
You need to know where the prompts, the files and the keys physically are, because someone will ask.
You have hardware sitting idle that could be doing work.
No, if
You want a hosted product with a support contract. This is infrastructure you run.
You only ever need one machine and it already works. Nothing here beats that.
You want a desktop distro. There are excellent ones, and some have real funding behind them.
Start with one node.
Flash it to a USB, boot any x86_64 machine (including the T2 MacBook in
your drawer) and you have a node running local models in about fifteen
minutes. Add the second one when the first has earned it.