Because this project is still in heavy development, this documentation tries to follow the development branch & not the latest release. This means that the documentation might not be relevant anymore for the latest release.
Vieter consists of two main parts, namely an implementation of an Arch repository server & a scheduling system to periodically build Pacman packages & publish them to a repository.
While I mention Vieter being an “Arch” repository server, it works with any distribution that uses Pacman as the package manager. I do recommend using a base docker image for your distribution if you wish to use the build system as well.
Vieter is my personal solution to a problem I’ve been facing for months: extremely long AUR package build times. I run EndeavourOS on both my laptops, one of which being a rather old MacBook Air. I really like being a beta-tester for projects & run development builds for multiple packages (nheko, newsflash…). Because of this, I have to regularly re-build these packages in order to stay up to date with development. However, these builds can take a really long time on the old MacBook. This project is a solution to that problem: instead of building the packages locally, I can build them automatically in the cloud & just download them whenever I update my system! Thanks to this solution, I’m able to shave 10-15 minutes off my update times, just from not having to compile everything every time there’s an update.
Besides this, it’s also just really useful to have a repository server that you control & can upload your own packages to. For example, I package my st terminal using a CI pipeline & upload it to my repository!
Why V? #
I had been interested in learning V for a couple of months ever since I stumbled upon it by accident. It looked like a promising language & turned out to be very fun to use! It’s fast & easy to learn, & it’s a nice contrast with my usual Rust-based projects, which tend to get quite complex.
I recommend checking out their homepage!
What’s with the name? #
Before deciding to write this project in V, I wrote a prototype in Python, called Pieter. The name Pieter came from Pieter Post, the Dutch name for Postname Pat. The idea was that the server “delivered packages”, & a good friend of mine suggested the name. When I decided to switch over to Vieter, I changed the P (for Python) to a V, it seemed fitting.