From 0e04fa415223247431ba55e3ad92e89336fc122f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20M=2E=20Taveras?= Date: Thu, 18 Apr 2024 20:21:42 -0400 Subject: [PATCH 1/3] plugins: Add plugins/README.md Co-authored-by: Koichi Murase --- plugins/README.md | 51 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 plugins/README.md diff --git a/plugins/README.md b/plugins/README.md new file mode 100644 index 000000000..b4088eb08 --- /dev/null +++ b/plugins/README.md @@ -0,0 +1,51 @@ +# Oh My Bash: Enhancing Your Development Experience + +"Oh My Bash won't make you a tenfold developer... but it might make you feel like one." + +_Embracing a suite of plugins can significantly boost your coding efficiency by automating repetitive tasks, thereby making them less monotonous and easier to execute._ + +**What is a Plugin?** +A plugin is a type of software that augments the functionality of an existing program or system. These additions can range from simple to complex features and are intended to extend or customize the core functionality without modifying the codebase. + +**Plugin Enablement:** +Once you identify the plugins you wish to utilize with Oh My Bash, you'll need to enable them in the `.bashrc` file located in your `$HOME` directory. Open this file with your preferred text editor and specify the plugins you want to load. For instance: + +```bash +plugins=(git bundler osx rake ruby) +``` + +**Conditional Enablement:** +You may wish to control when or how plugins are activated. For instance, to ensure the `tmux-autoattach` plugin runs only in SSH sessions, you can employ a conditional statement checking for the `$SSH_TTY` variable. Make sure to remove the plugin from the main plugin list and use a conditional like this: + +```bash +[[ $SSH_TTY ]] && plugins+=(tmux-autoattach) +``` + +By leveraging these plugins, you can streamline your workflow and tackle coding challenges with greater efficiency. + +| Plugin | Description | +| --------------- | ------------------------------------------------------------------------------------------------------------------- | +| ansible | Configuration management tool used to automate the provisioning, configuration, and management of computer systems. | +| aws | Tools for interacting with Amazon Web Services (AWS) | +| bash-preexec | Tool allowing execution of commands before they are executed in Bash. | +| bashmarks | Utility facilitating directory navigation via bookmarks in Bash. | +| battery | Plugin related to monitoring and managing battery on computer systems. | +| brew | Package manager for macOS and Linux facilitating software installation and management. | +| bu | Insufficient information provided to give a precise description. | +| chezmoi | Dotfile management tool enabling management of user environment configuration. | +| fasd | Utility easing filesystem navigation through shortcuts and abbreviated commands. | +| gcloud | Command-line tools for interacting with Google Cloud Platform (GCP). | +| git | Distributed version control system for managing the history of changes in software projects. | +| goenv | Tool for managing Go versions within a development environment. | +| golang | The Go programming language, along with its tools and standard libraries. | +| kubectl | Command-line tool for interacting with Kubernetes clusters. | +| npm | Package manager for Node.js facilitating installation and management of project dependencies. | +| nvm | Node.js version manager allowing easy switching between different Node.js versions. | +| progress | Insufficient information provided to give a precise description. | +| pyenv | Tool for managing multiple Python versions within a system. | +| sdkman | Version and package manager for development tools such as Java, Kotlin, and Gradle. | +| sudo | Utility for executing commands with superuser privileges on Unix and Unix-like systems. | +| tmux-autoattach | Plugin related to session management in the tmux terminal multiplexer. | +| vagrant | Tool for creating and managing virtual development environments. | +| xterm | Terminal emulator for X Window systems providing a graphical user interface for accessing the command line. | +| zoxide | Utility for quickly navigating the filesystem based on visited directory history. | From c25b10b9be714d9660b54bf8edac0185875dc8cf Mon Sep 17 00:00:00 2001 From: Koichi Murase Date: Sun, 28 Apr 2024 04:52:04 +0900 Subject: [PATCH 2/3] CONTRIBUTING: Add instructions on adding a plugin --- CONTRIBUTING.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index aadff408c..14119f3dd 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -105,6 +105,8 @@ to keep the repository size small. The filename should be light background of the terminal used to make the image. After your new themes are merged, the list in [Themes](https://github.com/ohmybash/oh-my-bash/wiki/Themes) in the Wiki also needs to be updated. +When you add a new plugin, please also update [plugins/README.md](https://github.com/ohmybash/oh-my-bash/blob/master/plugins/README.md) + ---- ## Use the Search, Luke From 2a0b8a1d31867800e026eab5c80c6725382a73d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20M=2E=20Taveras?= Date: Sat, 27 Apr 2024 23:12:37 -0400 Subject: [PATCH 3/3] Update plugins/README.md Co-authored-by: Koichi Murase --- plugins/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/README.md b/plugins/README.md index b4088eb08..46eb02ac7 100644 --- a/plugins/README.md +++ b/plugins/README.md @@ -1,4 +1,4 @@ -# Oh My Bash: Enhancing Your Development Experience +# Oh-My-Bash Plugins: Enhancing Your Development Experience "Oh My Bash won't make you a tenfold developer... but it might make you feel like one."