Repo herding ain't much...

8db287b chore(skip): update README

2 days ago

2c735d1 ci: change release commit message

3 days ago


repo herding ain't much...

built with nix

Static Badge REUSE status

Static Badge

builds.sr.ht status


rham is a tool for managing (herding) multiple repos.


  1. mailing list
  2. tracker



At every release, starting at 0.1.0, the following files are made available:

  1. .gz compressed files for x86_64-linux and aarch64-linux binaries;
  2. .tar.gz compressed archive for the manpages;
  3. .SHA256 file with the checksums of the above files before compression.



Dependency Upstream Repology Description
Hare URL URL Languange on which rham is written
hare-toml URL URL TOML implementation in Hare
haredo URL URL Build framework
scdoc URL URL Man page generator

#Embedded Values

Constant Type Environment Variable Description
FILE_BASENAME str HAREFLAGS Basename of the repos file under $XDG_CONFIG_HOME/rham
DEFAULT_KIND str HAREFLAGS Default kind of a repo when kind is absent (default git)
PROGNAME str HAREFLAGS Name of the program displayed as the log prefix
DEFAULT_CMDS str HAREFLAGS Default commands
VERSION str LOCALVER Version of the program

When modifying a value through HAREFLAGS, the -D ident[:type]=value syntax must be used. Do remember to correctly escape strings, e. g., "$(printf -- '-DPROGNAME:str=\\"newname\\"')".

The DEFAULT_CMDS, while being modifiable through -D ident[:type]=value syntax, may also be modified by Hare tags. The following tags are provided:

  1. +git
  2. +hg

The VERSION constant may not be changed directly, only through the appending of a suffix if LOCALVER is not empty like so: <version>-$LOCALVER.


Both PREFIX and DESTDIR are honored, being /usr/local the default value of the former.

#Build Steps

# Build the program and generate its manpages.
haredo all doc
# Install the program.
haredo install