223 lines
7.0 KiB
Bash
Executable File
223 lines
7.0 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Is this fedora?
|
|
if [ -f /etc/fedora-release ]; then
|
|
echo "Fedora detected, continuing..."
|
|
else
|
|
echo "This script is intended for Fedora systems. Exiting."
|
|
exit 1
|
|
fi
|
|
|
|
# Primary Package Installs
|
|
echo -e "\n\n\nInstalling Primary Packages\n\n\n"
|
|
sudo dnf update -y
|
|
sudo dnf install -y \
|
|
git \
|
|
vim \
|
|
steam-devices \
|
|
nvim \
|
|
cmake \
|
|
gcc \
|
|
gcc-c++ \
|
|
make \
|
|
gdb \
|
|
flatpak
|
|
|
|
# Add Flathub repo, and set as default (needs permission elevation)
|
|
echo -e "\n\n\nSetting up FlatPak Repositories\n\n\n"
|
|
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
|
sudo flatpak remote-modify --set-default flathub
|
|
|
|
# Remove fedora flathub repo
|
|
|
|
# Remove unwanted packages
|
|
|
|
# Install programs using flatpak
|
|
echo -e "\n\n\nInstalling FlatPak Desktop Programs\n\n\n"
|
|
flatpak install \
|
|
flathub \
|
|
org.audacityteam.Audacity \
|
|
org.azahar_emu.Azahar \
|
|
com.bambulab.BambuStudio \
|
|
com.bitwarden.desktop \
|
|
org.blender.Blender \
|
|
com.usebottles.bottles \
|
|
org.kde.kalk \
|
|
info.cemu.Cemu \
|
|
io.dbeaver.DBeaverCommunity \
|
|
com.discordapp.Discord \
|
|
org.DolphinEmu.dolphin-emu \
|
|
org.kartkrew.RingRacers \
|
|
org.filezillaproject.Filezilla \
|
|
org.mozilla.firefox \
|
|
com.github.tchx84.Flatseal \
|
|
it.mijorus.gearlever \
|
|
io.github.MakovWait.Godots \
|
|
com.google.Chrome \
|
|
fr.handbrake.ghb \
|
|
org.kde.kamoso \
|
|
org.kde.kblocks \
|
|
org.kde.kdenlive \
|
|
org.kde.kmines \
|
|
org.kde.knights \
|
|
org.kde.kpat \
|
|
org.kde.krita \
|
|
org.kde.ksudoku \
|
|
org.libreoffice.LibreOffice \
|
|
org.luanti.luanti \
|
|
net.kuribo64.melonDS \
|
|
org.musicbrainz.Picard \
|
|
com.nextcloud.desktopclient.nextcloud \
|
|
com.obsproject.Studio \
|
|
io.openrct2.OpenRCT2 \
|
|
net.openra.OpenRA \
|
|
app.organicmaps.desktop \
|
|
tv.plex.PlexHTPC \
|
|
com.pokemmo.PokeMMO \
|
|
net.pokerth.PokerTH \
|
|
org.prismlauncher.PrismLauncher \
|
|
org.qbittorrent.qBittorrent \
|
|
org.libretro.RetroArch \
|
|
net.rpcs3.RPCS3 \
|
|
net.shadps4.shadPS4 \
|
|
com.slack.Slack \
|
|
com.github.k4zmu2a.spacecadetpinball \
|
|
com.valvesoftware.Steam \
|
|
com.github.taiko2k.tauonmb \
|
|
org.mozilla.Thunderbird \
|
|
org.mapeditor.Tiled \
|
|
com.unity.UnityHub \
|
|
rocks.shy.VacuumTube \
|
|
org.videolan.VLC \
|
|
dev.goats.xivlauncher \
|
|
alpaca com.jeffser.Alpaca \
|
|
org.kde.khangman \
|
|
net.ankiweb.Anki \
|
|
org.freecad.FreeCAD \
|
|
org.gnome.Crosswords \
|
|
dev.bsnes.bsnes \
|
|
org.easyrpg.player \
|
|
org.flycast.Flycast \
|
|
org.libretrainsim.Libre-TrainSim \
|
|
org.luanti.luanti \
|
|
net.sourceforge.m64py.M64Py \
|
|
io.mgba.mGBA \
|
|
net.pcsx2.PCSX2 \
|
|
org.ppsspp.PPSSPP \
|
|
io.github.punesemu.puNES \
|
|
org.sauerbraten.Sauerbraten \
|
|
org.scummvm.ScummVM \
|
|
com.snes9x.Snes9x \
|
|
it.mq1.TinyWiiBackupManager \
|
|
net.veloren.veloren \
|
|
at.vintagestory.VintageStory \
|
|
app.xemu.xemu \
|
|
io.github.strikerx3.ymir \
|
|
org.freac.freac \
|
|
net.blockbench.Blockbench \
|
|
com.github.libresprite.LibreSprite \
|
|
com.voxdsp.TuxFishing \
|
|
org.openmw.OpenMW \
|
|
net.sourceforge.quakespasm.Quakespasm \
|
|
com.orama_interactive.Pixelorama \
|
|
--assumeyes
|
|
|
|
# VS Code
|
|
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
|
|
sudo sh -c 'echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/vscode.repo'
|
|
dnf check-update
|
|
sudo dnf install code
|
|
|
|
# Docker
|
|
sudo dnf config-manager addrepo --from-repofile https://download.docker.com/linux/fedora/docker-ce.repo
|
|
sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
|
|
sudo systemctl enable --now docker
|
|
|
|
# PIA
|
|
echo -e "\n\n\nInstalling Private Internet Access\n\n\n"
|
|
if ! command -v piactl &> /dev/null
|
|
then
|
|
wget https://installers.privateinternetaccess.com/download/pia-linux-3.5.7-08120.run -O ~/Downloads/pia.run
|
|
chmod +x ~/Downloads/pia.run
|
|
mkdir -p ~/.config/privateinternetaccess
|
|
cp ./configs/pia-settings.json ~/.config/privateinternetaccess/clientsettings.json
|
|
~/Downloads/pia.run
|
|
rm ~/Downloads/pia.run
|
|
fi
|
|
|
|
# Ollama
|
|
curl -fsSL https://ollama.com/install.sh | sh
|
|
|
|
echo -e "\n\n\nOllama Model Installation\n\n\n"
|
|
echo "Do you want to install the Ollama models now? (y/n)"
|
|
read -r INSTALL_OLLAMA_MODELS
|
|
if [ "$INSTALL_OLLAMA_MODELS" = "y" ] || [ "$INSTALL_OLLAMA_MODELS" = "Y" ]; then
|
|
ollama pull gemma3n:latest
|
|
ollama pull llama3.2-vision:latest
|
|
ollama pull llama3.1:8b
|
|
ollama pull ministral-3:latest
|
|
ollama pull llama3.2:3b
|
|
fi
|
|
|
|
# AppImages
|
|
wget -O "$HOME/Downloads/balenaEtcher.AppImage" "https://github.com/balena-io/etcher/releases/download/v1.7.9/balenaEtcher-1.7.9-ia32.AppImage"
|
|
flatpak run it.mijorus.gearlever --integrate "$HOME/Downloads/balenaEtcher.AppImage" --replace --yes
|
|
rm "$HOME/Downloads/balenaEtcher.AppImage"
|
|
|
|
wget -O "$HOME/Downloads/deskreen.AppImage" "https://github.com/pavlobu/deskreen/releases/download/v3.2.12/deskreen-ce-3.2.12-x86_64.AppImage"
|
|
flatpak run it.mijorus.gearlever --integrate "$HOME/Downloads/deskreen.AppImage" --replace --yes
|
|
rm "$HOME/Downloads/deskreen.AppImage"
|
|
|
|
wget -O "$HOME/Downloads/playback.AppImage" "https://epilogue.nyc3.cdn.digitaloceanspaces.com/releases/software/Playback/version/1.8.0/release/linux/Playback.AppImage"
|
|
flatpak run it.mijorus.gearlever --integrate "$HOME/Downloads/playback.AppImage" --replace --yes
|
|
rm "$HOME/Downloads/playback.AppImage"
|
|
|
|
wget -O "$HOME/Downloads/eden.AppImage" "https://github.com/eden-emulator/Releases/releases/download/v0.0.4/Eden-Linux-v0.0.4-amd64-gcc-standard.AppImage"
|
|
flatpak run it.mijorus.gearlever --integrate "$HOME/Downloads/eden.AppImage" --replace --yes
|
|
rm "$HOME/Downloads/eden.AppImage"
|
|
|
|
wget -O "$HOME/Downloads/emulationstation.AppImage" "https://gitlab.com/es-de/emulationstation-de/-/package_files/246875981/download"
|
|
flatpak run it.mijorus.gearlever --integrate "$HOME/Downloads/emulationstation.AppImage" --replace --yes
|
|
rm "$HOME/Downloads/emulationstation.AppImage"
|
|
|
|
# Node JS / NVM
|
|
echo -e "\n\n\nNodeJS\n\n\n"
|
|
if ! command -v nvm &> /dev/null
|
|
then
|
|
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
|
|
NVM_DIR="$HOME/.nvm"
|
|
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
|
|
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
|
|
fi
|
|
|
|
nvm install --lts
|
|
npm i -g yarn
|
|
|
|
# VIM (nvim)
|
|
echo -e "\n\n\nVIM\n\n\n"
|
|
echo "alias vim='nvim'" >> ~/.bashrc
|
|
z
|
|
sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
|
|
cp ./configs/vimrc-plugins ~/.config/nvim/init.vim
|
|
nvim +"PlugInstall --sync" +qa
|
|
cat ./configs/vimrc-config >> ~/.config/nvim/init.vim
|
|
|
|
# Iosevka font
|
|
sudo dnf copr enable peterwu/iosevka -y
|
|
sudo dnf install iosevka-fonts -y
|
|
|
|
# Shopify stuff
|
|
npm install -g @shopify/cli @shopify/theme
|
|
|
|
# Setup Apps
|
|
echo "Setup Nextcloud now, press enter when done"
|
|
flatpak run com.nextcloud.desktopclient.nextcloud
|
|
read -r DONE_NEXTCLOUD
|
|
|
|
echo "Install the Organic Maps you want, press enter when done"
|
|
flatpak run app.organicmaps.desktop
|
|
read -r DONE_ORGANIC_MAPS
|
|
|
|
echo "Setup Steam now, press enter when done"
|
|
flatpak run com.valvesoftware.Steam
|
|
read -r DONE_STEAM |