49 lines
1.3 KiB
Bash
49 lines
1.3 KiB
Bash
#!/usr/bin/env bash
|
|
yes | xbps-install -SuA wget curl brightnessctl pam_rundir seatd polkit mdevd mesa-dri gnupg2 xz NetworkManager
|
|
curl -L https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh > guix-install.sh
|
|
which guix || bash guix-install.sh
|
|
yes | 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
|
|
|
|
# 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
|
|
|
|
# Enable Daemons
|
|
for DAEMON in guix-daemon shepherd NetworkManager acpid dbus mdevd polkitd seatd mdevd
|
|
do
|
|
ln -sf /etc/sv/$DAEMON /var/service/
|
|
done
|
|
|
|
# Add user to groups
|
|
for GROUP in users wheel audio video network input plugdev usbmon _seatd polkitd
|
|
do
|
|
usermod -a -G $GROUP zilti
|
|
done
|