Files
dotenv/dotenv.sh
2026-01-25 15:11:44 -06:00

185 lines
6.1 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 \
app.organicmaps.desktop \
tv.plex.PlexHTPC \
com.pokemmo.PokeMMO \
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 \
--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
# Ask if we want to install ollama models now
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
# Open login to nextcloud in firefox
# echo -e "\n\n\nNextCloud Login Setup\n\n\n"
# flatpak run org.mozilla.firefox 'https://cloud.wish.moe' &
# echo "Generate a nextcloud token and paste here when ready:"
# read -r NEXTCLOUD_TOKEN