hassan@alsallam:~/projects/mylinux$ bat README.md

MyLinux

Inventories everything installed, snapshots the changes, rebuilds after a reinstall

Working build2026linux-appsource: private · ask me
Inventory item detail pane
Inventory item detail pane
Review mode with keep and remove cards
Review mode with keep and remove cards
Snapshot diff showing what changed
Snapshot diff showing what changed

What it is

MyLinux remembers my whole system. It inventories everything installed, pacman and AUR packages, Flatpaks, manual binaries in places like ~/.local/bin and /opt, AppImages, cargo and npm and pipx tools, GNOME and editor extensions, Steam games, Wine and Heroic or Lutris games, and turns that into a curated, restorable list. After a reinstall, I get everything back.

It is a Rust, GTK4, and libadwaita app over SQLite. The part I find most useful is the fifteen discovery sources, because they cover the software no single package manager knows about. Snapshots are stored with diffs so I can ask what changed since May, and a systemd path unit snapshots automatically after every pacman transaction. Usage signals from GNOME and fish history flag what I have not touched in 90 days.

It generates restore-ready exports (a one-shot restore.sh, package lists, dconf settings, enabled units) and can push a weekly backup through rclone to any remote.

Features

Stack

RustGTK4libadwaitaSQLiterclonesystemd

15 discovery sources · ~11,000 lines of Rust · 66 tests