What you get
- Live Swirl session (
liveuser, empty password, sudo without password) - Autologin on tty1 → SweetPotato desktop
- Installer autostarts (also
Mod+i/ Install SweetPotatOs) - Installed system uses GRUB and Ly on tty2 (pick the Swirl session)
Swirl
Swirl is the Wayland compositor SweetPotatOs ships:
a light scrolling tiling window manager forked from Scroll/Sway, with a layout inspired by Niri.
Windows sit as columns on an infinite horizontal strip; workspaces move vertically.
Config stays Sway-compatible under ~/.config/swirl/.
Swirl ships the compositor together with swirlbar, swaymsg, the power-off bar, and swirlmenu.
The older swaybar, swaymsg, and swaynag names still work as aliases.
Smart Brightness is on by default: fullscreen video (mpv, YouTube in a browser, and similar) goes to max backlight, then your level comes back when you leave.
Toggle with Mod+Ctrl+b.
| Gesture | Action |
|---|---|
| 3-finger left / right | Scroll the window strip |
| 4-finger up / down | Next / previous workspace |
| Windows | Auto-tile |
|---|---|
| 1 | Full width |
| 2 | 50 / 50 |
| 3+ | New window half; others keep their size |
Default apps
- Browser Brave Origin
- Files Thunar
- Editor Geany
- Calculator galculator
- Terminal foot
- Shell fish
- Video mpv + yt-dlp
- Image edit GIMP
- Music / radio Spore
- Nearby share LocalSend
- PDF mupdf
- Images swayimg
- Torrents Tuber
- Wallpaper draw Laniakea
- Webcam guvcview
- Color picker hyprpicker
- Packages Shelly (+ yay)
- Disks GNOME Disks
- System monitor btop
Staying updated
From Third Harvest onward, desktop and SweetPotatOs package fixes ship as a rolling channel. On an installed system:
sudo sweetpotatos-update
That installs or upgrades SPO-owned packages (theme, Swirl, Spore, Tuber, …) and refreshes shipped
~/.config defaults. New apps added on the channel (for example Tuber replacing
Transmission) land on the next update — you do not need a fresh ISO. It does not
run a full Arch pacman -Syu (kernel / base stay on the Arch lane). New Harvest ISOs
remain for fresh installs and marketing.
If experiments leave the desktop messy, reset shipped config to the channel defaults. It clears
user_edits forks, keeps ~/.config/swirl/config.d/user and your display
layout, then sprouts like an update. Run it as your user (not root), then
Mod+Shift+c if Swirl did not reload:
sweetpotatos-pruning
Custom Swirl config (overrides)
Do not edit the main ~/.config/swirl/config for personal
binds — updates replace that file. Put your changes in the override file instead:
~/.config/swirl/config.d/user
It is seeded once on first install, included last by the main config
(so your lines win), and is never overwritten by
sweetpotatos-update / sprout. Edit it, then reload with
Mod+Shift+c.
Who owns what
| Path | Role |
|---|---|
~/.config/swirl/config (+ scripts) | SweetPotato defaults — replaced by updates |
~/.config/swirl/config.d/user | Your overrides — yours forever |
~/.config/sweetpotatos/user_edits/… | Optional whole-file forks that also survive updates |
Examples (add under the header in config.d/user):
# Extra bind (keeps the default unless you unbind first):
bindsym $mod+Shift+b exec firefox
# Replace a default bind:
unbindsym $mod+w
bindsym $mod+w exec firefox
# Floating rule:
for_window [app_id="mpv"] floating enable
Tip: the cheatsheet (Mod+?) also points at this file.
The full bind list is on the keybinds page.
Write ISO to USB
lsblk # find the USB disk, e.g. /dev/sdX — not a partition
sudo dd if=Sweetpotatos_*.iso of=/dev/sdX bs=4M status=progress oflag=sync
Prefer verifying the download with the .sha256 file next to the ISO on the Files page.