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 only the compositor binary. The status bar and helpers are stock
swaybar, swaymsg, and swaynag — same i3/Sway IPC, less to maintain.
| Gesture | Action |
|---|---|
| 3-finger left / right | Scroll the window strip |
| 4-finger up / down | Next / previous workspace |
| 2-finger scroll | Natural scrolling inside apps |
| Windows | Auto-tile |
|---|---|
| 1 | Full width |
| 2 | 50 / 50 |
| 3+ | Pairs of 50 / 50; odd last column full |
Live session
| Item | Value |
|---|---|
| User | liveuser |
| Password | empty (Enter) |
| Desktop | Swirl + SweetPotato |
| Colors | #a73b50 · #f79b29 · #1d1f21 |
Default apps
| Role | App |
|---|---|
| Browser | Brave Origin |
| Files | Thunar |
| Editor | Geany |
| Calculator | galculator |
| Terminal | foot |
| Video | mpv + yt-dlp |
| Image edit | GIMP |
| Music / radio | Spore |
| Nearby share | LocalSend |
| mupdf | |
| Images | swayimg |
| Torrents | tuber |
| Webcam | guvcview |
| Color picker | hyprpicker |
| Packages | Shelly (+ yay / AUR) |
| Disks | GNOME Disks |
| System monitor | btop |
Useful binds
Mod is usually the Super/Windows key.
| Bind | Action |
|---|---|
Mod+? | Floating keybind cheatsheet (toggle) |
| Bind | Action |
|---|---|
Mod+Space | App launcher |
Mod+Return | Terminal (foot) |
Mod+n | Wi‑Fi / NetworkManager |
Mod+w | Web browser (Brave Origin) |
Mod+f | Files (Thunar) |
Mod+e | Editor (Geany) |
Mod+r | Music / radio (Spore) |
Mod+t | Torrents (tuber) |
Mod+m | Expand focused column ↔ 50/50 |
Mod+a / Mod+Shift+space | Floating toggle |
Mod+Shift+w | Wallpaper (waypaper) |
Mod+Shift+d | Displays (nwg-displays) |
Mod+Shift+r | Resize mode |
Mod+l | Lock screen |
Mod+c | Caffeine (idle lock off) |
Mod+o / Mod+Escape | Power off |
Mod+i | Installer (live ISO) |
Mod+q | Close focused window |
Mod+Tab | Workspace overview (Super+drag windows between desktops) |
Mod+Shift+Tab | Overview of windows on the current desktop |
| Click (in overview) | Zoom back in on that window / desktop |
Mod+Up / Mod+Down | Workspace above / below (also exits overview) |
Mod+Ctrl+Up / Mod+Ctrl+Down | Move window to workspace above / below |
Mod+Shift+1–0 | Move window to workspace 1–10 |
Mod+Shift+c | Reload Swirl config |
Print | Screenshot |
Mod+Print | Screen record toggle |
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.
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 / materialize. 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 floating cheatsheet (Mod+?) also points at this file.
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.