Distrodeck

Linux upgrade companion

Know what your workstation needs before you upgrade it.

Distrodeck is a terminal-first tool for snapshotting installed software and package sources, comparing that snapshot to a machine, and restoring it after a fresh install or distribution upgrade. It also puts common maintenance and developer-tool setup actions behind one interface.

Distrodeck terminal interface showing its main menu
The interactive menu is available by running distrodeck with no subcommand.

What it does

Three practical workflows

Snapshot and restore

Export installed packages and package sources to a readable file. Compare it against another system, then review and apply an import when you are ready.

Upgrade a distribution

Run a guided Ubuntu or Debian release upgrade. Distrodeck records state first, then restores its own APT sources, holds and PPAs after a successful upgrade.

Maintain a workstation

Update packages, apply available security updates, diagnose repository problems, clean old kernels and install a curated developer toolkit.

Command guide

The commands at a glance

Run distrodeck --help for the complete, version-specific option list. These are the main actions:

Record, compare, restore

export
Write installed packages and sources to an export file.
diff
Show what is missing or additional on the current system; supports detailed and JSON output.
import
Preview or reinstall packages and restore sources from an export.

Upgrade and update

upgrade
Perform a supported Ubuntu or Debian distribution upgrade.
update
Refresh package metadata and install normal updates.
security
Install available security updates, using the best-supported mechanism for the system.
cleanup-kernels
Remove eligible old kernels after review.

Check and repair

doctor
Report common configuration and package-management problems; JSON output is available.
preflight
Run upgrade readiness checks and manage its logs.
repo-repair
Disable broken legacy APT list entries and refresh repository keys.

Set up your environment

install-tools / --tools
Install or remove selected developer-tool categories.
sysinfo, net-tools, config-edit
Open focused system, network and configuration tasks.
Automate
Use the interactive menu to run supported ansible-pull automation.

A typical pre-upgrade sequence

distrodeck export --output pre-upgrade.txt
distrodeck diff --input pre-upgrade.txt --detailed
distrodeck import --input pre-upgrade.txt
distrodeck import --input pre-upgrade.txt --apply --update-sources

The first import is a preview. Add --apply only after checking its plan; --update-sources restores saved package sources alongside the packages.

What a snapshot can include

Packages and sources

APT packages, PPAs, legacy source lists and non-official repositories, including deb822 sources.

Other app ecosystems

Snap, Flatpak, AppImage and selected language/tool package managers where they are present.

Optional setup state

User tools, configuration, configuration files and services can be selected explicitly. User-tool exports are reference-only; service restoration requires its own apply option.

Part of a connected tool suite. Explore NikOS, IsoForge, ai-runner and KioskFrame.