chk_require()
{ # Check that every required command is available.
declare -a warn
+ local c
_debug "--- [ $FUNCNAME ] ---"
return 1; }
_msg "${PAS}verification of required commands completed"
+}
+
+chk_gpg_keyring()
+{ # Check whether the Guix release signing public key is present.
+ _debug "--- [ $FUNCNAME ] ---"
- gpg --list-keys ${OPENPGP_SIGNING_KEY_ID} >/dev/null 2>&1 || (
+ # Without --dry-run this command will create a ~/.gnupg owned by root on
+ # systems where gpg has never been used, causing errors and confusion.
+ gpg --dry-run --list-keys ${OPENPGP_SIGNING_KEY_ID} >/dev/null 2>&1 || (
_err "${ERR}Missing OpenPGP public key. Fetch it with this command:"
echo " wget https://sv.gnu.org/people/viewgpg.php?user_id=15145 -qO - | gpg --import -"
exit 1
{ cp "${ROOT_HOME}/.config/guix/current/lib/systemd/system/guix-daemon.service" \
/etc/systemd/system/;
chmod 664 /etc/systemd/system/guix-daemon.service;
+
+ # Work around <https://bugs.gnu.org/36074>, present in 1.0.1.
+ sed -i /etc/systemd/system/guix-daemon.service \
+ -e "s/GUIX_LOCPATH='/'GUIX_LOCPATH=/";
+
+ # Work around <https://bugs.gnu.org/35671>, present in 1.0.1.
+ if ! grep en_US /etc/systemd/system/guix-daemon.service >/dev/null;
+ then sed -i /etc/systemd/system/guix-daemon.service \
+ -e 's/^Environment=\(.*\)$/Environment=\1 LC_ALL=en_US.UTF-8';
+ fi;
+
systemctl daemon-reload &&
systemctl start guix-daemon &&
systemctl enable guix-daemon; } &&
chk_term
chk_require "${REQUIRE[@]}"
+ chk_gpg_keyring
chk_init_sys
chk_sys_arch