Skip to content

A simple, modular, and clean way to manage your .bashrc file on linux.

License

Notifications You must be signed in to change notification settings

SimoLinuxDesign/Modular-Bashrc-Manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Modular Bashrc Manager

A simple, modular, and clean way to manage your .bashrc file in Linux.


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.

Features

  • 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.

Directory Structure

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.

Installation

Automated Installation

To install the system automatically, follow these steps:

  1. Clone the repository:

    git clone https://github.com/your-repo/modular-bashrc-manager.git
    cd modular-bashrc-manager/installer
  2. 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, and scripts-removed.
  • Append the required configuration to your .bashrc file.
  • Copy the main brc-script.sh script to scripts-needed/.

After the installation completes, restart your shell or reload the .bashrc file by running:

source ~/.bashrc

Manual Installation

If you prefer a manual installation process, follow these steps:

  1. 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
  2. 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
  3. Create the necessary directories:

    mkdir -p ~/.bashrc.d/scripts-needed ~/.bashrc.d/scripts-enabled ~/.bashrc.d/scripts-available ~/.bashrc.d/scripts-removed
  4. Restart your shell or source .bashrc:

    source ~/.bashrc

Usage

The brc-script.sh script provides a series of commands to manage your .bashrc scripts:

  • -c : Create a new script in the scripts-available/ folder.
  • -m : Modify an existing script.
  • -l : List all available and enabled scripts.
  • -e : Enable a script from the scripts-available/ folder.
  • -d : Disable an enabled script.
  • -r : Remove a script, backing it up in scripts-removed/.

Example Commands

  • 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

Why Use This System?

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.

Benefits

  • 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.

Contributing

Contributions are welcome! If you find any bugs or have suggestions for improvements, feel free to open an issue or submit a pull request.

License

This project is licensed under the GNU General Public License v3.0.

About

A simple, modular, and clean way to manage your .bashrc file on linux.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages