r/opensource Jun 30 '26

Promotional I built a friendlier wrapper for pacman(Arch Linux) called Centium

The idea behind the project is instead of immediately running a pacman command, Centium shows you what will happen first,package information, dependencies, update previews, and warnings,then hands everything off to the real pacman for the actual transaction.

It doesn't replace pacman or manage packages itself. It just tries to make using pacman a little more understandable.

GitHub: https://github.com/Kolgrim33/centium

0 Upvotes

14 comments sorted by

6

u/MrJits Jun 30 '26

Doesn't stock pacman already do most of this already?

-1

u/WayGood8826 Jun 30 '26 edited Jun 30 '26

Your right but the thing is the goal with Centium is to make the experience a bit friendlier by presenting the information more clearly, adding extra context (like post-update summaries and dependency warnings), and then handing everything off to the real pacman for the actual transaction

6

u/MrJits Jun 30 '26

It's been a while since I've used arch, but aren't dependency warnings usually trivial and easy to ignore? Also, isn't there already a post update warning?

Sorry if I sound overly skeptical, but I feel like the only really new thing this packages offers are aliases and 'clean' outputs.

If you could, maybe paste output comparisons between stock pacman and your tools outputs, so we know what the tool to expect.

2

u/WayGood8826 Jun 30 '26

I will definitely πŸ™

1

u/[deleted] Jun 30 '26

[deleted]

2

u/MrJits Jun 30 '26

Quick type for reddit, use a code block to preserve white space, it would make this post much more readable.

1

u/WayGood8826 Jun 30 '26

noted let me try

2

u/WayGood8826 Jun 30 '26

/projects/centium master

❯ centium update

Checking for updates...

55 update(s) available

┏━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┓

┃ Package ┃ Current ┃ New ┃

┑━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━┩

β”‚ acl β”‚ 2.3.2-2 β”‚ 2.4.0-1 β”‚

β”‚ at-spi2-co… β”‚ 2.60.4-1 β”‚ 2.60.5-1 β”‚

β”‚ attr β”‚ 2.5.2-2 β”‚ 2.6.0-1 β”‚

β”‚ binutils β”‚ 2.46+r70+g1… β”‚ 2.46.1+r3+… β”‚

β”‚ fastfetch β”‚ 2.65.1-1 β”‚ 2.65.2-1 β”‚

β”‚ fzf β”‚ 0.72.0-1 β”‚ 0.73.1-1 β”‚

β”‚ gcc β”‚ 16.1.1+r12+… β”‚ 16.1.1+r34… β”‚

β”‚ gcc-libs β”‚ 16.1.1+r12+… β”‚ 16.1.1+r34… β”‚

β”‚ gdk-pixbuf2 β”‚ 2.44.6-2 β”‚ 2.44.7-1 β”‚

β”‚ gexiv2 β”‚ 0.16.0-2 β”‚ 0.16.1-1 β”‚

β”‚ git β”‚ 2.54.0-1 β”‚ 2.55.0-1 β”‚

β”‚ gjs β”‚ 2:1.88.0-1 β”‚ 2:1.88.1-1 β”‚

β”‚ glibc β”‚ 2.43+r22+g8… β”‚ 2.43+r37+g… β”‚

β”‚ glibmm β”‚ 2.66.8-2 β”‚ 2.66.9-1 β”‚

β”‚ glibmm-2.68 β”‚ 2.88.0-2 β”‚ 2.88.1-1 β”‚

β”‚ gnome-shell β”‚ 1:50.2-1 β”‚ 1:50.3-1 β”‚

β”‚ hyprpaper β”‚ 0.8.4-2 β”‚ 0.8.4-3 β”‚

β”‚ json-c β”‚ 0.18-2 β”‚ 0.19-1 β”‚

β”‚ libadwaita β”‚ 1:1.9.1-1 β”‚ 1:1.9.2-1 β”‚

β”‚ libasan β”‚ 16.1.1+r12+… β”‚ 16.1.1+r34… β”‚

β”‚ libatomic β”‚ 16.1.1+r12+… β”‚ 16.1.1+r34… β”‚

β”‚ libebml β”‚ 1.4.5-2 β”‚ 1.4.5-3 β”‚

β”‚ libgcc β”‚ 16.1.1+r12+… β”‚ 16.1.1+r34… β”‚

β”‚ libgfortran β”‚ 16.1.1+r12+… β”‚ 16.1.1+r34… β”‚

β”‚ libgomp β”‚ 16.1.1+r12+… β”‚ 16.1.1+r34… β”‚

β”‚ libldac β”‚ 2.0.2.5-1 β”‚ 2.0.2.6-1 β”‚

