Reference Commands
Every ShedOS tool is reachable as a subcommand of shedman. Long flags are the canonical spelling; short flags (-y, -n, -d, …) are aliases you can use wherever they’re listed below.
Note Run shedman with no arguments to list every installed subcommand with a one-line summary. shedman help <cmd> and shedman <cmd> --help both show a subcommand's full usage.
Discovery
| Command | Does |
shedman | List every subcommand with one-line summaries. |
shedman help <cmd> | Show <cmd>'s --help. |
shedman version | Print the installed shedos-system package version. |
Shell tab-completion is installed for zsh, bash, and fish. Man pages are available too: man shedman, man shedman-update, man shedman-apply, etc. Third-party packages can drop their own subcommands into /usr/libexec/shedman/.
Daily upgrades
shedman update is the primary upgrade command. It wraps pacman -Syu, yay -Sua (if installed), and shedman config —sync into one interactive flow bracketed by a snapper pre/post snapshot pair.
| Command | Does |
shedman update | Interactive: list pending updates, prompt y/N, run pacman → yay → config sync. |
shedman update -y | Unattended: threads --noconfirm through pacman/yay. Conflicts still drop .shedosnew. |
shedman update -l | Print recent snapper snapshots (rollback candidates). |
shedman update -r <N> | Roll back to snapshot N. Reboot required. |
shedman update --history | Open the upgrade-history TUI. |
Dotfile sync — shedman config
| Command | Does |
shedman config -s | Apply the 3-way merge interactively; prints a plan, asks y/N. |
shedman config -s -n | Print what would change, do nothing. |
shedman config -s --rebuild-manifest | Re-hash $HOME against current defaults. |
shedman config -r | Open the IDE-style merge TUI for unresolved .shedosnew files. |
Rollback & checkpoints
| Command | Does |
shedman rollback <N> | Rename @ to @.rollback-<ts>, snapshot N into a fresh @. Reboot required. |
shedman rollback -l | Show recent snapper snapshots and exit. |
shedman rollback -u | Promote the most recent @.rollback-<ts> back to @. |
shedman snapshot <label> | Create a checkpoint; prints the snapshot number and the restore command. |
shedman snapshot -l | List manual checkpoints. |
Observability
Four waybar-backed signals. Click the matching waybar pill for the same action.
| Command | Does |
shedman updates | Pending pacman + AUR update count. |
shedman conflicts | Unresolved .shedosnew count. |
shedman health | Disk / memory / battery / CPU-temp / SMART / btrfs-scrub summary. |
shedman doctor | Drift between /etc/shedos/system.toml and live state. |
shedman status | All four signals plus a verdict line, in one screen. |
shedman status -j | Aggregated JSON payload (schema-versioned). |
Declarative state
/etc/shedos/system.toml is the source of truth for systemd units, drop-ins, pacman repos, snapper configs, and the Postgres service shape.
| Command | Does |
shedman apply | Plan, prompt, apply. |
shedman apply -n | Plan and exit. |
shedman apply --validate | Parse and validate the TOML; exit 0 if OK, 2 on schema error. |
shedman doctor -d | Unified diff for every drift entry. |
shedman doctor -f | Delegate to shedman apply --yes. |
Warning shedman apply is intentionally not timer-driven — surprise reconciles are hostile. shedman doctor runs on a 6-hour user timer and pings the waybar pill + mako if drift appears.
Installation helpers
| Command | Does |
shedman install <pkg> | Install one or more packages. Source auto-detected: pacman first (official + [shedos]), then yay/AUR. |
shedman install -s <query> | Search across pacman repos and AUR. |
shedman uninstall <pkg> | Remove packages + unused deps; routes pacman vs yay automatically, prompts first. |
shedman migrate --from-arch | Adopt an existing Arch install into ShedOS without reinstalling. Dry-run by default. |
Desktop & session
| Command | Does |
shedman keybindings | Every keybinding and gesture in a searchable dialog (Super+Alt+K). |
shedman launcher | Open the Walker app launcher. |
shedman dock <verb> | Manage the dock: toggle, position <edge>, pin/unpin, status. |
shedman power / lock | The power menu / lock the session. |
shedman theme set <key> <value> | Switch palette, wallpaper, font_ui, or font_mono; re-renders everything live. |
System management
| Command | Does |
shedman kernel -l | Installed kernels; * marks the default Limine entry. |
shedman services | Table of expected services with enabled/active state. |
shedman datetime | Set timezone, network time, the system clock, and the night-light schedule. |
shedman db create / drop / list | Per-project databases, run as you. |
shedman fingerprint <verb> | Manage fingerprint enrollments (login + sudo). |
shedman upgrade-history | Browse past upgrades and roll back to any snapshot. |
pacman cheatsheet
| Command | Does |
sudo pacman -Syu | System upgrade (skips the config-sync step). |
pacman -Ss <term> | Search the repos. |
sudo pacman -S <pkg> | Install a package. |
sudo pacman -Rns <pkg> | Remove a package with its config + orphaned deps. |
pacman -Qo <path> | Which package owns a path? |
pacman -Qdt | List orphaned dependencies. |
sudo pacman -Scc | Clean the package cache. |
yay cheatsheet (AUR)
| Command | Does |
yay -Sua | AUR-only upgrade. |
yay -S <pkg> | Install from AUR (prompts, builds, installs). |
yay -Rns <pkg> | Remove an AUR package. |
yay -Yc | Clean orphan + unneeded AUR deps. |
Info Proprietary AUR packages (Chrome, Postman, JetBrains Toolbox) aren't installed by default — shedman install <pkg> adds any of them post-boot from any source with one command. code (open-source VS Code from extra) ships by default.