Podman in the Omarchy shell, on the bar and on a key

Podman for the Omarchy shell on nixarchy: your containers, images, volumes and networks on the bar and on a key.

The full-screen menu, driven from the keyboard: j to a container, enter to stop it, and it drops to the bottom as it stops.

Who it is for

You run containers with rootless Podman on an Omarchy desktop: a database for the project you are on, a few services you started last month, and images you pulled once and forgot. You would rather glance at your bar than type podman ps -a.

The problem

Four questions come up all the time: What is running? What is broken? What is eating my disk? Is it safe to delete? Each needs its own command, and they don’t talk to each other:

podman ps -a            # what is running, what exited
podman images           # what is taking space
podman volume ls        # which of these is still attached to anything?
podman system df -v     # how much would I get back?
podman volume prune     # and this one you cannot take back

So you run them in a terminal, read the output side by side, and either decide it is not worth the risk or delete something you needed.

What it does

One glyph in the bar tells you the state at a glance. It is dim when nothing runs, bright when something does, and red when a running container is unhealthy or stuck restarting.

The bar glyph in its three states
The glyph, enlarged: dim (nothing running), accent (running), red (a running container is unhealthy or restarting).

Four tabs answer the four questions. Containers are grouped by Compose project, running first, with live CPU and memory. Images, volumes and networks are each split into Unused and In use, biggest first, and the footer says how much you would get back.

Containers tab
1 Containers, grouped by project, with live CPU and memory. The failed one-off job shows its exit code.
Images tab
2 Images: Unused above In use, and the footer says what you would get back.
Volumes tab
3 Volumes, with what each one costs on disk.
Networks tab
4 Networks. Podman's own podman network is marked predefined and cannot be removed.

Every action is a key. Start, stop and restart. Follow the logs, or open a shell inside a container. Copy a name or an id. Remove one thing, or prune a whole tab.

There are two ways in. Click the glyph for a popup under it, or press Super+Alt+O (or pick Podman in the Omarchy menu) for a larger full-screen view. The full-screen view holds the keyboard until you are done, and does not need the widget to be in the bar at all.

The full-screen menu
The full-screen menu over your desktop: the same tabs, drawn larger, holding the keyboard.
From the Omarchy menu: search podman, pick Podman.

How it works

Remove confirmation
x asks, names the item, and has Cancel selected.
Prune confirmation
p names what it will take, and has Cancel selected.
Podman refusing to remove an image in use
Removing an image a container still uses: the question warns Podman will refuse, and when it does, its own reason is shown.

Why it is built this way

A tour

The bar popup: the cursor, a filter, jumping to Networks and back, and the shortcut sheet.
Filtering
/ filters the tab as you type.
The shortcut sheet
? lists every key.
Logs in a terminal
o follows a container's logs in a terminal. Here, why the migration job failed.
A shell inside a container
s opens a shell inside a running container.
The Omarchy menu row
The Podman row in the Omarchy menu, from share/omarchy-menu.jsonc.

Install

On NixOS with nixarchy, add the flake and install the plugin next to programs.nixarchy.enable:

inputs.nixarchy-podman = {
  url = "github:olafkfreund/nixarchy-podman";
  inputs.nixpkgs.follows = "nixpkgs";
};

programs.nixarchy.plugins."nixarchy.podman".src =
  inputs.nixarchy-podman.packages.${pkgs.stdenv.hostPlatform.system}.default;
virtualisation.podman.enable = true;

Rebuild, then enable it once:

omarchy plugin enable nixarchy.podman

Without Nix: omarchy plugin add https://github.com/olafkfreund/nixarchy-podman, then the same enable.

Read the manual for the Omarchy menu row, the key binding, settings, troubleshooting and removal. The source is at github.com/olafkfreund/nixarchy-podman.


Every image on this page is the real plugin on a real machine, driven from the keyboard. It was captured with throwaway demo-* containers, volumes and networks, which were removed afterwards. Nothing else on the machine was changed.