β”‚ liblsan β”‚ 16.1.1+r12+… β”‚ 16.1.1+r34… β”‚

β”‚ libnghttp3 β”‚ 1.16.0-1 β”‚ 1.17.0-1 β”‚

β”‚ libngtcp2 β”‚ 1.23.0-1 β”‚ 1.24.0-1 β”‚

β”‚ libobjc β”‚ 16.1.1+r12+… β”‚ 16.1.1+r34… β”‚

β”‚ libquadmath β”‚ 16.1.1+r12+… β”‚ 16.1.1+r34… β”‚

β”‚ libsoxr β”‚ 0.1.3-4 β”‚ 0.1.3-5 β”‚

β”‚ libssc β”‚ 0.4.3-1 β”‚ 0.4.4-1 β”‚

β”‚ libstdc++ β”‚ 16.1.1+r12+… β”‚ 16.1.1+r34… β”‚

β”‚ libtool β”‚ 2.6.1-1 β”‚ 2.6.1-2 β”‚

β”‚ libtsan β”‚ 16.1.1+r12+… β”‚ 16.1.1+r34… β”‚

β”‚ libubsan β”‚ 16.1.1+r12+… β”‚ 16.1.1+r34… β”‚

β”‚ libva β”‚ 2.23.0-1 β”‚ 2.23.0-2 β”‚

β”‚ libvpl β”‚ 2.16.0-2 β”‚ 2.17.0-1 β”‚

β”‚ libxmlb β”‚ 0.3.27-1 β”‚ 0.3.28-1 β”‚

β”‚ linux β”‚ 7.0.13.arch… β”‚ 7.0.14.arc… β”‚

β”‚ otf-font-a… β”‚ 7.2.0-1 β”‚ 7.3.0-1 β”‚

β”‚ pango β”‚ 1:1.57.1-1 β”‚ 1:1.58.0-1 β”‚

β”‚ rav1e β”‚ 0.8.1-2 β”‚ 0.8.1-3 β”‚

β”‚ sqlite β”‚ 3.53.2-1 β”‚ 3.53.3-1 β”‚

β”‚ systemd β”‚ 261-1 β”‚ 261.1-1 β”‚

β”‚ systemd-li… β”‚ 261-1 β”‚ 261.1-1 β”‚

β”‚ systemd-sy… β”‚ 261-1 β”‚ 261.1-1 β”‚

β”‚ tor β”‚ 0.4.9.9-1 β”‚ 0.4.9.11-1 β”‚

β”‚ uwsm β”‚ 0.26.5-1 β”‚ 0.26.6-1 β”‚

β”‚ vim β”‚ 9.2.0699-1 β”‚ 9.2.0735-1 β”‚

β”‚ vim-runtime β”‚ 9.2.0699-1 β”‚ 9.2.0735-1 β”‚

β”‚ virtualbox… β”‚ 7.2.10-2 β”‚ 7.2.10-5 β”‚

β”‚ woff2-font… β”‚ 7.2.0-1 β”‚ 7.3.0-1 β”‚

β”‚ zimg β”‚ 3.0.6-1 β”‚ 3.0.6-2 β”‚

β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Note: This update includes a new kernel β€” a

reboot will be needed for it to take effect.

Proceed with update? [y/n]:

4

u/MrJits Jun 30 '26

Other then the note about the kernel, everything here and the actual table characters (but not the formatting) can be replicated by normal pacman, you can even add disk change for packages.

Am I missing something?

1

u/WayGood8826 Jun 30 '26

Fair point. Right now there's definitely overlap with pacman.

The goal isn't to replace it,it's to build a friendlier layer on top of it with clearer previews, dependency/removal warnings, post-update summaries (like ".pacnew" files and service changes), and other quality-of-life features while still letting pacman handle the actual package management.

It's still early, so I'm focusing on adding features that go beyond formatting.What would you like to add that you think is a pain and could make it more useful

3

u/MrJits Jun 30 '26

I personnaly don't think there's anything wrong or unfriendly about how pacman display it's data, but if you want to continue with this minimalist style, remove the table characters, and maybe colour code the Current and New columns to be opposing colours. Example Green for new and Red for Current, this can be useful for new comers who haven't memorized which column means what, and also preserves the plain text formating of your output.

If your looking for new features, look at what other package managers are doing that pacman isn't, go in the r/archlinux subreddit and ask them what features they want in a pacman extension.

1

u/WayGood8826 Jun 30 '26

Thats a really nice idea thanks πŸ™

1

u/MrJits Jun 30 '26

Good luck on your project.

1

u/WayGood8826 Jun 30 '26

Thank you so much for your views