mandara

Apps and updates

Installing and removing apps, updating your system, and how Mandara updates itself.

App Installer: drag, drop, done

Install apps the way you would on a Mac: drop the file on the dock or on Studio → Applications, or pick it with Install app… (mandara msg apps install <file> works too). App Installer is a Mandara plugin, so you can switch it off or remove it like any other.

You drop What happens Password?
AppImage read without running it; its icon, name and launcher are extracted; installed in your home folder no
Flatpak (.flatpak, .flatpakref) flatpak install --user no
Portable app (.tar.gz, .zip, …) unpacked safely, main program and icon found, launcher created no
Native package (.deb, .rpm, .pkg.tar.zst, .apk, .xbps) your own package manager installs it, after showing what else it would pull in yes, through the polkit dialog

Applications and the uninstaller

Studio → Applications has four tabs (mandara studio applications --tab installed|defaults|startup|launching):

The uninstaller works on any distribution. Mandara asks the package managers that are actually installed who owns the app, then shows the exact command and everything else the package manager would remove before you confirm. System packages are removed through polkit (never sudo), with essential packages, your compositor and Mandara itself refused; Flatpak and Snap use their own tools, and AppImages and local entries go to the Trash. Leftover cleanup is optional: the settings, data and cache folders the app left in your home folder are listed with their sizes, all unchecked, and whatever you tick moves to the Trash; nothing is deleted outright. It’s scriptable too: mandara msg apps owner <id> and mandara msg apps uninstall <id> [--purge-data] [--dry-run].

System updates

The Updates panel (an opt-in plugin: Studio → Plugins → Updates) checks your package managers every few hours and installs what it finds right in the panel. Press Update all, or Update on one source:

Family Refresh Download Install
Arch and derivatives pacman -Syuw --noconfirm (sync and download)   pacman -Su --noconfirm
Debian, Ubuntu apt-get update apt-get -y -d dist-upgrade apt-get -y dist-upgrade, keeping your changed config files
Fedora (dnf or dnf5)   dnf -y upgrade --refresh --downloadonly dnf -y upgrade
openSUSE Tumbleweed / Slowroll zypper -n refresh zypper -n dup --download-only zypper -n dup
openSUSE Leap zypper -n refresh zypper -n update --download-only zypper -n update
Void xbps-install -S xbps-install -uyD xbps-install -uy (xbps updates itself first when it must)
Alpine apk update   apk upgrade
FreeBSD pkg update pkg upgrade -U -F -y, then freebsd-update fetch pkg upgrade -U -y, then freebsd-update install
FreeBSD, packaged base pkg update pkg upgrade -U -F -y pkg upgrade -U -y

The AUR

On Arch and its derivatives, Update all also updates your AUR packages, in the same card: pacman updates the repositories first (as administrator), then your AUR helper builds and installs the AUR packages as you, then Flatpak. The AUR source’s own Update button updates only the AUR. Mandara finds the helper you have installed, preferring paru, then yay, then pikaur, Aura, trizen and CachyOS’s Shelly; pick another under Studio → Plugins → Updates → AUR helper (locked, with the reason, when none is installed).

Other systems

Image-based systems (Fedora Atomic’s rpm-ostree, Bazzite, Bluefin and Aurora included, openSUSE MicroOS / Aeon / Kalpa’s transactional-update, Vanilla OS’s abroot, SteamOS’s steamos-update) update with their own tool, and the panel says so. It checks only Flatpak there, since the package manager such a system carries (dnf, zypper, apt, pacman) can’t update its image (Immutable systems). Prefer a terminal anyway? Set Run updates → In a terminal in the plugin’s settings (the AUR included). Scriptable: mandara msg updates apply [all|system|aur|flatpak], updates job (phase, progress, recent log lines, summary) and updates cancel.

If no password dialog appears, polkit is missing or its agent isn’t running: install your distribution’s polkit package (polkit, polkitd and pkexec on Debian), and keep Studio → General → Security → Authentication dialogs on. mandara install installs both.

FreeBSD

On FreeBSD the panel counts your package updates with pkg version -vRUl '<' (read-only, against the catalogue as pkg last fetched it) and Update all updates both halves of the system, with the same password dialog and progress:

Downloads can be cancelled; installing never is. A system freebsd-update doesn’t manage (a -STABLE or -CURRENT build) gets its packages updated and a warning that the base system was left alone. A release past its end of life still installs what was published for it, with the same warning; plan the upgrade to a supported release (freebsd-update upgrade -r …, or the base packages’ new release repository on a packaged base), which Mandara leaves to you. In a terminal, the same update is sudo pkg upgrade and sudo freebsd-update fetch install (only sudo pkg upgrade on a packaged base; pkg which /usr/bin/uname tells you which kind you have).

The admin helper runs these programs only from root’s own folders (/usr/local/sbin/pkg, /usr/sbin/freebsd-update), and pkexec comes with FreeBSD’s polkit package.

NixOS: generations

NixOS updates through its own configuration, so on NixOS the panel manages generations instead of packages:

Updates by binary patch