#!/usr/bin/env bash # Create a Forgejo user in the hive-forge container. # # Usage: forge-create-user.sh [--admin] [--email ] [--password ] # # Defaults: --random-password, --must-change-password=false, email = @hive.local. # Requires: sudo, the hive-forge nixos-container running. set -euo pipefail if [ $# -lt 1 ]; then echo "usage: $0 [--admin] [--email ] [--password ]" >&2 exit 2 fi username="$1"; shift email="${username}@hive.local" admin=() password_args=(--random-password) while [ $# -gt 0 ]; do case "$1" in --admin) admin=(--admin); shift ;; --email) email="$2"; shift 2 ;; --password) password_args=(--password "$2"); shift 2 ;; *) echo "unknown arg: $1" >&2; exit 2 ;; esac done sudo nixos-container run hive-forge -- runuser -u forgejo -- \ forgejo --work-path /var/lib/forgejo admin user create \ --username "$username" \ --email "$email" \ --must-change-password=false \ "${password_args[@]}" \ "${admin[@]}"