xmetagen is a small collection of scripts to facilitate custom metapackage
creation for void linux. Completions for zsh are included.
xmeta [-d DESC] [-v VERSION] METAPACKAGE DEPENDENCIES...
xmeta creates and installs a metapackage named METAPACKGE with some
-d DESC to set a description for the metapackage.
-v VERSION to set a version to the metapackage (version is 1 by default).
To store xmeta's local repository somewhere else, set XMETA_REPODIR. By default
it will be stored in "$XDG_DATA_HOME/xmeta". If XDG_DATA_HOME is unset,
"$HOME/.local/share/xmeta" is used.
If you want to require a certain version of a dependency, simply add the
appropriate version comparator. If omitted, any version (>=0) is accepted. See
xbps-install(1) for information about specifying versions.
xim, xqm, and xrsm are used to get information about specific packages in
the XMETA_REPODIR repository. They behave similarly to xtools' xim, xq, and
xrs, (and by extension xbps-install and xbps-query) but only operate on the
This just runs sudo xbps-remove -r. I did write some completions for it to
make it easy to use with metapackages from xmeta.
xir [-m MESSAGE] PACKAGES...
xir is a wrapper for xtools' xi, which adds the -m option to add a message
for installation to the XIR_HISTORY file (by default this is in your
documents directory, but can be set manually).
Extra libraries are often needed when compiling software, but keeping them
around after compilation often takes up disk space (and bloats the ever
important package count!). To mitigate this issue, xmetagen provides tools to
easily manage metapackages for build dependencies (or anything else I guess).
xbps makes it quite easy to create packages via xbps-create(1). First, a package
is created by supplying an architecture, version, description, and dependencies.
Next, it must be added to a repository. This is done via xbps-rindex(1).
Finally, we can install the package and it's dependencies using xbps-install(1).
If you have any ideas for any of the tools, or for a new tool, let me know by
sending a plain text email to ~email@example.com