#!/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