fastfetch and 1 other package didnt exist in debian 12 repos. it gives the OPTION to skip installing fastfetch (and it still works!) photo below
A comprehensive .bashrc configuration with modern terminal enhancements for Unix-like systems. This setup provides powerful aliases, custom functions, an enhanced prompt, and integrated tools to significantly improve your terminal productivity and experience.
- Installation
- Uninstallation
- Configuration Files
- Key Features
- Advanced Functions
- System-Specific Configurations
- Conclusion
To install the .bashrc configuration, execute the following commands in your terminal:
git clone https://github.com/catmelonllc/pretty-bash.git
cd pretty-bash
./setup.shThe setup.sh script automates the installation process by:
- Installing essential packages (bash-completion, bat, tree, neovim, fastfetch, etc.)
- Installing modern terminal tools (starship prompt, fzf fuzzy finder, zoxide directory jumper)
- Installing MesloLGS Nerd Font for enhanced prompt display
- Linking configuration files (
.bashrc,starship.toml,config.jsonc) to your home directory - Backing up existing configurations before making changes
Requirements: Git, curl, and a supported package manager (apt, dnf, pacman, etc.)
To uninstall the .bashrc configuration, run:
cd pretty-bash
./uninstall.shThe uninstall.sh script reverses the installation by:
- Removing installed packages and dependencies
- Uninstalling MesloLGS Nerd Font
- Removing symbolic links and restoring original configurations
- Cleaning up external tools (starship, fzf, zoxide)
- Restoring backed up
.bashrcif available
Note: Restart your shell after uninstallation to apply changes.
Enhanced bash configuration with modern shell improvements:
- Smart Aliases: Safe defaults and productivity shortcuts (e.g.,
cp='cp -i',ll='ls -la') - Custom Functions: Archive extraction, file operations, system utilities
- History Management: Improved history handling with deduplication
- Tool Integration: Seamless integration with fzf, zoxide, and other modern tools
Starship prompt configuration for a modern, informative shell prompt:
- Clean Design: Minimalist yet informative prompt layout
- Git Integration: Branch status, commit info, and repository state
- Language Support: Context-aware modules for Python, Node.js, Rust, Go, and more
- Performance: Fast rendering with intelligent truncation
Fastfetch system information display:
- System Overview: CPU, GPU, memory, and storage information
- Customizable Layout: Clean, organized system information display
- Logo Support: Distro-specific ASCII art and branding
- Performance Metrics: Quick system health overview
- Starship Prompt: Fast, customizable prompt with git integration
- FZF: Fuzzy finder for files, command history, and more
- Zoxide: Smart directory jumping with frecency algorithm
- Bat: Syntax-highlighted
catreplacement - Fastfetch: System information display
- Smart Aliases: Safer defaults and productivity shortcuts
- Custom Functions: Archive handling, file operations, system utilities
- History Management: Improved history with deduplication and search
- Color Support: Enhanced readability with syntax highlighting
- Safe Operations: Confirmation prompts for destructive commands
- Trash Integration: Use
trashinstead ofrmfor safer file deletion - Editor Integration: NeoVim as default with fallbacks
- Cross-Platform: Works on major Linux distributions and package managers
- Package Manager Detection: Automatic detection of apt, dnf, pacman, etc.
- Font Installation: Automatic Nerd Font setup for prompt icons
- Backup System: Preserves existing configurations before changes
- Arch Linux (pacman, yay, paru)
- Debian/Ubuntu (apt, nala)
- Fedora/RHEL (dnf, yum)
- Gentoo (emerge)
- Void Linux (xbps-install)
- openSUSE (zypper)
- NixOS (nix-env)
Contributions are welcome! Please feel free to:
- Report bugs or issues
- Suggest new features or improvements
- Submit pull requests
- Share your customizations
This project is under the unlicense Feel free to use, modify, and distribute as needed. (tip if you have debian 12 and dont have fastfetch. you can add neofetch to the end of your .bashrc and it will do the same :)
