dotfiles-guix/scripts/build-installer

27 lines
844 B
Bash
Executable file

#!/bin/sh
retry="$(dirname $0)/guix-retry"
repo="$(realpath "$(dirname $0)/..")"
extra_args=""
if [ ! -d /gnu/store ]; then
# we are likely in a non guix system
# just for building the installer
# make sure to authorize the substitute
# servers for nonguix and sakura
guix archive --authorize < "$repo/files/keys/nonguix.pub"
guix archive --authorize < "$repo/files/keys/sakura.pub"
substitutes=$((cat <<EOF
https://substitutes.nonguix.org
https://substitutes.freya.cat
https://bordeaux.guix.gnu.org
https://ci.guix.gnu.org
EOF
) | tr '\n' ' ')
extra_args="--substitute-urls=\"$substitutes\""
fi
command="\"$retry\" guix time-machine -C \"$repo/channels.scm\" $extra_args -- system -L \"$repo/modules\" image -t iso9660 \"$repo/systems/installer.scm\""
image=$(sh -c "$command")
date="$(date -Iseconds)"
cp $image "guix-installer-$date.iso"