- Fedora package manager - Uses
dnf
instead ofapt
- Optimized installation - Faster package resolution and installation
- Better error handling - Graceful handling of Fedora-specific package conflicts# Fresh Linux Setup Scripts
A collection of comprehensive scripts to set up a productive Linux environment. This repository contains focused setup scripts for different aspects of your Ubuntu or Fedora installation.
- Ubuntu 18.04+ or any Debian-based distribution
- Uses
apt
package manager - Original script with comprehensive testing
- Fedora 35+ (tested on Fedora 42)
- Uses
dnf
package manager - Includes Ptyxis terminal support (Fedora's default)
- Fixed pane divider visibility in dark mode
Choose the script for your operating system:
terminal-setup.sh
- Ubuntu/Debian versionfedora-terminal-setup.sh
- Fedora version π
Both scripts provide the same enhanced terminal experience with platform-specific optimizations.
- Installs Terminator - A powerful terminal emulator with splitting capabilities
- Replaces Ctrl+Alt+T shortcut - Opens Terminator instead of default terminal
- Modern Ptyxis-inspired design - Clean, borderless interface matching GNOME
- Enhanced splitting - Easy pane management with intuitive shortcuts
- π§ Fedora-specific: Fixed keyboard shortcut logic and modern styling
- π§ Fedora-specific: Seamless integration with GNOME desktop environment
- Git-aware prompt - Shows current branch or "no git repo" status
- Colored prompt - Easy-to-read terminal prompt with visual hierarchy
- Branch tracking - Always know which branch you're working on
- Word-level navigation - Ctrl+Left/Right to move by words
- Smart deletion - Ctrl+Backspace to delete entire words
- Standard shortcuts - Home/End, Fn+Home/End for line navigation
- Enhanced editing - Modern text editing shortcuts in terminal
- Split panes - Ctrl+\ (horizontal) and Ctrl+' (vertical)
- Mouse support - Click between panes to switch focus
- Modern interface - Clean, borderless design matching GNOME aesthetics
- Intelligent tab completion - Case-insensitive with colored results
- π§ Fedora-specific: Modern Ptyxis-inspired styling with seamless GNOME integration
- π§ Fedora-specific: Visible pane dividers in both light and dark system themes
- Ubuntu 18.04+ or Debian-based distribution
- Desktop environment (GNOME/Unity recommended)
- Internet connection for package downloads
- sudo privileges for package installation
- Fedora 35+ (fully tested and optimized for Fedora 42)
- Desktop environment (GNOME recommended)
- Internet connection for package downloads
- sudo privileges for package installation
- Modern styling - Enhanced to match GNOME design language
curl -fsSL https://raw.githubusercontent.com/adrianmurage/New-Ubuntu-Setup/refs/heads/main/terminal-setup.sh | bash
# Download the script
curl -fsSL https://raw.githubusercontent.com/adrianmurage/New-Ubuntu-Setup/refs/heads/main/terminal-setup.sh -o terminal-setup.sh
# Make executable and run
chmod +x terminal-setup.sh && ./terminal-setup.sh
wget -qO- https://raw.githubusercontent.com/adrianmurage/New-Ubuntu-Setup/refs/heads/main/terminal-setup.sh | bash
curl -fsSL https://raw.githubusercontent.com/adrianmurage/New-Ubuntu-Setup/refs/heads/main/fedora-terminal-setup.sh | bash
# Download the Fedora script
curl -fsSL https://raw.githubusercontent.com/adrianmurage/New-Ubuntu-Setup/refs/heads/main/fedora-terminal-setup.sh -o fedora-terminal-setup.sh
# Make executable and run
chmod +x fedora-terminal-setup.sh && ./fedora-terminal-setup.sh
wget -qO- https://raw.githubusercontent.com/adrianmurage/New-Ubuntu-Setup/refs/heads/main/fedora-terminal-setup.sh | bash
Don't like the terminal setup? No problem! You can safely revert everything:
# Revert all changes back to original state
curl -fsSL https://raw.githubusercontent.com/adrianmurage/New-Ubuntu-Setup/refs/heads/main/terminal-setup.sh | bash -s -- --revert
# Revert all changes back to original state
curl -fsSL https://raw.githubusercontent.com/adrianmurage/New-Ubuntu-Setup/refs/heads/main/fedora-terminal-setup.sh | bash -s -- --revert
- Keyboard shortcut - Ctrl+Alt+T opens default terminal again
- Bash prompt - Removes Git branch info, restores original prompt
- Terminal shortcuts - Removes enhanced word navigation and editing
- Terminator config - Restores original settings or removes custom config
- All backups used - Your original files are restored from automatic backups
- Terminator stays installed - But no longer configured or bound to Ctrl+Alt+T
- Complete removal:
- Ubuntu:
sudo apt remove terminator
- Fedora:
sudo dnf remove terminator
- Ubuntu:
- Original experience - Everything exactly as it was before running the terminal setup
- Manual restart required: Log out and back in to complete the revert process
The revert is completely safe and uses the same backup system that protects your files during installation!
The Fedora version includes several enhancements over the original Ubuntu script:
- Visible pane dividers - No more invisible splitters in dark system themes
- Handle sizing - 3px thick dividers that are always visible
- Better contrast - Inactive panes dimmed for clear focus indication
- Borderless interface - Clean, seamless integration with GNOME
- Hidden tabs and title bars - Minimal design matching Ptyxis aesthetic
- Modern dark theme -
#1a1a1a
background matching GNOME design language - Enhanced typography - Optimized Monospace 11 font for better readability
- Quiet operation - All terminal bells disabled for professional use
- Modern color palette - Clean, high-contrast colors for better accessibility
- Fixed keyboard shortcut logic - Handles Fedora's different gsettings structure
- Corrected command binding - Ensures Terminator (not Ptyxis) opens with Ctrl+Alt+T
- Better error handling - Graceful handling of Fedora-specific configurations
- Native Fedora terminal - Option to enhance Ptyxis instead of installing Terminator
- Modern terminal - Ptyxis is Fedora's new default terminal emulator
- Consistent theming - Works perfectly with Fedora's design language
This repository will expand to include additional setup scripts for both Ubuntu and Fedora:
- π
networking-setup.sh
- VPN, SSH keys, network tools - βοΈ
development-setup.sh
- IDEs, compilers, development tools - π¨
desktop-setup.sh
- Themes, extensions, desktop customization - π
security-setup.sh
- Firewall, security tools, hardening - π¦
apps-setup.sh
- Essential applications and productivity tools
Each script will be focused, independent, and include the same revert functionality for both operating systems!
- Open default terminal (Ctrl+Alt+T)
- Run the installation command for your OS (see above)
- Wait for completion (~1-2 minutes)
- Close terminal and press Ctrl+Alt+T to open Terminator
- Enjoy your enhanced terminal experience!
- Run from default terminal - Don't run from Terminator (it will restart)
- Fresh terminal required - Close all terminals after installation
- Automatic backups - Your existing configs are safely backed up
- Completely safe - Script is idempotent and can be re-run anytime
- Gets latest updates - Re-running ensures you have the newest features
- No duplicates - Intelligently handles existing configurations
- Ctrl + \ - Split horizontally (top/bottom panes)
- Ctrl + ' - Split vertically (side-by-side panes)
- Mouse click - Switch between panes
- Ctrl + Left/Right - Move cursor by word
- Home/End - Go to beginning/end of line
- Fn + Home/End - Alternative line navigation
- Ctrl + A/E - Classic terminal line navigation
- Ctrl + Backspace - Delete word backward
- Ctrl + Delete - Delete word forward
- Ctrl + U - Clear entire line
- Ctrl + K - Clear from cursor to end of line
- Automatic display - Current branch shown in prompt
- Visual indicators - Colored prompt for easy reading
- Repository status - Shows "no git repo" when outside Git directories
- Basic black terminal
- No Git information
- Standard keyboard shortcuts
- Single terminal window
murage@computer:~/project [main]$
murage@computer:~/Documents [no git repo]$
- Modern dark theme with seamless GNOME integration
- Borderless interface - Clean, professional appearance
- Git branch information - Always visible in prompt
- Enhanced keyboard shortcuts - Modern text editing
- Split-pane capability - Multiple terminals in one window
- π Fedora: Ptyxis-inspired design with visible pane dividers
Located at: ~/.config/terminator/config
Located at: ~/.bashrc
(Git prompt function)
Located at: ~/.inputrc
(readline configuration)
Managed by: gsettings
(GNOME keyboard shortcuts)
# Check if you're on Ubuntu/Debian
lsb_release -a
# Ensure you have internet connection
ping -c 3 google.com
# Try running with explicit bash
bash <(curl -fsSL https://raw.githubusercontent.com/adrianmurage/New-Ubuntu-Setup/refs/heads/main/terminal-setup.sh)
# Check if you're on Fedora
cat /etc/fedora-release
# Ensure you have internet connection
ping -c 3 google.com
# Try running with explicit bash
bash <(curl -fsSL https://raw.githubusercontent.com/adrianmurage/New-Ubuntu-Setup/refs/heads/main/fedora-terminal-setup.sh)
# Revert everything back to original state
curl -fsSL https://raw.githubusercontent.com/adrianmurage/New-Ubuntu-Setup/refs/heads/main/terminal-setup.sh | bash -s -- --revert
# Revert everything back to original state
curl -fsSL https://raw.githubusercontent.com/adrianmurage/New-Ubuntu-Setup/refs/heads/main/fedora-terminal-setup.sh | bash -s -- --revert
# Reload bash configuration
source ~/.bashrc
# Start a completely new terminal session
# Or restart your desktop environment
# Check if Terminator installed correctly
which terminator
# Try opening manually
terminator
# Check keyboard shortcut configuration
gsettings list-recursively | grep terminal
# Reload readline configuration
# Start a new terminal session
# Check if function exists
type git_branch
# Verify the modern configuration was applied
cat ~/.config/terminator/config | grep -A 5 "\[global_config\]"
# Check if borderless design is active
cat ~/.config/terminator/config | grep "borderless"
# Kill all Terminator processes and restart
pkill terminator
terminator
# Check if config applied correctly
cat ~/.config/terminator/config | grep handle_size
# Verify the correct keybinding was set
gsettings get org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/ command
# Should return 'terminator' not 'ptyxis'
# Update package cache
sudo dnf check-update
# Clear DNF cache
sudo dnf clean all
# Try installing Terminator manually
sudo dnf install -y terminator
This script is designed to be completely safe and lightweight:
- No memory leaks - All operations are one-time configurations
- No background processes - Script completes and exits cleanly
- No CPU overhead - No continuous monitoring or background services
- Minimal resource usage - Only adds ~5-10MB for Terminator GUI (normal for any terminal)
Component | Memory Impact | CPU Impact | Background Processes |
---|---|---|---|
Default Terminal | Baseline | Baseline | 0 |
After Script | +~5-10MB (GUI only) | Negligible | 0 |
Git prompt | <1KB per prompt | <0.1% when shown | 0 |
Shortcuts | 0KB | 0% | 0 |
- Configuration files - Read once at startup, zero runtime overhead
- Git prompt function - Only executes when displaying prompt (1-2 times per command)
- Readline shortcuts - Built into bash, highly optimized native features
- System settings - Standard GNOME configurations, no additional processes
Your system performance remains exactly the same - just with enhanced functionality! π
To get the latest features and improvements for the terminal setup:
# Simply re-run the installation command
curl -fsSL https://raw.githubusercontent.com/adrianmurage/New-Ubuntu-Setup/refs/heads/main/terminal-setup.sh | bash
# Simply re-run the installation command
curl -fsSL https://raw.githubusercontent.com/adrianmurage/New-Ubuntu-Setup/refs/heads/main/fedora-terminal-setup.sh | bash
The scripts intelligently update your terminal configuration while preserving your customizations.
The scripts automatically create backups of:
~/.bashrc
β~/.bashrc.backup.[timestamp]
~/.inputrc
β~/.inputrc.backup.[timestamp]
~/.config/terminator/config
β~/.config/terminator/config.backup.[timestamp]
- π Fedora:
~/.config/ptyxis-settings.backup
(if using Ptyxis enhancement)
Feel free to submit issues and enhancement requests to the GitHub repository.
We welcome contributions to support additional Linux distributions! Please follow the pattern established by the Ubuntu and Fedora scripts.
Enjoy your enhanced Linux terminal experience on Ubuntu or Fedora! π
π Latest Fedora Updates: The Fedora script now features modern Ptyxis-inspired styling, fixed keyboard shortcuts, and seamless GNOME integration. Your Terminator will look as clean and modern as Ptyxis while providing powerful split-pane functionality!