75 lines
3.1 KiB
Bash
Executable File
75 lines
3.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
. /first-boot.env
|
|
. $CONFIG_DIR/elfos.sh
|
|
|
|
run root "disable first boot service" "systemctl disable first_boot.service"
|
|
|
|
echo
|
|
echo === install tools
|
|
echo
|
|
|
|
run root "enable NetworkMaanger" "systemctl enable NetworkManager.service"
|
|
run root "start NetworkMaanger" "systemctl start NetworkManager.service"
|
|
run root "wait for network" "while [[ 1 ]] ; do ping -c1 1.1.1.1 && break ; done"
|
|
run root "install base tools" "pacman -Sy --noconfirm \
|
|
usbutils dosfstools exfat-utils net-tools bind nmap libfido2 \
|
|
base-devel vim neovim curl ncdu btop git flatpak screen"
|
|
run root "install dev tools" "pacman -S --noconfirm \
|
|
ansible python3 gcc make cmake nodejs npm clang \
|
|
arm-none-eabi-gcc arm-none-eabi-newlib stow"
|
|
run root "install gnome" "pacman -S --noconfirm gnome"
|
|
run root "enable gnome" "systemctl enable gdm.service"
|
|
run root "install docker" "pacman -S --noconfirm docker"
|
|
run root "add $USERNAME to docker group" "usermod -aG docker $USERNAME"
|
|
HOME_IP="$(dig +short home.freenen.nl)"
|
|
run root "update hosts file" "cat >>/etc/hosts <<EOF
|
|
|
|
${HOME_IP} myadmin.cool.freenen.nl
|
|
${HOME_IP} grafana.cool.freenen.nl
|
|
${HOME_IP} zigbee.cool.freenen.nl
|
|
${HOME_IP} nodered.cool.freenen.nl
|
|
EOF
|
|
"
|
|
|
|
run "$USERNAME" "create home dirs" "mkdir -p \
|
|
/home/$USERNAME/.local/py-glob \
|
|
/home/$USERNAME/.ssh \
|
|
/home/$USERNAME/projects \
|
|
/home/$USERNAME/.local/bin \
|
|
/home/$USERNAME/.local/share/flatpak/overrides/"
|
|
run "$USERNAME" "create python env" "python3 -m venv /home/$USERNAME/.local/py-glob"
|
|
run "$USERNAME" "clone stowhome" "git clone https://gitea.finnvanreenen.nl/LailaTheElf/stowhome.git /home/$USERNAME/.config/dotfiles"
|
|
run "$USERNAME" "install stowhome" "/home/$USERNAME/.config/dotfiles/stow/dot-local/bin/stowhome --adopt stow"
|
|
run "$USERNAME" "restore stowhome" "git -C /home/$USERNAME/.config/dotfiles restore ."
|
|
run "$USERNAME" "apply all stowhome packages" "/home/$USERNAME/.local/bin/stowhome --adopt all"
|
|
run "$USERNAME" "restore stowhome again" "git -C /home/$USERNAME/.config/dotfiles restore ."
|
|
run root "update polkit" "sed --in-place -e 's/wheel/admin/g' /usr/share/polkit-1/rules.d/50-default.rules"
|
|
run root "update fail lock" "sed --in-place -e 's/^deny = .*$/deny = 10/' -e 's/^unlock_time = .*$/unlock_time = 60/' /etc/security/faillock.conf"
|
|
|
|
echo
|
|
echo === setup blutooth
|
|
echo
|
|
|
|
run root "install bluez" "pacman -S --noconfirm bluez bluez-tools"
|
|
run root "enable bluez" "systemctl enable bluetooth"
|
|
|
|
for part in $(echo "$INSTALL_PARTS" | tr ',' ' ')
|
|
do
|
|
|
|
echo
|
|
echo === install part: $part
|
|
echo
|
|
|
|
$CONFIG_DIR/install_$part.sh
|
|
|
|
done
|
|
|
|
echo
|
|
echo === clean and reboot
|
|
echo
|
|
|
|
run root "remove config sources" "rm -r \"$CONFIG_DIR\""
|
|
run root "remove first boot script" "rm /first-boot.sh /first-boot.env /etc/systemd/system/first-boot.service"
|
|
run root "reboot" "shutdown -r now"
|