Skip to content

24f3004979/Bash-tools

Repository files navigation

Bash Tools — Minimal utilities for everyday productivity

Lightweight, easy-to-read Bash scripts to simplify common workflows: wallpaper management, project initialization, terminal theme handling, and simple config management. These tools are intentionally small, transparent, and designed so you can read, modify, and integrate them into dotfiles or small projects.

Table of contents

  • What this repo provides
  • Requirements
  • Installation
  • Quick start — examples
    • Wallpaper setter
    • Python project initializer
    • Alacritty theme loader
    • Config management helper
  • Design goals & philosophy
  • Contributing
  • License

What this repo provides

  • Wallpaper setter

    • Interactive preview of images using feh
    • Keys: s to set wallpaper, n to skip, Enter to exit
    • Uses feh --bg-scale for consistent placement
    • Works on any directory containing images
  • Python project initializer

    • Creates a project directory and virtual environment
    • Sets up minimal files: README.md, requirements.txt, dev-documentation.txt
    • Optional full-stack layout (templates/static), SQLite initialization
    • Optional git initialization
  • Alacritty theme loader

    • Manage multiple TOML theme presets
    • Copies selected theme into a temporary config and appends your minimum_config.toml
    • Backs up existing alacritty.yml/alacritty.toml and activates the new theme
    • Provides a preview of the final applied config
  • Config management script

    • Automates cloning and managing your config repositories (dotfiles, themes, etc.)
    • Intended to simplify keeping multiple config repos in sync on a machine

Requirements

  • Bash (4.x or later recommended)
  • feh (for wallpaper preview and setting)
  • python3 and venv module (for the Python project initializer)
  • git (optional, for initialization and config management)
  • Alacritty (for theme loader — the script edits or replaces your Alacritty config)

Installation

  1. Clone the repository: git clone https://github.com/madhavprapanna52/Bash-tools.git cd Bash-tools

  2. Make the scripts executable (if not already): chmod +x *.sh

  3. Install any external tools you need, e.g. on Debian/Ubuntu: sudo apt update sudo apt install feh git python3-venv

Quick start — examples Below are example usages. Replace filenames with the actual script names in this repo if they differ.

Wallpaper setter

  • Preview and set wallpapers from a directory: ./wallpaper.sh /path/to/images
  • Controls while previewing:
    • s — set the currently-previewed image as wallpaper
    • n — skip to next image
    • Enter/Return — exit preview loop

Python project initializer

  • Create a minimal Python project: ./init-python-project.sh MyProject
  • Options the script may offer interactively:
    • Create virtualenv (venv)
    • Create requirements.txt
    • Initialize SQLite database
    • Initialize git repo and make first commit

Alacritty theme loader

  • Apply a theme: ./alacritty-theme.sh theme-name
  • What it does:
    • Copies the selected theme into a temporary file
    • Appends your minimum_config.toml
    • Backs up your existing alacritty.toml (timestamped)
    • Writes the active config to your Alacritty config location and shows a preview

Config management helper

  • Run the config manager to clone/update configured repositories: ./manage-configs.sh
  • Use this to bootstrap dotfiles and keep multiple config repositories in a centralized place

Design goals & philosophy

  • Minimalism: each script does one thing and does it simply.
  • Readability: bash code written so new contributors can follow and modify it.
  • Portability: avoid heavy dependencies; depend on common CLI tools.
  • Practicality: ready-to-use scripts that you can drop into dotfiles or automation.

Planned improvements

  • Add flag-based CLI usage (e.g., --set, --preview, --backup)
  • Support additional terminals and window managers
  • Add more robust error handling and unit tests
  • Bundle into a single installer script for easy machine bootstrap
  • Publish utilities to dotfile collections and WM communities (i3, Hyprland, etc.)

Contributing

  • Issues and PRs are welcome. Please open an issue describing the change you want to make or submit a PR.
  • Keep changes small and focused.
  • If adding new scripts, include usage examples and list required external tools at the top of the script.
  • If you want help converting a script to a more portable or robust variant, open an issue and tag it help wanted.

License

  • MIT — see LICENSE file for details.

Contact / author

  • Maintainer: madhavprapanna52
  • Happy to review contributions and discuss improvements.

If any script name or path in this README doesn't match what you have in the repo, tell me the exact filenames and I will update this README to match the repository layout.

About

Basic Automation scripts

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages