All Projects → pkosiec → terminer

pkosiec / terminer

Licence: MIT license
Upgrade your terminal experience with a single command.

Programming Languages

go
31211 projects - #10 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to terminer

Pure
Pretty, minimal and fast ZSH prompt
Stars: ✭ 10,891 (+38796.43%)
Mutual labels:  prompt, shell-prompt
fishline
A powerline prompt framework for the fish-shell built in fish-shell.
Stars: ✭ 66 (+135.71%)
Mutual labels:  fish, prompt
guri
A simple and fast Oh-My-Zsh theme
Stars: ✭ 19 (-32.14%)
Mutual labels:  prompt, shell-prompt
fish-kube-prompt
⎈ kubectl context/namespace in your fish shell prompt
Stars: ✭ 71 (+153.57%)
Mutual labels:  fish, prompt
Silver
A cross-shell customizable powerline-like prompt with icons
Stars: ✭ 238 (+750%)
Mutual labels:  fish, prompt
Powerline
Powerline is a statusline plugin for vim, and provides statuslines and prompts for several other applications, including zsh, bash, tmux, IPython, Awesome and Qtile.
Stars: ✭ 12,989 (+46289.29%)
Mutual labels:  fish, prompt
Spaceship Prompt
🚀⭐ A Zsh prompt for Astronauts
Stars: ✭ 15,748 (+56142.86%)
Mutual labels:  prompt, shell-prompt
oh-my-fish
The Fish Shell Framework
Stars: ✭ 8,403 (+29910.71%)
Mutual labels:  fish, prompt
Tide
🌊 The ultimate Fish prompt.
Stars: ✭ 420 (+1400%)
Mutual labels:  fish, prompt
Dotfiles
Configurations for the tools I use every day
Stars: ✭ 898 (+3107.14%)
Mutual labels:  fish, prompt
Starship
☄🌌️ The minimal, blazing-fast, and infinitely customizable prompt for any shell!
Stars: ✭ 20,504 (+73128.57%)
Mutual labels:  fish, shell-prompt
rainbow-bash-prompt
Make your bash prompt dynamically and randomly rainbow
Stars: ✭ 49 (+75%)
Mutual labels:  prompt
Pisces
♓️ Fish shell plugin that helps you to work with paired symbols in the command line
Stars: ✭ 210 (+650%)
Mutual labels:  fish
Awsm.fish
A curation of prompts, plugins & other resources for Fish. 🐚
Stars: ✭ 2,641 (+9332.14%)
Mutual labels:  fish
Zoxide
A smarter cd command. Supports all major shells.
Stars: ✭ 4,422 (+15692.86%)
Mutual labels:  fish
react-st-modal
Simple and flexible modal dialog component for React JS
Stars: ✭ 41 (+46.43%)
Mutual labels:  prompt
dotfiles
My NixOS configuration featuring awesome and neovim
Stars: ✭ 40 (+42.86%)
Mutual labels:  fish
Shellder
🐚 Featured zsh/fish shell theme
Stars: ✭ 192 (+585.71%)
Mutual labels:  fish
Gitmux
💻 Git in your tmux status bar
Stars: ✭ 180 (+542.86%)
Mutual labels:  fish
Dotfiles
My [NeoVim + Tmux + Fish Shell] Setup /w install scripts
Stars: ✭ 180 (+542.86%)
Mutual labels:  fish

Terminer

Terminer

Build Status Go Report Card codecov GitHub release

Upgrade your terminal experience with a single command.

⚠️ WARNING: This project is in a very early stage. Use it at your own risk.

Terminer is an cross-platform installer for terminal presets. Install Fish or ZSH shell packed with useful plugins and sleek prompts. Use one of starter recipes or make yours.

Screenshot

Table of contents

Motivation

Command line interface (CLI) is a great way to access various operating system functions. It allows you to automate time-consuming tasks with a single command. Also, not all features are available with graphical user interface (GUI).

The command line interface is available through a program called terminal emulator, which launches shell. Shell is a program which processes user input and returns output.

Usually, default shell setup is bare-bone. Luckily, there is a way to upgrade it: install different shell along with useful plugins. They can introduce features such as autocompletion or syntax highlighting. You can also install prompts, which can display useful pieces of information, like current git branch. All these additions heavily improve user experience and save your time.

There is one downside of the shell experience customization. It's a time-consuming task. Installing different shell is easy, but to configure it well, you can easily spend hours for searching useful plugins, prompts, themes and fonts.

Not anymore. Use Terminer. Bootstrap your complete shell configuration in a moment.

Installation

To install this tool into /usr/local/bin directory, run the following command:

curl -sfL https://raw.githubusercontent.com/pkosiec/terminer/master/install.sh | sh -s -- -b /usr/local/bin

Note: Make sure that the directory in your $PATH. If not, run:

export PATH=$PATH:/usr/local/bin

Include the line above in you ~/.bashrc file or other configuration file for your current shell.

Usage

Terminer operates on recipes, which consist of shell commands. The most essential commands are install and rollback.

Quick start

To install a recipe from official repository, run:

terminer install [recipe name]

To rollback a recipe from official repository, run:

terminer rollback [recipe name]

Available recipes

To see all maintained recipes, navigate to the recipes directory.

What is a Recipe

Recipe is a YAML or JSON file with shell commands put in a proper order. Recipe consists of stages, which contain steps. Every step is a different shell command.

This is an example recipe, which just prints messages for all steps in all stages - not only during install, but also for rollback operation:

os: darwin
metadata:
  name: Recipe
  description: Recipe Description

stages:
  - metadata:
      name: Stage 1
      description: Stage 1 description
      url: https://stage1.example.com
    steps:
      - metadata:
          name: Step 1
          url: https://step1.stage1.example.com
        execute:
          run:
            - echo "Step 1 of Stage 1"
        rollback:
          run:
            - echo "Rollback of Step 1 of Stage 1"
      - metadata:
          name: Step 2
          url: https://step2.stage1.example.com
        execute:
          run:
            - echo "Step 2 of Stage 1"
        rollback:
          run:
            - echo "Rollback of Step 2 of Stage 1"
  - metadata:
      name: Stage 2
      description: Stage 2 description
      url: https://stage2.example.com
    steps:
      - metadata:
          name: Step 1
          url: https://step1.stage2.example.com
        execute:
          run:
            - echo "Step 1 of Stage 1"
          shell: sh
        rollback:
          run:
            - echo "Rollback of Step 1 of Stage 2"

Available commands

The following section describes all available commands in Terminer CLI.

install

Install command installs a recipe from the official recipe repository. You can use additional flags to install a recipe from a local or remote file.

Usage

terminer install [recipe name]

Flags

-f, --filepath string   Recipe file path
-h, --help              help for install
-u, --url string        Recipe URL

Examples

terminer install zsh-starter
terminer install -f ./recipe.yaml
terminer install --file /Users/sample-user/recipe.yml
terminer install -u https://example.com/recipe.yaml
terminer install --url http://foo.bar/recipe.yml

rollback

Rollback command uninstalls a recipe from the official recipe repository. You can use additional flags to rollback a recipe from a local or remote file.

Usage

terminer rollback [recipe name]

Flags

-f, --filepath string   Recipe file path
-h, --help              help for install
-u, --url string        Recipe URL

Examples

terminer rollback zsh-starter
terminer rollback -f ./recipe.yaml
terminer rollback --file /Users/sample-user/recipe.yml
terminer rollback -u https://example.com/recipe.yaml
terminer rollback --url http://foo.bar/recipe.yml

version

Prints the application version

Usage

terminer version
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].