Features

What ShedOS does

The system is built so you can change it freely and recover from anything. Here is what that means in practice.

01 — Recovery

Updates and recovery

Updating snapshots the system with Btrfs first, so a bad upgrade is one shedman rollback away rather than a reinstall. shedman upgrade-history shows what each past upgrade changed, and a machine that fails to reach the desktop three times running boots its last working snapshot on its own.

02 — Config

Configuration that survives updates

When an upgrade ships a new default for a file you've already edited, ShedOS keeps your version and writes the new one beside it as a .shedosnew. shedman config --review then opens a three-way merge — yours, theirs, and the common ancestor — in the terminal or in VS Code, so you keep what you want hunk by hunk.

03 — Declarative

A declarative system

/etc/shedos/system.toml describes services, the firewall, kernel parameters, users, and the theme. shedman apply makes the running machine match it; shedman doctor reports anything that has drifted, so you see what a change will do before you make it.

04 — One CLI

One command-line tool

Updates, rollback, upgrade history, config review, health, status, theming, databases, fingerprints, kernels, and logs are all shedman subcommands — about two dozen, each with a manual page. Run shedman help for the list, or man shedman-<command> for any one of them.

The desktop

A tiling Hyprland session, set up.

Gestures, a launcher, an ALT+Tab switcher, a keybinding reference a keystroke away, and theming that recolors everything at once.

Tiling windows on Hyprland.
Tiling windows on Hyprland.
The walker launcher.
The walker launcher.
The ALT+Tab window switcher.
The ALT+Tab window switcher.
Keybindings, a keystroke away (Super+Alt+K).
Keybindings, a keystroke away (Super+Alt+K).
Theming recolors the whole desktop at once.
Theming recolors the whole desktop at once.
The power menu.
The power menu.

System

Release model
Rolling (x86_64)
Compositor
Hyprland (Wayland)
Shell
Zsh + Oh My Zsh
Filesystem
BTRFS with snapshots
Encryption
LUKS2, on by default
Secure Boot
Your own keys (opt-in)
Passwordless unlock
TPM2 (opt-in)

Developer tools

Editors
Neovim (LazyVim), VS Code
Runtimes
Python, Node, Go, Rust, C++
Containers
Docker, kubectl, minikube, helm
Terminal
kitty
Browser
Firefox