mybash
mybash copied to clipboard
My Bash profile - Highly customized Starship Theme - Just imagine Powerlevel10k and Nord Theme had a baby.
Overview of ChrisTitusTech's .bashrc
Configuration
The .bashrc
file is a script that runs every time a new terminal session is started in Unix-like operating systems. It is used to configure the shell session, set up aliases, define functions, and more, making the terminal easier to use and more powerful. Below is a summary of the key sections and functionalities defined in the provided .bashrc
file.
How to install
git clone --depth=1 https://github.com/ChrisTitusTech/mybash.git
cd mybash
chmod +x setup.sh
./setup.sh
Initial Setup and System Checks
- Environment Checks: The script checks if it is running in an interactive mode and sets up the environment accordingly.
-
System Utilities: It checks for the presence of utilities like
fastfetch
,bash-completion
, and system-specific configurations (/etc/bashrc
).
Aliases and Functions
-
Aliases: Shortcuts for common commands are set up to enhance productivity. For example,
alias cp='cp -i'
makes thecp
command interactive, asking for confirmation before overwriting files. -
Functions: Custom functions for complex operations like
extract()
for extracting various archive types, andcpp()
for copying files with a progress bar.
Prompt Customization and History Management
-
Prompt Command: The
PROMPT_COMMAND
variable is set to automatically save the command history after each command. - History Control: Settings to manage the size of the history file and how duplicates are handled.
System-Specific Aliases and Settings
-
Editor Settings: Sets
nvim
(NeoVim) as the default editor. -
Conditional Aliases: Depending on the system type (like Fedora), it sets specific aliases, e.g., replacing
cat
withbat
.
Enhancements and Utilities
-
Color and Formatting: Enhancements for command output readability using colors and formatting for tools like
ls
,grep
, andman
. -
Navigation Shortcuts: Aliases to simplify directory navigation, e.g.,
alias ..='cd ..'
to go up one directory. -
Safety Features: Aliases for safer file operations, like using
trash
instead ofrm
for deleting files, to prevent accidental data loss. -
Extensive Zoxide support: Easily navigate with
z
,zi
, or pressing Ctrl+f to launch zi to see frequently used navigation directories.
Advanced Functions
-
System Information: Functions to display system information like
distribution()
to identify the Linux distribution. - Networking Utilities: Tools to check internal and external IP addresses.
- Resource Monitoring: Commands to monitor system resources like disk usage and open ports.
Installation and Configuration Helpers
-
Auto-Install: A function
install_bashrc_support()
to automatically install necessary utilities based on the system type. -
Configuration Editors: Functions to edit important configuration files directly, e.g.,
apacheconfig()
for Apache server configurations.
Conclusion
This .bashrc
file is a comprehensive setup that not only enhances the shell experience with useful aliases and functions but also provides system-specific configurations and safety features to cater to different user needs and system types. It is designed to make the terminal more user-friendly, efficient, and powerful for an average user.