guixconfig/install-guix-on-void.bash
2023-12-12 12:41:24 +01:00

56 lines
1.5 KiB
Bash

#!/usr/local/env bash
xbps-install -SuA wget curl brightnessctl pam_rundir seatd polkit mdevd mesa-dri gnupg2 xz
ln -sf /etc/sv/nscd /var/service/
curl -L https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh > guix-install.sh
which guix || bash guix-install.sh
guix install shepherd
sed -i '/pam_rundir/{h;s/^.*$/-session optional pam_rundir.so/};${x;/^$/{s//-session optional pam_rundir.so/;H};x}' /etc/pam.d/system-login
# Guix Daemon
mkdir -p /etc/sv/guix-daemon/log
cat <<'EOF' > /etc/sv/guix-daemon/run
#!/bin/sh
exec 2>&1
exec ~root/.config/guix/current/bin/guix-daemon --build-users-group=guixbuild
EOF
chmod +x /etc/sv/guix-daemon/run
cat <<EOF > /etc/sv/guix-daemon/log/run
#!/bin/sh
exec vlogger -t guix-daemon -p daemon
EOF
chmod +x /etc/sv/guix-daemon/log/run
ln -sf /etc/sv/guix-daemon /var/service/
# Shepherd Daemon
mkdir -p /etc/sv/shepherd/log
cat <<EOF > /etc/sv/shepherd/run
#!/bin/sh
exec 2>&1
exec $(find /gnu -wholename '*/bin/shepherd')
EOF
chmod +x /etc/sv/shepherd/run
cat <<EOF > /etc/sv/shepherd/log/run
#!/bin/sh
exec vlogger -t shepherd -p daemon
EOF
chmod +x /etc/sv/shepherd/log/run
ln -sf /etc/sv/shepherd /var/service/
# Enable Daemons
for DAEMON in guix-daemon shepherd NetworkManager acpid dbus nscd polkitd seatd mdevd
# Profile Initialization
cat <<'EOF' >> ~/.profile
GUIX_PROFILE="/home/zilti/.config/guix/current"
. "$GUIX_PROFILE/etc/profile"
EOF
#guix pull
#guix home reconfigure ./home/home-configuration.scm