SweetPotatOs

A unique minimalist distro made with love

Arch-based Linux distro

A live graphical ISO with the SweetPotato Swirl desktop and a Calamares installer, built to revive slow old potato PCs and make them sweet again.

Swirl on SweetPotatOs 75s screencast

What you get

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.

GestureAction
3-finger left / rightScroll the window strip
4-finger up / downNext / previous workspace
2-finger scrollNatural scrolling inside apps
WindowsAuto-tile
1Full width
250 / 50
3+Pairs of 50 / 50; odd last column full

Live session

ItemValue
Userliveuser
Passwordempty (Enter)
DesktopSwirl + SweetPotato
Colors#a73b50 · #f79b29 · #1d1f21

Default apps

RoleApp
BrowserBrave Origin
FilesThunar
EditorGeany
Calculatorgalculator
Terminalfoot
Videompv + yt-dlp
Image editGIMP
Music / radioSpore
Nearby shareLocalSend
PDFmupdf
Imagesswayimg
Torrentstuber
Webcamguvcview
Color pickerhyprpicker
PackagesShelly (+ yay / AUR)
DisksGNOME Disks
System monitorbtop

Useful binds

Mod is usually the Super/Windows key.

BindAction
Mod+?Floating keybind cheatsheet (toggle)
BindAction
Mod+SpaceApp launcher
Mod+ReturnTerminal (foot)
Mod+nWi‑Fi / NetworkManager
Mod+wWeb browser (Brave Origin)
Mod+fFiles (Thunar)
Mod+eEditor (Geany)
Mod+rMusic / radio (Spore)
Mod+tTorrents (tuber)
Mod+mExpand focused column ↔ 50/50
Mod+a / Mod+Shift+spaceFloating toggle
Mod+Shift+wWallpaper (waypaper)
Mod+Shift+dDisplays (nwg-displays)
Mod+Shift+rResize mode
Mod+lLock screen
Mod+cCaffeine (idle lock off)
Mod+o / Mod+EscapePower off
Mod+iInstaller (live ISO)
Mod+qClose focused window
Mod+TabWorkspace overview (Super+drag windows between desktops)
Mod+Shift+TabOverview of windows on the current desktop
Click (in overview)Zoom back in on that window / desktop
Mod+Up / Mod+DownWorkspace above / below (also exits overview)
Mod+Ctrl+Up / Mod+Ctrl+DownMove window to workspace above / below
Mod+Shift+1–0Move window to workspace 1–10
Mod+Shift+cReload Swirl config
PrintScreenshot
Mod+PrintScreen 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

PathRole
~/.config/swirl/config (+ scripts)SweetPotato defaults — replaced by updates
~/.config/swirl/config.d/userYour 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.