2024-03-19 16:39:53 -05:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
# Download swirl from the specified URL
|
|
|
|
sudo wget -O /usr/bin/swirl "http://nodemixaholic.com:3002/nodemixaholic/swirl/raw/commit/27e18143bb65e7781cd41ca89b72560004cf24fc/swirl" || {
|
|
|
|
echo "Failed to download swirl."
|
|
|
|
exit 1
|
|
|
|
}
|
|
|
|
|
2024-03-19 16:46:55 -05:00
|
|
|
chmod +x /usr/bin/swirl
|
|
|
|
|
2024-03-19 16:39:53 -05:00
|
|
|
# Install necessary packages
|
|
|
|
sudo apt update
|
2024-03-31 13:30:10 -05:00
|
|
|
sudo apt install -y busybox clang irssi xfce4 xfce4-screenshooter flatpak || {
|
2024-03-19 16:39:53 -05:00
|
|
|
echo "Failed to install necessary packages."
|
|
|
|
exit 1
|
|
|
|
}
|
|
|
|
|
|
|
|
# List of GNU commands and their corresponding BusyBox equivalents
|
|
|
|
commands=(
|
|
|
|
"ls:busybox ls"
|
|
|
|
"cat:busybox cat"
|
2024-03-19 18:39:27 -05:00
|
|
|
#"cp:busybox cp" # needed for installing GRUB apt package[!]
|
2024-03-19 18:28:25 -05:00
|
|
|
#"mv:busybox mv" # knowing the above is needed for install, disable in case[!]
|
2024-03-19 16:39:53 -05:00
|
|
|
"rm:busybox rm"
|
|
|
|
"rmdir:busybox rmdir"
|
|
|
|
"mkdir:busybox mkdir"
|
2024-03-19 19:12:12 -05:00
|
|
|
#"grep:busybox grep" #needed for updating initramfs[?]
|
2024-03-19 19:30:28 -05:00
|
|
|
#"sed:busybox sed" #shotgun approach
|
2024-03-19 18:51:46 -05:00
|
|
|
#"find:busybox find" #needed for updating initramfs[?]
|
2024-03-19 16:39:53 -05:00
|
|
|
"chmod:busybox chmod"
|
|
|
|
"chown:busybox chown"
|
|
|
|
"wc:busybox wc"
|
2024-03-19 19:30:28 -05:00
|
|
|
#"head:busybox sed -n '1,11p; 12q'"
|
2024-03-19 16:39:53 -05:00
|
|
|
"tail:busybox tail"
|
|
|
|
"gcc:clang"
|
|
|
|
"g++:clang"
|
2024-03-19 17:33:10 -05:00
|
|
|
"wget:swirl"
|
|
|
|
"curl:swirl"
|
2024-03-19 16:39:53 -05:00
|
|
|
)
|
|
|
|
|
|
|
|
# Iterate over each command and create symbolic links
|
|
|
|
for cmd in "${commands[@]}"; do
|
|
|
|
# Split command into GNU and BusyBox parts
|
|
|
|
gnu_cmd="${cmd%%:*}"
|
|
|
|
busybox_cmd="${cmd##*:}"
|
|
|
|
|
|
|
|
# Check if GNU command exists in system
|
|
|
|
if command -v "$gnu_cmd" &>/dev/null; then
|
|
|
|
# Backup existing command
|
|
|
|
if [ -e "/usr/bin/$gnu_cmd" ]; then
|
|
|
|
sudo mv "/usr/bin/$gnu_cmd" "/usr/bin/${gnu_cmd}.backup"
|
|
|
|
fi
|
|
|
|
|
|
|
|
# Create symbolic link for BusyBox equivalent
|
|
|
|
sudo ln -s "$(command -v $busybox_cmd)" "/usr/bin/$gnu_cmd"
|
|
|
|
echo "Created symbolic link for $gnu_cmd -> $busybox_cmd"
|
|
|
|
|
|
|
|
# Remove executable bit from backed-up GNU command
|
|
|
|
if [ -e "/usr/bin/${gnu_cmd}.backup" ]; then
|
|
|
|
sudo chmod -x "/usr/bin/${gnu_cmd}.backup"
|
|
|
|
echo "Removed executable bit from ${gnu_cmd}.backup"
|
|
|
|
fi
|
|
|
|
else
|
|
|
|
echo "GNU command $gnu_cmd not found, skipping..."
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
|
|
|
|
# Install other apps
|
2024-03-20 15:46:40 -05:00
|
|
|
sudo apt install -y libreoffice krita network-manager-gnome || {
|
2024-03-19 16:39:53 -05:00
|
|
|
echo "Failed to install others."
|
|
|
|
exit 1
|
2024-03-19 17:45:11 -05:00
|
|
|
}
|
|
|
|
|
2024-03-31 13:30:10 -05:00
|
|
|
sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
|
|
|
|
|
2024-03-19 17:45:11 -05:00
|
|
|
## Replace bash with busybox sh
|
2024-03-31 13:37:49 -05:00
|
|
|
printf "\n\nbusybox sh" >> "/etc/bash.bashrc"
|
|
|
|
|
|
|
|
## Add T2 Mac Compatibility
|
|
|
|
|
|
|
|
sudo apt install curl git
|
|
|
|
sudo apt install cinnamon sddm
|
|
|
|
curl -s --compressed "https://adityagarg8.github.io/t2-ubuntu-repo/KEY.gpg" | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/t2-ubuntu-repo.gpg >/dev/null
|
|
|
|
sudo curl -s --compressed -o /etc/apt/sources.list.d/t2.list "https://adityagarg8.github.io/t2-ubuntu-repo/t2.list"
|
|
|
|
sudo apt update
|
|
|
|
sudo apt install t2-kernel-script
|
|
|
|
sudo update_t2_kernel
|
|
|
|
sudo apt install apple-t2-audio-config tiny-dfr zstd
|
|
|
|
wget http://nodemixaholic.com:3002/nodemixaholic/apple-broadcom-firmware-arch/raw/branch/main/apple-bcm-firmware-14.0-1-any.pkg.tar.zst
|
|
|
|
zstd -d -c apple-bcm-firmware-14.0-1-any.pkg.tar.zst | tar -xvf -
|
|
|
|
sudo cp -r ./usr/* /usr/
|
|
|
|
sudo apt install iwd
|
|
|
|
sudo sed -i 's/^wifi\.backend.*/wifi.backend=iwd/' /etc/NetworkManager/NetworkManager.conf
|
|
|
|
sudo systemctl enable --now iwd
|
|
|
|
git clone https://github.com/kekrby/t2-better-audio
|
|
|
|
cd t2-better-audio
|
|
|
|
sudo ./install.sh
|
|
|
|
cd ..
|