Overview
NEWbara.sh is a comprehensive system bootstrap automation script designed for Nobara and Fedora Linux distributions. It provides configuration-driven package management with explicit safety-first design, automatic visual feedback, and multi-package manager support (DNF and Flatpak).
Key Features
- Configuration-Driven Installation: Requires explicit package file input (−d or −f) preventing accidental installations
- External Package Lists: Load DNF packages and Flatpak apps from separate config files for reusability
- Automatic Visual Dependencies: Auto-installs cowsay/lolcat early for guaranteed colorful feedback throughout execution
- Dry-Run Safety: Preview installations without making changes; cleanup operations skipped during dry-runs
- Multi-Package Manager: Seamless DNF and Flatpak integration with user/system installation modes
- Timestamped Logging: All output logged for troubleshooting and audit trails
- Smart Cleanup: Removes orphaned packages and unused Flatpak runtimes post-installation
Installation & Setup
cd BASHparaphernalia/scripts/NEWbara
chmod +x NEWbara.sh
# Install from configuration file (required)
./NEWbara.sh -d config/dnf-packages.txt
# Install from Flatpak apps configuration
./NEWbara.sh -f config/flatpak-packages.txt
# Install both with system-wide Flatpaks
./NEWbara.sh -d config/dnf-packages.txt -f config/flatpak-packages.txt -S
# Preview without installing (dry-run)
./NEWbara.sh -d config/dnf-packages.txt -n
Configuration Files
Create custom package lists in plain text format (one per line):
# config/my-dnf-packages.txt
neovim
git
python3
nodejs
tmux
# config/my-flatpak-apps.txt
org.videolan.VLC
md.obsidian.Obsidian
org.kde.krita
io.github.zen_browser.zen
Pro Tip: Create separate configuration files for different use cases (dev, gaming, media) and switch between them as needed.
Command-Line Options
NEWbara.sh [OPTIONS]
OPTIONS:
-d FILE Path to DNF packages configuration file
-f FILE Path to Flatpak apps configuration file
-S Install Flatpak apps system-wide (default: user installation)
-n Dry-run mode (preview without installing)
-h Display help message
EXAMPLES:
./NEWbara.sh -d packages.txt
./NEWbara.sh -d dnf.txt -f flatpak.txt -S -n
./NEWbara.sh -h
Dependencies
- Required: dnf, flatpak, sudo
- Auto-installed: cowsay, lolcat (installed early for visual feedback)
- Optional: None
Note: cowsay and lolcat can be safely uninstalled after running: sudo dnf remove cowsay
lolcat
Troubleshooting
- Permission denied: Make sure script is executable with
chmod +x NEWbara.sh - Command not found: Use full path to script or ensure it's in your PATH
- Missing packages file: Script requires −d or −f flag; provide at least one configuration file
- Flatpak installation fails: Ensure flatpak is installed and remotes are configured with
flatpak remotes - Check logs: Review timestamped logs in the script output directory for detailed error information