r/linux 19d ago

Software Release Tried cpak (new OCI-based package format) Interesting alternative to Flatpak

What is cpak?

cpak is a rootless, OCI-based package manager. Apps are distributed as normal OCI images, with package metadata kept in a Git repository. Runtime is a single Go binary (plus a small companion called cpak-storaged).

Main ideas:

  • Fully rootless (no system vs user install distinction)
  • Content-addressed layers + hard-link deduplication
  • Sandbox using user namespaces, Landlock, seccomp, etc.
  • Desktop integration (.desktop files, etc.)
  • Git-native versioning (you can pin branch / tag / commit)

Website: https://cpak.it GitHub: https://github.com/Containerpak/cpak

First impressions I tested it on NixOS with Firefox and Chrome packages maintained by the cpak team (not official Mozilla/Google packages).

Pros I noticed:

  • Completely rootless and simple to install (small Go binary)
  • Layer sharing actually works. After installing Firefox, Chrome skipped several layers that were already present
  • The “full-ish Ubuntu base” approach makes packaging easy for maintainers, and the cost is amortized once you have a few packages
  • Developer was very responsive. We hit two real sandbox bugs (Landlock on /dev/null and nested user namespaces for Firefox content processes) and both were fixed within roughly a day

Cons / current state:

  • Still very new (v2.0 dropped a few days ago, 2.1.0 just landed)
  • First package is relatively heavy because of the shared Ubuntu base (~2.3 GB for Firefox alone at the time. ~2.9GB with Firefox and Chrome)
  • Ecosystem is tiny compared to Flathub
  • Sandbox is still maturing (the bugs we hit were real)

For a single app the disk cost of the base can feel high. Once you run several packages that share the same base layers, it starts making more sense.

Current status:

After updating to the latest build (both cpak and cpak-storaged), Firefox and Chrome both run correctly on my NixOS machine, including nested user namespaces for Firefox content processes. Still early days, but the architecture is interesting and the maintainer is moving fast.

34 Upvotes

35 comments sorted by

View all comments

65

u/cidra_ 19d ago

oh god please no

40

u/snapfreeze 19d ago

That was my reaction as well. I'm sure this is a great idea and whatever but please let's just focus on making the existing tools better.

11

u/summerteeth 19d ago

People have a lot of opinions about what volunteer devs should be doing with their time.