A collection of reusable Bash automation scripts for Linux.
This repository contains Bash scripts that automate common administration, development, and infrastructure tasks. Scripts are organized by technology and follow a consistent command-line interface, logging, and error-handling standard.
This repository is intended to:
- Build reusable Bash automation tools.
- Maintain a consistent command-line interface across all scripts.
- Keep scripts simple, modular, and well documented.
- Organize scripts by technology and purpose.
.
├── AI/
├── Azure/
├── Common/
├── Git/
├── Google/
├── Linux/
├── Terraform/
├── README.md
├── LICENSE
└── .gitignore
| Script | Description |
|---|---|
start_ai.sh |
Activates the Intel AI Python virtual environment and launches the local AI chat application using a specified model. |
| Script | Description |
|---|---|
mount_google_drive.sh |
Mounts a Google Drive remote using rclone after a short delay to allow the network to initialize. |
| Script | Description |
|---|---|
logitech-unifying-wake.sh |
Resets a Logitech Unifying receiver by cycling USB device authorization after system resume. |
ms-02_setup.sh |
Performs hardware verification, optimization, and benchmarking for the Minisforum MS-02 running Fedora 44. |
setup_media.sh |
Configures multimedia support on Fedora 44, including RPM Fusion repositories, Intel media drivers, and required utilities. |
wake_monitor.sh |
Cycles monitor power using kscreen-doctor to recover displays that fail to wake properly. |
| Script | Description |
|---|---|
terraform_module_setup.sh |
Creates a standard Terraform root module, generates the project structure, and optionally initializes the Terraform working directory. |
Scripts in this repository follow these principles:
- Single responsibility.
- Consistent command-line interface.
- Named command-line arguments.
- Clear help and usage information.
- Consistent logging and error handling.
- Fail fast using
set -euo pipefail. - Modular and maintainable implementation.
- Self-documenting function names.
Create a Terraform root module:
terraform_module_setup \
--module-path platform/shared-services \
--init \
--verboseDisplay help:
terraform_module_setup --helpContributions, suggestions, and bug reports are welcome through GitHub issues and pull requests.
This project is licensed under the MIT License.