diff --git a/first-boot.sh b/first-boot.sh index 4aecced..cf2b822 100644 --- a/first-boot.sh +++ b/first-boot.sh @@ -1,13 +1,13 @@ #!/bin/bash -username=freenen +USERNAME=freenen function run(){ if [ "$1" = "root" ] then box="" else - box="sudo -u $username distrobox enter --name $1 --" + box="sudo -u $USERNAME distrobox enter --name $1 --" fi echo "[ ] $1: $2" echo "# $2" >>install.log @@ -23,20 +23,16 @@ function run(){ } run root "install base tools" "pacman -Sy \ - usbutils dosfstools exfat-utils net-tools \ - vim curl wget ncdu neofetch btop git flatpak" + usbutils dosfstools exfat-utils net-tools nmap \ + vim curl ncdu neofetch btop git flatpak" run root "install dev tools" "pacman -S ansible python3 gcc make cmake clangd" run root "install gnome" "pacman -S gnome" run root "install distrobox" "pacman -S docker distrobox" -run root "add $username to docker group" "usermod -aG docker $username" +run root "add $USERNAME to docker group" "usermod -aG docker $USERNAME" -run root "create home dirs" "sudo -u $username mkdir -p /home/$username/.local/python-env" +run root "create home dirs" "sudo -u $USERNAME mkdir -p /home/$USERNAME/.local/python-env" -#TODO: setup bluetooth -#TODO: update /etc/securty/faillock.conf - -run ubuntu "create python env" "python3 -m venv /home/$username/.local/python-env" -#TODO: user this python env by default +run ubuntu "create python env" "python3 -m venv /home/$USERNAME/.local/python-env" run root "install pulseview" "pacman -S pulseview sigrok-firmware-fx2lafw" @@ -48,7 +44,7 @@ echo run root "setup distrobox ubuntu" "distrobox create --image ubuntu:latest --name ubuntu" run root "install sudo for ubuntu box" "docker exec ubuntu apt install sudo" -run root "setup sudo for ubuntu box" "usermod -aG sudo $username" +run root "setup sudo for ubuntu box" "usermod -aG sudo $USERNAME" run ubuntu "apt udpate" "sudo apt update" echo @@ -70,10 +66,32 @@ echo \#\# install esp-idf echo run root "install esp-idf deps" "pacman -S flex bison gperf ninja ccache libffi dfu-util libusb" -run root "create folder for esp-idf" "mkdir /home/$username/.local/espressif" -run root "clone idf-extra-components" "git clone https://github.com/espressif/esp-idf.git /home/$username/.local/espressif/esp-idf" -run root "clone esp-idf" "git clone https://github.com/espressif/idf-extra-components.git /home/$username/.local/espressif/idf-extra-components" -run root "clone esp-protocols" "git clone https://github.com/espressif/esp-protocols.git /home/$username/.local/espressif/esp-protocols" -run root "clone esp-zigbee-sdk" "git clone https://github.com/espressif/esp-zigbee-sdk.git /home/$username/.local/espressif/esp-zigbee-sdk" -run root "install esp-idf" "IDF_TOOLS_PATH=/home/freenen/.local/espressif /home/$username/.local/espressif/esp-idf/install.sh all" +run root "create folder for esp-idf" "mkdir /home/$USERNAME/.local/espressif" +run root "clone idf-extra-components" "git clone https://github.com/espressif/esp-idf.git /home/$USERNAME/.local/espressif/esp-idf" +run root "clone esp-idf" "git clone https://github.com/espressif/idf-extra-components.git /home/$USERNAME/.local/espressif/idf-extra-components" +run root "clone esp-protocols" "git clone https://github.com/espressif/esp-protocols.git /home/$USERNAME/.local/espressif/esp-protocols" +run root "clone esp-zigbee-sdk" "git clone https://github.com/espressif/esp-zigbee-sdk.git /home/$USERNAME/.local/espressif/esp-zigbee-sdk" +run root "install esp-idf" "IDF_TOOLS_PATH=/home/freenen/.local/espressif /home/$USERNAME/.local/espressif/esp-idf/install.sh all" +echo +echo \#\# install flatpaks + +function install_flatpak() { + run root "install f$1" "flatpak install $1" +} + +install_flatpak md.obsidian.Obsidian +install_flatpak org.mozilla.Thunderbird +install_flatpak com.discordapp.Discord +install_flatpak com.github.tchx84.Flatseal +install_flatpak com.yubico.yubioath +install_flatpak org.filezillaproject.Filezilla +install_flatpak org.gnome.moserial +install_flatpak org.raspberrypi.rpi-imager +install_flatpak org.sdrangel.SDRangel +install_flatpak fr.handbrake.ghb +install_flatpak org.inkscape.Inkscape +install_flatpak org.gnome.Rhythmbox3 +install_flatpak com.prusa3d.PrusaSlicer +install_flatpak org.freecadweb.FreeCAD #TODO: install nightly instad +install_flatpak org.kicad.KiCad