#! /bin/sh # usage: genid NAME set -euf name=$1 hash=$(printf %s "$name" | sha1sum | cut -d\ -f1 | tr a-f A-F) echo " min=2^16 # bigger than nobody and nogroup, see <nixos/modules/misc/ids.nix> max=2^32 # see 2^(8*sizeof(uid_t)) ibase=16 ($hash + min) % max " | bc