Introduction
Introduction Statistics Contact Development Disclaimer Help
Title: Managing OpenBSD installed packages declaratively
Author: Solène
Date: 05 May 2022
Tags: openbsd
Description: I wrote a simple utility to manage my packages using a
configuration file, installed missing packages and removing the extra
ones
# Introduction
I wrote a simple utility to manage OpenBSD packages on a system using a
declarative way.
pkgset git repository
Instead of running many pkg_add or pkg_delete commands to manage my
packages, now I can use a configuration file (allowing includes) to
define which package should be installed, and the installed but not
listed packages should be removed.
After using NixOS too long, it's a must have for me to manage packages
this way.
# How does it work?
pkgset works by marking extra packages as "auto installed" (the
opposite is manually installed, see pkg_info -m), and by installing
missing packages. After those steps, pkgset runs "pkg_delete -a" to
remove unused packages (the one marked as auto installed) if they are
not a dependency of another required package.
# How to install?
The installation is easy, download the sources and run make install as
root, it will install pkgset and its man page on your system.
```shell commands
$ git clone https://tildegit.org/solene/pkgset.git
$ cd pkgset
$ doas make install
```
# Configuration file example
Here is the /etc/pkgset.conf file on my laptop.
```configuration file
borgbackup--%1.2
bwm-ng
fish
fzf
git
git-annex
gnupg
godot
kakoune
musikcube
ncdu
rlwrap
sbcl
vim--no_x11
vlc
xclip
xfce
xfce-extras
yacreader
```
# Limitations
The only "issue" with pkgset is that for some packages that "pkg_add"
may find ambiguous due to multiples versions or favors available
without a default one, you must define the exact package version/flavor
you want to install.
# Risks
If you use it incorrectly, running pkgset doesn't have more risks than
losing some or all installed packages.
# Why not use pkg_add -l ?
I know pkg_add as an option to install packages from a list, but it
won't remove the extra packages. I may look at adding the "pkgset"
feature to pkg_add one day maybe.
You are viewing proxied material from dataswamp.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.