Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
SkyOS
A BeOS-inspired Linux desktop built from scratch in C. Custom window manager, deskbar, launcher, GTK theme, and graphical installer — all running on Arch Linux with a bootable ISO.
What it is
SkyOS is a complete desktop environment built on X11/Xlib with a distinctive dark blue aesthetic. It ships as a bootable ISO you can try live or install to disk.
Components
| Component | Description |
|---|---|
skywm |
Stacking window manager — titlebars, 3-button close/maximize/minimize, snap-to-edge, double-click maximize |
skydeskbar |
Sidebar panel — clock, date, task list, CPU/RAM/battery status |
skylauncher |
App launcher — keyboard-driven grid of application shortcuts |
skyinstall-gui |
Graphical installer wizard — disk selection, user setup, live progress |
SkyOS GTK theme |
Matching dark theme for GTK 2/3 apps |
Building the ISO
Requirements: Docker Desktop (Mac/Windows/Linux)
./build-iso.sh
Output: dist/skyos-YYYYMMDD.iso
The build runs entirely inside a Docker container — no Arch Linux install required on the host. First build downloads ~600 MB of packages and takes 10–20 minutes. Subsequent builds are fast thanks to Docker layer caching.
What the build does
- Starts from the official
archlinux:latestDocker image - Installs
archisoand build tools - Builds the SkyOS binaries (
skywm,skydeskbar,skylauncher,skyinstall-gui) - Assembles an archiso profile with the full package set
- Produces a hybrid ISO that boots on both UEFI and legacy BIOS hardware
Flashing to USB
Balena Etcher (recommended): https://etcher.balena.io — drag the ISO, pick the USB, flash.
Command line (Mac/Linux):
# Find your USB drive first
diskutil list # macOS
lsblk # Linux
# Flash (replace diskN / sdX)
sudo dd if=dist/skyos-*.iso of=/dev/diskN bs=4m # macOS
sudo dd if=dist/skyos-*.iso of=/dev/sdX bs=4M # Linux
Booting
Boot from the USB. SkyOS starts the live desktop automatically — no login required (user: sky, password: skyos).
Intel Mac notes:
- Hold
Optionat startup to select the USB boot device - WiFi uses the
broadcom-wldriver (loaded automatically) - Trackpad: tap-to-click and two-finger scroll are enabled by default
- Audio uses PipeWire + SOF firmware for Intel HDA
Installing to disk
Click Install SkyOS in the launcher, or run sudo skyinstall-gui from a terminal.
The graphical installer walks through:
- Disk selection (shows all disks ≥ 4 GB with model and size)
- Hostname, username, and password
- Review screen with erase warning
- Live installation with progress bar and log
- Reboot
The installer auto-detects UEFI vs legacy BIOS and sets up the appropriate bootloader (systemd-boot for UEFI, GRUB for BIOS).
Included software
| Category | Applications |
|---|---|
| Browser | Firefox |
| Office | OnlyOffice |
| Files | Thunar |
| Terminal | XTerm |
| Video | mpv |
| Images | Viewnior |
| Evince | |
| Text editor | Mousepad |
| Audio | PipeWire, pavucontrol |
| Network | NetworkManager, nm-applet |
| Bluetooth | bluez, blueman |
| Compositor | picom (GLX, xrender fallback) |
| Notifications | dunst |
Building from source (without Docker)
Requires an Arch Linux system with libx11, libxft, fontconfig development headers.
make # build all components
make install # install to /usr/local (run as root)
Individual components:
make -C wm # skywm
make -C deskbar # skydeskbar
make -C launcher # skylauncher
make -C installer # skyinstall-gui
Project layout
OS/
├── wm/ skywm window manager (C/Xlib)
├── deskbar/ skydeskbar panel (C/Xlib/Xft)
├── launcher/ skylauncher app grid (C/Xlib/Xft)
├── installer/ skyinstall-gui + skyinstall backend
├── themes/
│ ├── SkyOS/ GTK 2/3 theme
│ ├── picom.conf compositor config
│ └── skywallpaper wallpaper setter
├── iso/
│ └── docker/ Dockerfile + entrypoint.sh (ISO builder)
├── build-iso.sh one-command ISO build script
└── Makefile
Keyboard shortcuts
| Shortcut | Action |
|---|---|
Alt + F1 |
Open launcher |
Alt + F4 |
Close window |
Alt + F10 |
Toggle maximize |
Super + ← |
Snap window left |
Super + → |
Snap window right |
Alt + drag |
Move window |
XF86MonBrightness↑↓ |
Screen brightness |
XF86Audio* |
Volume / mute |
License
MIT
