summaryrefslogtreecommitdiffstats
path: root/bin/genid
blob: 8e224074611d86cfeadde021a0f3a5be70c272de (plain)
1
2
3
4
5
6
7
8
9
10
11
#! /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