153 lines
6.6 KiB
Plaintext
153 lines
6.6 KiB
Plaintext
packages() {
|
|
addpkg base-system sudo void-repo-multilib void-repo-multilib-nonfree void-repo-nonfree lvm2 cronie socklog-void ntp xtools wireguard-tools gnupg progress pwgen net-tools ncdu nmap mtr bind-utils iotop hdparm smartmontools htop git neovim btrbk croc grub-btrfs nano mbuffer cryptsetup psmisc pinentry-tty pciutils iproute2 iputils iperf unzip usbutils wget
|
|
ignorepkg nvi
|
|
if [ "${EFI}" == "1" ]; then
|
|
addpkg ckbcomp xkeyboard-config
|
|
fi
|
|
}
|
|
|
|
config() {
|
|
chown root:root /
|
|
chmod 755 /
|
|
echo ${HOSTNAME} > /etc/hostname
|
|
ln -sf "/usr/share/zoneinfo/${TIMEZONE}" /etc/localtime
|
|
sed -i "s/#HOSTNAME=\"void-live\"/HOSTNAME=${HOSTNAME}/g" /etc/rc.conf
|
|
sed -i "s/Europe\/Madrid/${TIMEZONE//\//\\/}/" /etc/rc.conf
|
|
sed -i "/HARDWARECLOCK/s/^#//g" /etc/rc.conf
|
|
sed -i "/FONT=/s/^#//g" /etc/rc.conf
|
|
|
|
echo "LANG=en_US.UTF-8" > /etc/locale.conf
|
|
echo "en_US.UTF-8 UTF-8" >> /etc/default/libc-locales
|
|
if ! [ "${LANGUAGE_}" == "en" ]; then
|
|
echo "${L1}.UTF-8 UTF-8" >> /etc/default/libc-locales
|
|
fi
|
|
|
|
if ! [ "${KEY_LANG}" == "en" ]; then
|
|
echo "KEYMAP=${L2}" > /etc/vconsole.conf
|
|
fi
|
|
|
|
xbps-reconfigure -f glibc-locales
|
|
|
|
enable_service acpid cronie socklog-unix nanoklogd uuidd agetty-tty1 agetty-tty2 agetty-tty3 agetty-tty4 isc-ntpd udevd
|
|
disable_service agetty-tty6 agetty-tty5
|
|
|
|
cat <<EOF > /etc/fstab
|
|
tmpfs /tmp tmpfs defaults,nosuid,nodev 0 0
|
|
/dev/mapper/vg_${TARGETNAME_UNDERSCORE}-root / btrfs defaults,subvol=rootfs 0 0
|
|
/dev/mapper/vg_${TARGETNAME_UNDERSCORE}-root /home btrfs defaults,subvol=homefs 0 0
|
|
/dev/mapper/vg_${TARGETNAME_UNDERSCORE}-swap swap swap defaults 0 0
|
|
/dev/mapper/vg_${TARGETNAME_UNDERSCORE}-root /var/lib/backup/quelle/rootfs btrfs defaults 0 0
|
|
EOF
|
|
|
|
|
|
if [ "$EFI" == "1" ]; then
|
|
uuid=$(blkid -o value -s UUID ${TARGET_PHY_ID}-part1)
|
|
echo "UUID=${uuid} /boot/efi vfat defaults 0 0" >> /etc/fstab
|
|
echo "efivarfs /sys/firmware/efi/efivars efivarfs defaults 0 0" >> /etc/fstab
|
|
else
|
|
if [ "${ENCRYPTION_STYLE}" == "e" ]; then
|
|
uuid=$(blkid -o value -s UUID ${TARGET_PHY_ID}-part1)
|
|
echo "UUID=${uuid} /boot btrfs defaults,subvol=bootfs 0 0" >> /etc/fstab
|
|
fi
|
|
fi
|
|
|
|
if [ "$ENCRYPTION_STYLE" == "a" ] || [ "$ENCRYPTION_STYLE" == "d" ]; then
|
|
dd bs=1 count=64 if=/dev/urandom of=/boot/volume.key
|
|
echo -n "${PASS}" | cryptsetup luksAddKey $TARGET_PHY_ID-part${TARGET_PART} /boot/volume.key
|
|
chmod 000 /boot/volume.key
|
|
chmod -R g-rwx,o-rwx /boot
|
|
if [ "$ENCRYPTION_STYLE" == "a" ]; then
|
|
echo "luks_${TARGETNAME_UNDERSCORE} $TARGET_PHY_ID-part${TARGET_PART} /boot/volume.key luks" >> /etc/crypttab
|
|
echo "install_items+=\" /boot/volume.key /etc/crypttab \"" > /etc/dracut.conf.d/10-crypt.conf
|
|
fi
|
|
fi
|
|
|
|
if [ "$ENC" == "1" ]; then
|
|
echo "echo \"Disk pw is '${PASS}'\"" > /etc/runit/core-services/99-changepwdisk.sh
|
|
echo "read -p \"Change PW for disk? y/n \" answer" >> /etc/runit/core-services/99-changepwdisk.sh
|
|
echo "if [ \"\${answer}\" = \"y\" ]; then" >> /etc/runit/core-services/99-changepwdisk.sh
|
|
echo " while ! cryptsetup luksChangeKey /dev/disk/by-uuid/${cfg[partuuid]}; do" >> /etc/runit/core-services/99-changepwdisk.sh
|
|
echo " echo \"Again, please\"" >> /etc/runit/core-services/99-changepwdisk.sh
|
|
echo " done" >> /etc/runit/core-services/99-changepwdisk.sh
|
|
echo " rm -rf /etc/runit/core-services/99-changepwdisk.sh" >> /etc/runit/core-services/99-changepwdisk.sh
|
|
echo "fi" >> /etc/runit/core-services/99-changepwdisk.sh
|
|
fi
|
|
|
|
useradd -G wheel,socklog,audio,video,floppy,cdrom,optical,input,users -U -m -s /usr/bin/bash -c "${USERNAME}" "${USERNAME}"
|
|
grep -q lpadmin /etc/group && usermod -a -G lpadmin "${USERNAME}"
|
|
echo -e "${PASS}\n${PASS}" | passwd "${USERNAME}"
|
|
|
|
passwd -dl root
|
|
chsh -s /usr/bin/bash root
|
|
|
|
echo "echo \"User pw is '${PASS}'\"" > /etc/runit/core-services/99-changepwuser.sh
|
|
echo "echo \"You should change it before login\"" > /etc/runit/core-services/99-changepwuser.sh
|
|
echo "read -p \"Change PW for ${USERNAME}? y/n \" answer" >> /etc/runit/core-services/99-changepwuser.sh
|
|
echo "if [ \"\${answer}\" = \"y\" ]; then" >> /etc/runit/core-services/99-changepwuser.sh
|
|
echo " while ! passwd ${USERNAME}; do" >> /etc/runit/core-services/99-changepwuser.sh
|
|
echo " echo \"Again, please\"" >> /etc/runit/core-services/99-changepwuser.sh
|
|
echo " done" >> /etc/runit/core-services/99-changepwuser.sh
|
|
echo " rm -rf /etc/runit/core-services/99-changepwuser.sh" >> /etc/runit/core-services/99-changepwuser.sh
|
|
echo "fi" >> /etc/runit/core-services/99-changepwuser.sh
|
|
|
|
touch /etc/xbps.d/10-ignore-firmware.conf
|
|
{ echo "#ignorepkg=linux-firmware-amd";
|
|
echo "#ignorepkg=linux-firmware-intel";
|
|
echo "#ignorepkg=linux-firmware-nvidia";
|
|
echo "#ignorepkg=linux-firmware-broadcom";
|
|
echo "#ignorepkg=wifi-firmware"; } >> /etc/xbps.d/10-ignore-firmware.conf
|
|
chmod 755 /etc/xbps.d/10-ignore-firmware.conf
|
|
|
|
if ! [ "${LANGUAGE_}" == "en" ]; then
|
|
cp -a /etc/profile.d/locale.sh /etc/profile.d/zz-locale-user.sh
|
|
sed -i 's/locale.conf/locale-user.conf/' /etc/profile.d/zz-locale-user.sh
|
|
sed -i '/^if/i [ "$(id -u)" -eq 0 ] && return' /etc/profile.d/zz-locale-user.sh
|
|
fi
|
|
|
|
echo '0 * * * * /usr/bin/void-snapshot cron #void.system' > /var/spool/cron/root
|
|
|
|
vbin "${FILESDIR}/bin/joinvpn"
|
|
vbin "${FILESDIR}/bin/void-update"
|
|
vbin "${FILESDIR}/bin/void-backup"
|
|
vbin "${FILESDIR}/bin/void-snapshot"
|
|
vbin "${FILESDIR}/bin/void-createbackupcontainer"
|
|
vbin "${FILESDIR}/bin/pinentry-chooser"
|
|
|
|
vmkdir etc/sudoers.d
|
|
vinstall "${FILESDIR}/sudoers/10-common" 700 etc/sudoers.d
|
|
|
|
vmkdir etc/bash/bashrc.d
|
|
vinstall "${FILESDIR}/bash/xbps-aliase.sh" 755 etc/bash/bashrc.d
|
|
vinstall "${FILESDIR}/bash/editor.sh" 755 etc/bash/bashrc.d
|
|
|
|
vmkdir usr/lib/udev/rules.d
|
|
vinstall "${FILESDIR}/udev/99-mount-media.rules" 744 usr/lib/udev/rules.d
|
|
vinstall "${FILESDIR}/udev/99-ioschedulers.rules" 744 usr/lib/udev/rules.d
|
|
|
|
vmkdir etc/btrbk
|
|
vinstall "${FILESDIR}/btrbk/btrbk.conf.void" 744 etc/btrbk
|
|
|
|
vmkdir etc/xbps.d
|
|
vinstall "${FILESDIR}/xbps/50-no-extract.conf" 755 etc/xbps.d
|
|
vinstall "${FILESDIR}/xbps/20-repo-rotce.de-pakete.conf" 755 etc/xbps.d
|
|
|
|
vmkdir etc/default/grub-btrfs
|
|
vinstall "${FILESDIR}/grub-btrfs/void.conf" 755 etc/default/grub-btrfs
|
|
|
|
vmkdir etc/NetworkManager/conf.d
|
|
vmkdir etc/NetworkManager/dispatcher.d
|
|
vinstall "${FILESDIR}/nm/unmanaged-wg.conf" 644 etc/NetworkManager/conf.d
|
|
vinstall "${FILESDIR}/nm/unmanaged-tun.conf" 644 etc/NetworkManager/conf.d
|
|
vinstall "${FILESDIR}/nm/30-wg0" 744 etc/NetworkManager/dispatcher.d
|
|
|
|
vmkdir etc/profile.d
|
|
vinstall "${FILESDIR}/profile/append-path.sh" 644 etc/profile.d zz-append-path.sh
|
|
|
|
vmkdir usr/share/X11/xorg.conf.d
|
|
vinstall "${FILESDIR}/xorg/10-keyboard.conf" 644 usr/share/X11/xorg.conf.d
|
|
|
|
vmkdir etc/skel
|
|
vinstall "${FILESDIR}/gnupg/gpg-agent.conf" 700 etc/skel
|
|
|
|
}
|