Script updates and repo reorg
This commit is contained in:
parent
9938a92c4a
commit
fc41d02316
4
.gitignore
vendored
4
.gitignore
vendored
@ -46,7 +46,7 @@ coverage/
|
||||
/.zsh_sessions/
|
||||
|
||||
# Firefox (sensitive, usually ignore)
|
||||
# ~/.mozilla/firefox/*.default-release/sessionstore*
|
||||
~/.mozilla/firefox/*.default-release/sessionstore*
|
||||
|
||||
# SSH keys (NEVER track)
|
||||
# ~/.ssh/id_*
|
||||
~/.ssh/id_*
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
# windows-config
|
||||
# Config
|
||||
|
||||
A repository for my Windows-based configuration files.
|
||||
A repository for my configuration files and setup scripts for Linux and Windows
|
||||
|
||||
## Configurations
|
||||
|
||||
|
||||
87
linux/fedora_setup.sh
Executable file
87
linux/fedora_setup.sh
Executable file
@ -0,0 +1,87 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Fedora New Machine Setup Script
|
||||
# Run as root or with sudo where needed
|
||||
# Logs everything to setup.log
|
||||
|
||||
set -euo pipefail # Exit on error, undefined vars, pipe failures
|
||||
|
||||
LOGFILE="$HOME/fedora-setup-$(date +%Y%m%d-%H%M%S).log"
|
||||
exec &> >(tee -a "$LOGFILE")
|
||||
|
||||
echo "=== Fedora New Machine Setup Started at $(date) ==="
|
||||
|
||||
# Check if running as root
|
||||
if [[ $EUID -ne 0 ]]; then
|
||||
echo "Run this script with sudo for full functionality."
|
||||
fi
|
||||
|
||||
echo "Creating mount points..."
|
||||
sudo mkdir -p /mnt/games /mnt/media
|
||||
sudo systemctl daemon-reload
|
||||
|
||||
echo "Installing RPM Fusion repos..."
|
||||
sudo dnf install -y https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
|
||||
|
||||
echo "Adding Signal repo..."
|
||||
sudo dnf config-manager addrepo --from-repofile https://download.opensuse.org/repositories/network:im:signal/Fedora_$(rpm -E %fedora)/network:im:signal.repo
|
||||
|
||||
echo "Enabling Flatpak..."
|
||||
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
||||
|
||||
echo "Upgrading system..."
|
||||
sudo dnf upgrade -y
|
||||
|
||||
echo "Installing multimedia codecs..."
|
||||
sudo dnf swap ffmpeg-free ffmpeg --allowerasing
|
||||
sudo dnf install -y mozilla-openh264 gstreamer1-plugins-bad-freeworld ffmpeg
|
||||
sudo dnf update @multimedia --setopt="install_weak_deps=False" --exclude=PackageKit-gstreamer-plugin
|
||||
sudo dnf install -y gstreamer1-plugins-{bad-freeworld,good,base} gstreamer1-plugin-openh264 lame* ffmpeg
|
||||
sudo dnf group install -y multimedia sound-and-video --skip-unavailable
|
||||
|
||||
echo "Installing common apps..."
|
||||
sudo dnf install -y davfs2 discord git hugo NetworkManager-openvpn openvpn
|
||||
sudo dnf install -y oh-my-posh openrgb qbittorrent screenfetch signal-desktop steam thunderbird
|
||||
|
||||
echo "Installing Flatpaks..."
|
||||
flatpak install -y flathub org.signal.Signal com.bitwarden.desktop io.missioncenter.MissionCenter io.github.martinrotter.rssguard org.kde.konversation
|
||||
flatpak install -y com.spotify.Client org.kde.konversation io.github.Archeb.opentrace
|
||||
|
||||
echo "Installing fonts..."
|
||||
sudo dnf install -y cascadia-fonts-all
|
||||
sudo fc-cache -f -v
|
||||
|
||||
echo "Setting up VS Code repo..."
|
||||
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
|
||||
sudo tee /etc/yum.repos.d/vscode.repo > /dev/null <<EOF
|
||||
[code]
|
||||
name=Visual Studio Code
|
||||
baseurl=https://packages.microsoft.com/yumrepos/vscode
|
||||
enabled=1
|
||||
autorefresh=1
|
||||
type=rpm-md
|
||||
gpgcheck=1
|
||||
gpgkey=https://packages.microsoft.com/keys/microsoft.asc
|
||||
EOF
|
||||
|
||||
echo "Updating repos and installing VS Code..."
|
||||
sudo dnf check-update
|
||||
sudo dnf install -y code
|
||||
|
||||
echo "=== Setup completed at $(date). Check $LOGFILE for full log. ==="
|
||||
|
||||
echo ""
|
||||
echo "⚠️ WARNING: Mount Point Configuration Required ⚠️"
|
||||
echo ""
|
||||
echo "TODO: Add mount points to /etc/fstab with UUIDs for /mnt/games and /mnt/media."
|
||||
echo " 1. Identify UUIDs: blkid | grep -E 'TYPE=\"ntfs\"'"
|
||||
echo " 2. Edit /etc/fstab (backup first: sudo cp /etc/fstab /etc/fstab.bak)"
|
||||
echo " 3. Add lines like:"
|
||||
echo " UUID=XXXXXX-XXXX /mnt/games ntfs defaults,nofail,uid=1000,gid=1000,exec 0 0"
|
||||
echo " UUID=YYYYYY-YYYY /mnt/media ntfs defaults,nofail,uid=1000,gid=1000 0 0"
|
||||
echo " 4. Test: sudo mount -a"
|
||||
echo " 5. Reboot to verify."
|
||||
echo ""
|
||||
echo "Use KDE Partition Manager for a GUI alternative."
|
||||
echo ""
|
||||
echo "⚠️ ⚠️"
|
||||
Loading…
x
Reference in New Issue
Block a user