Update README for OrionOS (complete rewrite)
Replace stale SkyOS content with current OrionOS state: - All component names updated (orionwm, oriondeskbar, etc.) - New components documented: Nebula, OrionPkg - Installer wizard now lists 6 steps including timezone/keyboard - Full keyboard shortcut table including Super+S, PrintScreen - Right-click menu contents - Nebula and OrionPkg usage sections - Updated included software (Alacritty, Papirus, parcellite, scrot) - Updated project layout tree - Component naming/star theme section Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
1 parent
0ed61cea4c
commit
e3bc761f25
1 file changed
+149
-65
@@ -1,24 +1,24 @@
|
|||||||
# SkyOS
|
# OrionOS
|
||||||
|
|
||||||
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.
|
A BeOS-inspired Linux desktop built from scratch in C. Custom window manager, panel, app launcher, settings panel, package manager, and graphical installer — all running on Arch Linux, shipped as a bootable ISO.
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## What it is
|
## 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.
|
OrionOS is a complete desktop environment built on X11/Xlib with a dark navy aesthetic. It ships as a bootable ISO you can try live or install to disk. Every shell component is written in native C with no toolkit dependency — just Xlib and Xft.
|
||||||
|
|
||||||
**Components**
|
### Components
|
||||||
|
|
||||||
| Component | Description |
|
| Binary | Name | Description |
|
||||||
|-----------|-------------|
|
|--------|------|-------------|
|
||||||
| `skywm` | Stacking window manager — titlebars, 3-button close/maximize/minimize, snap-to-edge, double-click maximize |
|
| `orionwm` | OrionWM | Stacking window manager — titlebars, 3-button decorations, snap-to-edge, Alt+Tab switcher |
|
||||||
| `skydeskbar` | Sidebar panel — clock, date, task list, CPU/RAM/battery status |
|
| `oriondeskbar` | OrionDeskbar | Sidebar panel — clock, task list, workspace switcher, XEMBED system tray, CPU/RAM status |
|
||||||
| `skylauncher` | App launcher — keyboard-driven grid of application shortcuts |
|
| `orionlauncher` | OrionLauncher | App launcher — reads `.desktop` files, category tabs, live search |
|
||||||
| `skyinstall-gui` | Graphical installer wizard — disk selection, user setup, live progress |
|
| `nebula` | Nebula | Settings panel — Display, Appearance, Input, and About tabs |
|
||||||
| `SkyOS GTK theme` | Matching dark theme for GTK 2/3 apps |
|
| `orionpkg` | OrionPkg | Package manager — lists available updates, runs `pacman -Syu` with live log |
|
||||||
|
| `orioninstall-gui` | Installer | Graphical installer wizard — disk, timezone, keyboard, user, progress |
|
||||||
|
| `orionwallpaper` | Wallpaper | Sets or restores the desktop wallpaper |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -30,17 +30,18 @@ SkyOS is a complete desktop environment built on X11/Xlib with a distinctive dar
|
|||||||
./build-iso.sh
|
./build-iso.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
Output: `dist/skyos-YYYYMMDD.iso`
|
Output: `dist/orionos-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.
|
The build runs entirely inside a Docker container — no Arch Linux install required on the host. First build downloads ~700 MB of packages and takes 10–20 minutes. Subsequent builds are faster thanks to Docker layer caching.
|
||||||
|
|
||||||
### What the build does
|
### What the build does
|
||||||
|
|
||||||
1. Starts from the official `archlinux:latest` Docker image
|
1. Starts from `archlinux:latest`
|
||||||
2. Installs `archiso` and build tools
|
2. Installs `archiso` and all build tools
|
||||||
3. Builds the SkyOS binaries (`skywm`, `skydeskbar`, `skylauncher`, `skyinstall-gui`)
|
3. Compiles all OrionOS binaries inside the container
|
||||||
4. Assembles an archiso profile with the full package set
|
4. Assembles an archiso profile with the full package set
|
||||||
5. Produces a hybrid ISO that boots on both UEFI and legacy BIOS hardware
|
5. Bakes in the Plymouth boot splash (dark navy + accent blue)
|
||||||
|
6. Produces a hybrid ISO bootable on UEFI and legacy BIOS hardware
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -48,55 +49,127 @@ The build runs entirely inside a Docker container — no Arch Linux install requ
|
|||||||
|
|
||||||
**Balena Etcher (recommended):** https://etcher.balena.io — drag the ISO, pick the USB, flash.
|
**Balena Etcher (recommended):** https://etcher.balena.io — drag the ISO, pick the USB, flash.
|
||||||
|
|
||||||
**Command line (Mac/Linux):**
|
**Command line:**
|
||||||
```bash
|
```bash
|
||||||
# Find your USB drive first
|
# Find your USB drive
|
||||||
diskutil list # macOS
|
diskutil list # macOS
|
||||||
lsblk # Linux
|
lsblk # Linux
|
||||||
|
|
||||||
# Flash (replace diskN / sdX)
|
# Flash (replace diskN / sdX)
|
||||||
sudo dd if=dist/skyos-*.iso of=/dev/diskN bs=4m # macOS
|
sudo dd if=dist/orionos-*.iso of=/dev/diskN bs=4m # macOS
|
||||||
sudo dd if=dist/skyos-*.iso of=/dev/sdX bs=4M # Linux
|
sudo dd if=dist/orionos-*.iso of=/dev/sdX bs=4M # Linux
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Booting
|
## Booting
|
||||||
|
|
||||||
Boot from the USB. SkyOS starts the live desktop automatically — no login required (user: `sky`, password: `skyos`).
|
Boot from the USB. OrionOS starts the live desktop automatically.
|
||||||
|
|
||||||
**Intel Mac notes:**
|
- **Live user:** `orion` / **Password:** `orionos`
|
||||||
- Hold `Option` at startup to select the USB boot device
|
- **Intel Mac:** Hold `Option` at startup to select the USB boot device
|
||||||
- WiFi uses the `broadcom-wl` driver (loaded automatically)
|
- **WiFi:** `broadcom-wl` driver loads automatically
|
||||||
- Trackpad: tap-to-click and two-finger scroll are enabled by default
|
- **Trackpad:** tap-to-click and two-finger natural scroll enabled by default
|
||||||
- Audio uses PipeWire + SOF firmware for Intel HDA
|
- **Audio:** PipeWire + SOF firmware for Intel HDA
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Installing to disk
|
## Installing to disk
|
||||||
|
|
||||||
Click **Install SkyOS** in the launcher, or run `sudo skyinstall-gui` from a terminal.
|
Right-click the desktop → **App Launcher** → find **Install OrionOS**, or run `sudo orioninstall-gui` from a terminal.
|
||||||
|
|
||||||
The graphical installer walks through:
|
The wizard walks through:
|
||||||
|
|
||||||
1. Disk selection (shows all disks ≥ 4 GB with model and size)
|
1. **Disk selection** — lists all disks ≥ 4 GB with model and size
|
||||||
2. Hostname, username, and password
|
2. **Timezone & Keyboard** — searchable timezone list (37 zones), 20 keyboard layouts
|
||||||
3. Review screen with erase warning
|
3. **User account** — hostname, username, password
|
||||||
4. Live installation with progress bar and log
|
4. **Review** — erase warning before anything is written
|
||||||
5. Reboot
|
5. **Installing** — live progress bar and log output
|
||||||
|
6. **Done** — reboot prompt
|
||||||
|
|
||||||
The installer auto-detects UEFI vs legacy BIOS and sets up the appropriate bootloader (`systemd-boot` for UEFI, `GRUB` for BIOS).
|
The installer auto-detects UEFI vs legacy BIOS and sets up `systemd-boot` or GRUB accordingly.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Desktop usage
|
||||||
|
|
||||||
|
### Right-click menu
|
||||||
|
|
||||||
|
Right-click anywhere on the desktop:
|
||||||
|
|
||||||
|
| Item | Action |
|
||||||
|
|------|--------|
|
||||||
|
| App Launcher | Open the application grid |
|
||||||
|
| Terminal | Launch Alacritty |
|
||||||
|
| File Manager | Open Thunar |
|
||||||
|
| Text Editor | Open Mousepad |
|
||||||
|
| Web Browser | Open Firefox |
|
||||||
|
| System Monitor | `htop` in a terminal |
|
||||||
|
| Volume Control | pavucontrol |
|
||||||
|
| System Settings | Open Nebula |
|
||||||
|
| Software Updates | Open OrionPkg |
|
||||||
|
| Display Settings | arandr |
|
||||||
|
| Change Wallpaper | Reset to default wallpaper |
|
||||||
|
| Restart OrionWM | Restart the window manager |
|
||||||
|
| Quit OrionOS | End the session |
|
||||||
|
|
||||||
|
### Keyboard shortcuts
|
||||||
|
|
||||||
|
| Shortcut | Action |
|
||||||
|
|----------|--------|
|
||||||
|
| `Alt + F1` | Open app launcher |
|
||||||
|
| `Alt + F4` | Close focused window |
|
||||||
|
| `Alt + F9` | Minimize focused window |
|
||||||
|
| `Alt + F10` | Toggle maximize |
|
||||||
|
| `Alt + Tab` | Visual window switcher |
|
||||||
|
| `Super + ←` | Snap window left half |
|
||||||
|
| `Super + →` | Snap window right half |
|
||||||
|
| `Super + ↑` | Maximize window |
|
||||||
|
| `Super + ↓` | Restore window |
|
||||||
|
| `Super + S` | Open Nebula (System Settings) |
|
||||||
|
| `PrintScreen` | Full screenshot → `~/Pictures` |
|
||||||
|
| `Shift + PrintScreen` | Region screenshot → `~/Pictures` |
|
||||||
|
| `XF86MonBrightness↑↓` | Screen brightness |
|
||||||
|
| `XF86AudioMute` | Toggle mute |
|
||||||
|
| `XF86AudioLowerVolume` | Volume down |
|
||||||
|
| `XF86AudioRaiseVolume` | Volume up |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Settings (Nebula)
|
||||||
|
|
||||||
|
Open with **Super+S**, right-click → **System Settings**, or `nebula &`.
|
||||||
|
|
||||||
|
| Tab | Controls |
|
||||||
|
|-----|---------|
|
||||||
|
| Display | Resolution (cycles via xrandr), DPI (96/144), Brightness |
|
||||||
|
| Appearance | Reset wallpaper, open ~/Pictures, shows active theme info |
|
||||||
|
| Input | Key repeat delay + rate, tap-to-click, natural scrolling |
|
||||||
|
| About | Version, component list, platform info |
|
||||||
|
|
||||||
|
Changes are staged and applied when you click **Apply** (or press Enter).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Software Updates (OrionPkg)
|
||||||
|
|
||||||
|
Open with right-click → **Software Updates** or `orionpkg &`.
|
||||||
|
|
||||||
|
- Runs `checkupdates` on launch to list available upgrades
|
||||||
|
- Shows package name, current version, and new version
|
||||||
|
- **Update All** runs `pkexec pacman -Syu` with a live log and progress bar
|
||||||
|
- **Refresh** re-checks without restarting the app
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Included software
|
## Included software
|
||||||
|
|
||||||
| Category | Applications |
|
| Category | Application |
|
||||||
|----------|-------------|
|
|----------|-------------|
|
||||||
| Browser | Firefox |
|
| Browser | Firefox |
|
||||||
| Office | OnlyOffice |
|
| Office | OnlyOffice |
|
||||||
| Files | Thunar |
|
| Files | Thunar |
|
||||||
| Terminal | XTerm |
|
| Terminal | Alacritty |
|
||||||
| Video | mpv |
|
| Video | mpv |
|
||||||
| Images | Viewnior |
|
| Images | Viewnior |
|
||||||
| PDF | Evince |
|
| PDF | Evince |
|
||||||
@@ -104,14 +177,17 @@ The installer auto-detects UEFI vs legacy BIOS and sets up the appropriate bootl
|
|||||||
| Audio | PipeWire, pavucontrol |
|
| Audio | PipeWire, pavucontrol |
|
||||||
| Network | NetworkManager, nm-applet |
|
| Network | NetworkManager, nm-applet |
|
||||||
| Bluetooth | bluez, blueman |
|
| Bluetooth | bluez, blueman |
|
||||||
| Compositor | picom (GLX, xrender fallback) |
|
| Compositor | picom |
|
||||||
| Notifications | dunst |
|
| Notifications | dunst |
|
||||||
|
| Clipboard | parcellite (tray icon + history) |
|
||||||
|
| Screenshots | scrot |
|
||||||
|
| Icons | Papirus Dark |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Building from source (without Docker)
|
## Building from source
|
||||||
|
|
||||||
Requires an Arch Linux system with `libx11`, `libxft`, `fontconfig` development headers.
|
Requires an Arch Linux system (or container) with `libx11`, `libxft`, and `fontconfig` development headers.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
make # build all components
|
make # build all components
|
||||||
@@ -121,10 +197,12 @@ make install # install to /usr/local (run as root)
|
|||||||
Individual components:
|
Individual components:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
make -C wm # skywm
|
make -C wm # orionwm
|
||||||
make -C deskbar # skydeskbar
|
make -C deskbar # oriondeskbar
|
||||||
make -C launcher # skylauncher
|
make -C launcher # orionlauncher
|
||||||
make -C installer # skyinstall-gui
|
make -C nebula # nebula
|
||||||
|
make -C orionpkg # orionpkg
|
||||||
|
make -C installer # orioninstall-gui + orioninstall
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
@@ -133,34 +211,40 @@ make -C installer # skyinstall-gui
|
|||||||
|
|
||||||
```
|
```
|
||||||
OS/
|
OS/
|
||||||
├── wm/ skywm window manager (C/Xlib)
|
├── wm/ orionwm — window manager (C/Xlib)
|
||||||
├── deskbar/ skydeskbar panel (C/Xlib/Xft)
|
├── deskbar/ oriondeskbar — panel (C/Xlib/Xft)
|
||||||
├── launcher/ skylauncher app grid (C/Xlib/Xft)
|
├── launcher/ orionlauncher — app grid (C/Xlib/Xft)
|
||||||
├── installer/ skyinstall-gui + skyinstall backend
|
├── nebula/ nebula — settings panel (C/Xlib/Xft)
|
||||||
|
├── orionpkg/ orionpkg — package manager GUI (C/Xlib/Xft)
|
||||||
|
├── installer/
|
||||||
|
│ ├── orioninstall-gui.c graphical installer wizard
|
||||||
|
│ └── orioninstall backend install script
|
||||||
├── themes/
|
├── themes/
|
||||||
│ ├── SkyOS/ GTK 2/3 theme
|
│ ├── OrionOS/ GTK 2/3 theme
|
||||||
│ ├── picom.conf compositor config
|
│ ├── picom.conf compositor config
|
||||||
│ └── skywallpaper wallpaper setter
|
│ └── orionwallpaper wallpaper setter script
|
||||||
├── iso/
|
├── iso/
|
||||||
│ └── docker/ Dockerfile + entrypoint.sh (ISO builder)
|
│ └── docker/
|
||||||
├── build-iso.sh one-command ISO build script
|
│ ├── Dockerfile Arch Linux-based ISO builder image
|
||||||
|
│ └── entrypoint.sh full build pipeline
|
||||||
|
├── build-iso.sh one-command ISO build
|
||||||
└── Makefile
|
└── Makefile
|
||||||
```
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Keyboard shortcuts
|
## Component naming
|
||||||
|
|
||||||
| Shortcut | Action |
|
OrionOS components are named after stars in the Orion constellation.
|
||||||
|----------|--------|
|
|
||||||
| `Alt + F1` | Open launcher |
|
| Name | Role |
|
||||||
| `Alt + F4` | Close window |
|
|------|------|
|
||||||
| `Alt + F10` | Toggle maximize |
|
| **OrionWM** | Window manager |
|
||||||
| `Super + ←` | Snap window left |
|
| **OrionDeskbar** | The panel (three icons like Orion's belt) |
|
||||||
| `Super + →` | Snap window right |
|
| **Nebula** | Settings panel |
|
||||||
| `Alt + drag` | Move window |
|
| **Rigel** *(planned)* | Native file manager |
|
||||||
| `XF86MonBrightness↑↓` | Screen brightness |
|
|
||||||
| `XF86Audio*` | Volume / mute |
|
Release names follow Orion's belt stars: **v1 Mintaka**, v2 Alnitak, v3 Alnilam.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user