Giter VIP home page Giter VIP logo

synth-shell's Introduction

synth-shell

synth-shell is a collection of small scripts meant to improve your terminal and overal productivity - small tweaks can go a long way. You can find more details and similar tools on Yet Another Linux'n Electronics Blog.

  • System status report with the most relevan information when you open up a new terminal. It also works over SSH to monitor your server or RaspberryPi!!
  • Fancy bash prompt with colors. Makes separating your input from command-outputs that much easier.
  • More coming soon...



Setup

Automatic setup

The recommended way to install synth-shell is to run the provided setup script. This will guide you step by step through the process and let you choose what to install. It will also allow you to install the script for your user only, or system-wide (super user privileges required). To proceed, open and play this link in a separate tab, and execute the following to feel like Hackerman:

git clone --recursive https://github.com/andresgongora/synth-shell.git
chmod +x synth-shell/setup.sh
synth-shell/setup.sh
rm -fr synth-shell
bash
source ~/.bashrc

If you want to use fancy-bash-promt.sh you also need power-line fonts. Depending on your distro you can install it as follows (the exact name of the package varies from distro to distro):

  • ArchLinux: sudo pacman -S powerline-fonts
  • Debian/Ubuntu: sudo apt install fonts-powerline

Script configuration/customization

You can configure your scripts by modifying the corresponding configurtion files. In addition to said files, you can also find configuration examples in the following folders depending on how you isntalled it:

  • Current user only: ~/.config/synth-shell/
  • System wide: ~/etc/synth-shell/

Manual instalation of individual scripts

If you want to skip the above steps, and are only intereset in a very specific script, you can easily use it by its own. However, some scripts might source other scripts from the bash-tools folder, as they provided shared functioanlities to all scripts. If you are interested in a single script from my collection, check whether it depends on a script from bash-tools, and copy the content of said dependency into the script you want.

Uninstallation

It's hard to say goodbye, but we had good times together, didn't we? :)

git clone --recursive https://github.com/andresgongora/synth-shell.git
chmod +x synth-shell/setup.sh
synth-shell/setup.sh uninstall
rm -fr synth-shell



Overview

Example with status.sh and fancy-bash-prompt.sh

status.sh

Provides a report of your system status at one glance everytime you open a new terminal. If it detects that any parameter (e.g. system load, memory, etc.) is over a critical threshold, it will provide a warning and additional information to identify the culprit. I also plot a configurable logo, so you may impress your crush from the library with your unique ASCII art.

fancy-bash-prompt.sh

Adds colors and triangular separators to you bash prompt. The triangles are placed in an overlaping pattern to avoid accidental cuts if you were to touch them.



Contribute

This project is only possible thanks to the effort of and passion of many, including developers, testers, and of course, our beloved coffe vending machine. You can find a detailed list of everyone involved in the development in AUTHORS.md. Thanks to all of you!

If you like this project and want to contribute, you are most welcome to do so.

Help us improve

  • Report a bug: if you notice that something is not right, tell us. We'll try to fix it ASAP.
  • Become a developer: fork this repo and become an active developer! Take a look at the issuess for suggestions of where to start. Also, take a look at our coding style.
  • Do you have an idea that you would like to see in the next release? Send us and email or open an issue with your suggestion!

Git branches

There are two branches in this repository:

  • master: this is the main branch, and thus contains fully functional scripts. When you want to use the scripts as an user, this is the branch you want to clone or download.
  • develop: this branch contains all the new features and most recent contributions. It is always stable, in the sense that you can use it without major inconveniences. However, its very prone to undetected bugs and it might be subject to major unanounced changes. If you want to contribute, this is the branch you should pull-request to.



About

Why synth-shell? That's a quite easy question. Its started out as a loose bunch of (super simple) scripts that I kept around to aid me during system maintenance. But after a while, a started to get the hang out of bash and wrote more complex stuff. I wanted my code not only to work and be purely useful, but also to provide some eye-candy.

Naturally, it didn't start the way you see it today. Many scripts started out as an ugly attempt to get the behaviour I wanted, but using many snippets from different third parties. This meant that the code was usually quite ugly and full of bugs - not because of the third parties, but because of the way I integrated them. yet over time, I rewrote all scripts from scratch, removed the fluff, and also got lot's of help by super friendly and engaged contributors. The result is what you see today. I admit it, it's nothing fancy, but writing these scripts provided me with lots of joy.

And about the name? That's quite easy. I spent most of my coding frenzy listening to SynthWave.



License

Copyright (c) 2014-2019, Andres Gongora - www.andresgongora.com

  • This software is released under a GPLv3 license. Read license-GPLv3.txt, or if not present, http://www.gnu.org/licenses/.
  • If you need a closed-source version of this software for commercial purposes, please contact the authors.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.