Daniel Rosehill Hey, It Works!
Snap-It: a GUI for on-demand Snapper snapshots
· Daniel Rosehill

Snap-It: a GUI for on-demand Snapper snapshots

A simple graphical interface for creating on-demand BTRFS snapshots with Snapper, with desktop notifications.

After building Better Safe — my CLI tool for creating Snapper snapshots from the terminal — I kept running into a situation that felt silly. I'd be deep in a graphical workflow, maybe configuring KDE settings or about to install a bunch of packages through Discover, and I'd think "I should really take a snapshot before I do this." But to use Better Safe, I'd need to open a terminal, type the command, wait for it to finish, then go back to what I was doing. It's not a lot of friction, but it's enough friction that I'd sometimes skip it and then — inevitably — regret it later when something broke. So I built Snap-It: the GUI counterpart that lives in my application menu and lets me create a named BTRFS snapshot with a single click.

danielrosehill/Better-Safe ★ 0

CLI for taking on-demand Snapper snapshots (BTRFS)

ShellUpdated Apr 2025

One button, one job

The design philosophy here is radical simplicity. You launch the app, type an identifiable name for your snapshot ("before-plasma-update" or "pre-kernel-6.14" or whatever helps future-you identify what this snapshot captured), and hit create. The app calls Snapper under the hood with sudo elevation, creates the snapshot, and fires a desktop notification confirming it's done. That's it. No configuration screens, no snapshot browsing, no cleanup policies, no timeline management. Those are all real features that Snapper handles perfectly well through its own interfaces. Snap-It does exactly one thing — creates a named snapshot — and I deliberately resisted the temptation to add anything else, because the whole point is that it should take fewer seconds than the time you'd spend debating whether to bother.

Why I maintain two tools for the same job

It might seem redundant to have both a CLI and a GUI tool that do essentially the same thing, but they serve genuinely different moments in my workflow. When I'm already in the terminal doing system administration — editing config files, running updates via apt, or working in Claude Code — Better Safe is the natural choice. I'm already in a terminal; running another command costs nothing. But when I'm in the middle of a graphical workflow and want to create a quick safety snapshot before, say, updating packages through the GUI package manager or changing display settings that might break my Wayland session, Snap-It is right there in the application menu. No context switch required. The underlying insight is simple but I think it's under-appreciated in the Linux world: the more friction you add to a safety practice, the less consistently people will do it. Snapper's native CLI is powerful but verbose, and that verbosity is enough to make people skip snapshots they should be taking. Both Better Safe and Snap-It exist to lower that barrier to the point where taking a snapshot is faster than thinking about whether to take one.

Check it out on GitHub: Snap-It.

danielrosehill/Snap-It ★ 1

Simple GUI for taking on-demand Snapper snapshots

PythonUpdated Feb 2025