omaforge - Fedora
October 12, 2025 ยท View on GitHub
Automated Fedora system setup.
Quick Start
cd ~/Dev/.configs/unix/fedora
./fedora-setup
Configuration
Edit config.json:
{
"system": { "hostname": "fedora-laptop" },
"git": {
"user_name": "Your Name",
"user_email": "your@email.com"
},
"rust": {
"tools": ["bat", "eza", "ripgrep", "zoxide", "starship"]
}
}
Package Management
Interactive
./bin/omaforge-pkg-manage
Add, remove, search packages with availability checking.
Manual
echo "fastfetch" >> packages/base.packages
./fedora-setup
Package Lists
base.packages- Core utilitiesdevelopment.packages- Dev toolstools.packages- User applicationssystem.packages- System librariesflatpak.packages- Flatpak apps
Web Applications
Installed by default:
- Twitter (X) - Standard
- ChatGPT - Incognito mode
- Grok - Incognito mode
Install Custom
./bin/omaforge-webapp-install "App Name" "https://example.com" "https://example.com/icon.png"
# Incognito mode
./bin/omaforge-webapp-install "App" "https://example.com" "icon.png" \
"omaforge-launch-browser --private https://example.com/"
Remove
./bin/omaforge-webapp-remove # Interactive
./bin/omaforgeomaforge-webapp-remove ChatGPT # Specific
./bin/omaforgeomaforge-webapp-remove all # All
What's Installed
- DNF optimization and system updates
- Repositories (RPM Fusion, COPR, Terra)
- Packages (DNF, Flatpak, Rust)
- Web apps (Twitter, ChatGPT, Grok)
- Hardware support (ASUS, NVIDIA)
- Performance tuning (zram, fstrim)
- Git/SSH, NextDNS, dotfiles, ZSH
- Services (PostgreSQL, Redis, Docker)
Reset/Re-run Components
If you need to reset or re-run specific parts:
./bin/omaforge-reset
Interactive menu to reset:
- ZSH configuration
- Dotfiles (stow)
- Fonts
- Git & SSH
- NextDNS
- Services
- Hardware
- Web apps
- Rust tools
Post-Install
- Logout/login for group changes (docker, etc.)
- Reboot if NVIDIA drivers were installed
- Add SSH key to GitHub:
cat ~/.ssh/id_ed25519.pub - Reload shell:
exec zsh
Troubleshooting
Package install fails
dnf repolist
dnf makecache
Git config issues
git config --list
ls -la ~/.ssh/
Services don't start
systemctl status service-name
journalctl -u service-name
Notes
- All scripts are idempotent (safe to re-run)
- Uses shared scripts from
unix/common/ - See main README for overview