This project provides a modular system for managing Bash scripts within the .bashrc environment. It allows users to easily enable, disable, create, and manage custom scripts through a well-structured directory layout, making the .bashrc configuration cleaner and easier to maintain.
- Modular Setup: Keep your .bashrc organized by loading only necessary scripts at runtime.
- Script Management: Easily create, enable, disable, and manage scripts through a simple command interface.
- Automatic Directory Structure: The installer automatically creates directories for managing available, enabled, removed, and required scripts.
- Customizable Script Templates: When creating a new script, a template with placeholders for options, variables, functions, and execution logic is provided.
- Easy Integration: Automatically integrate with your existing .bashrc setup.
After installation, the system uses the following directory layout to manage scripts:
~/.bashrc.d/
: Main directory for managing Bash scripts.installer/
: Contains the installer and base script.brc-script-install.sh
scripts-available/
: Scripts available to be enabled.scripts-enabled/
: Symbolic links to enabled scripts.scripts-needed/
: Essential scripts required for the system to work.brc-script.sh
scripts-removed/
: Backup of removed scripts, timestamped.
To install the system automatically, follow these steps:
-
Clone the repository:
git clone https://github.com/your-repo/modular-bashrc-manager.git cd modular-bashrc-manager/installer
-
Make the installer executable and run it:
chmod +x brc-script-install.sh ./brc-script-install.sh
The installer will:
- Create the necessary directory structure:
scripts-needed
,scripts-enabled
,scripts-available
, andscripts-removed
. - Append the required configuration to your .bashrc file.
- Copy the main
brc-script.sh
script toscripts-needed/
.
After the installation completes, restart your shell or reload the .bashrc file by running:
source ~/.bashrc
If you prefer a manual installation process, follow these steps:
-
Copy the
brc-script.sh
file to the~/.bashrc.d/scripts-needed/
folder:cp brc-script.sh ~/.bashrc.d/scripts-needed/ chmod 750 ~/.bashrc.d/scripts-needed/brc-script.sh
-
Append the following lines to your
.bashrc
file:# Modular Bashrc if [ -d ~/.bashrc.d ]; then for needed in ~/.bashrc.d/scripts-needed/*.sh; do [ -r "$needed" ] && source "$needed" done unset needed for file in ~/.bashrc.d/scripts-enabled/*.sh; do [ -r "$file" ] && source "$file" done unset file fi
-
Create the necessary directories:
mkdir -p ~/.bashrc.d/scripts-needed ~/.bashrc.d/scripts-enabled ~/.bashrc.d/scripts-available ~/.bashrc.d/scripts-removed
-
Restart your shell or source
.bashrc
:source ~/.bashrc
The brc-script.sh
script provides a series of commands to manage your .bashrc scripts:
-c
: Create a new script in thescripts-available/
folder.-m
: Modify an existing script.-l
: List all available and enabled scripts.-e
: Enable a script from thescripts-available/
folder.-d
: Disable an enabled script.-r
: Remove a script, backing it up inscripts-removed/
.
-
Create a new script:
brc-script -c
-
List all available scripts:
brc-script -l
-
Enable a script:
brc-script -e
-
Disable a script:
brc-script -d
-
Remove a script:
brc-script -r
Managing a large .bashrc file can become unmanageable, especially when adding multiple custom commands or functions. This system offers a structured approach to handle modular scripts, making it easier to enable or disable specific configurations without manually editing the .bashrc file each time.
- Organization: Keep your .bashrc clean and easy to maintain by separating scripts.
- Simplicity: Use simple commands to manage scripts without editing .bashrc directly.
- Safety: Removed scripts are safely backed up in the
scripts-removed/
directory.
Contributions are welcome! If you find any bugs or have suggestions for improvements, feel free to open an issue or submit a pull request.
This project is licensed under the GNU General Public License v3.0.