#nixos is too complex for me, so I decided to write a 110 lines Python script to help manage a fixed list of packages on #archlinux

It reports inconsistencies between your requested packages list and what's actually on the system.

The list can contain inline comments and group packages.

Basically, a declarative Archlinux packages helper. Anyone interested?

PS : I have a bug to report in pacman and I'm unable to get an account on the gitlab (they didn't reply to my mail).

#sysadmin

@bug wait until you discover #ansible

@monotux it's funny you say that, because I gave yet another chance to Ansible yesterday, and I'm never going to use it ever again.

Gather facts disabled, explicit python interpreter path, control master for persistent ssh connection, disabled the package cache update: it still takes 22 seconds to execute zero change for syncing one file and checking the presence of a package. A simple equivalent ssh command, 490 ms.

@bug yes, it is slow, and a script like yours is faster.

but that is not the point. the point is that you can use the same interface (yaml lol) to interface with APIs, machines, orchestrate changes on clusters et c all without reinventing the wheel. a terrifying amount of manufacturers and projects have ansible collections available.

its like the old saying regarding perl and c, "with c you can write a fast program, but with perl you can write a program fast". scripts will be faster but at some point you will end up reinventing the wheel again and again, where you might save time just using ansible.

@monotux it's not just slow, it's unusable at this point.

Anyway, the script goes a little further than just a list of packages. It makes sure you have your dependency tree sane.