All Projects โ†’ micharbet โ†’ CLE

micharbet / CLE

Licence: GPL-2.0 license
Command Live Environment

Programming Languages

shell
77523 projects
Makefile
30231 projects

Projects that are alternatives of or similar to CLE

dotfiles
๐Ÿ“‘ .dotfiles for Bash (Linux) / ZSH (Linux) / Git Bash (Windows) / Cygwin (Windows) / Bash on Ubuntu on Windows
Stars: โœญ 175 (+733.33%)
Mutual labels:  bashrc, zshrc
q
q - vim like macro registers for your bash and zsh shell!
Stars: โœญ 54 (+157.14%)
Mutual labels:  bashrc, zshrc
Django Admin Interface
django's default admin interface made customizable. popup windows replaced by modals. :mage: โšก๏ธ
Stars: โœญ 717 (+3314.29%)
Mutual labels:  colors, customizable
anyrc
๐Ÿš Bring your shell environment to anywhere
Stars: โœญ 28 (+33.33%)
Mutual labels:  bashrc, zshrc
listbox
๐Ÿ’ฌ listbox element for bash
Stars: โœญ 44 (+109.52%)
Mutual labels:  bashrc, zshrc
dotfiles
Dotfiles & Developer Environment. Supports Ubuntu2004+, macOS Catalina+, Windows 10 w WSL
Stars: โœญ 30 (+42.86%)
Mutual labels:  bashrc, zshrc
rc.d
๐Ÿ›  My rc files and other configs. Includes: Bash, Zsh, Vim, Tmux, Git, Terminal (macOS), VS Code
Stars: โœญ 32 (+52.38%)
Mutual labels:  bashrc, zshrc
dotfiles
/home/yous
Stars: โœญ 43 (+104.76%)
Mutual labels:  bashrc, zshrc
dotfiles
A total nord dotfiles used by me. Forever work in progress.
Stars: โœญ 35 (+66.67%)
Mutual labels:  bashrc, zshrc
Dot-It-Up
A collection of dotfile scripts, plugins, and clever hacks so that you can become the master of your own OS! ๐Ÿš€
Stars: โœญ 254 (+1109.52%)
Mutual labels:  bashrc, zshrc
range-slider
Customizable slider (range) component for JavaScript with no dependencies
Stars: โœญ 26 (+23.81%)
Mutual labels:  customizable
termux-shell
Beautify your Termux App with this Shell ๐Ÿ˜
Stars: โœญ 149 (+609.52%)
Mutual labels:  customizable
console-logging
Better, prettier commandline logging for Python--with colors! ๐Ÿ‘ป
Stars: โœญ 111 (+428.57%)
Mutual labels:  colors
zshorg
org-mode literate programming zsh config
Stars: โœญ 17 (-19.05%)
Mutual labels:  zshrc
swiss-army
Ansible-driven configuration management for maintaining a preferred environment (base system and app dotfiles / configurations)
Stars: โœญ 44 (+109.52%)
Mutual labels:  bashrc
glitchify
Tweaks for the official twitch.tv android app
Stars: โœญ 33 (+57.14%)
Mutual labels:  tweaks
concolor
Colouring template strings using tags with annotations ๐ŸŽจ
Stars: โœญ 35 (+66.67%)
Mutual labels:  colors
pantone-colors
Hex values of all 2310 Pantone colors
Stars: โœญ 147 (+600%)
Mutual labels:  colors
anypalette.js
๐ŸŽจ Read/write all color palette file formats โค๐Ÿงก๐Ÿ’›๐Ÿ’š๐Ÿ’™๐Ÿ’œ
Stars: โœญ 41 (+95.24%)
Mutual labels:  colors
dotfiles
Dotfiles of Coelacanthus
Stars: โœญ 17 (-19.05%)
Mutual labels:  zshrc

Command Live Environment

Enhanced shell experience

CLE is a resource that can be loaded upon interactive shell startup. It makes regular work with command line easier by adding fancy features named below:

  • a colorized and customizable prompt string including server time and exit code with highlighting
  • it allows you to save/edit and reuse aliases in an easy way
  • rich history with timestamps, return codes and additional information
  • seamless transfer of the environment and settings to remote sessions
  • configuration right from the commandline with immediate effect, no restarts
  • quick acess to documentation
  • open framework for customization with tweaks and modules
  • install once on your workstation, use everywhere you log in

CLE is compatible with bash and zsh, one resource file for both shells.

1. CLE setup and basic usage

All the mentioned functionality is encoded into single file and no other executables are needed. Download and run this file by sourcing into the current shell context using a trailing dot:

`wget http://git.io/clerc`
`. clerc`
  • Note: you can alternatively download with curl from real source:

    curl -O https://raw.githubusercontent.com/micharbet/CLE/master/clerc

    This is necessary on OSX as there's no wget in default installation. The http://git.io/clerc is only redirecting shortcut.

Now The CLE is activated and you can configure this environment to be persistent with the command:

`cle deploy`

CLE copies itself to $HOME/.cle-YOURLOGIN/rc and adds two lines into .bashrc ev. .zshrc if you run Z-shell. Then it will be started upon each login. Note, this is the one and only installation step you need to perform. Typically you'll only install this on your workstation's account. Do not deploy CLE as root! It would work, and no harm is expected, however it's not recommended. In case you insist on using the root account as your working account, please read the document 'TipsAndTweaks.md' and find the corresponding section.

lssh utility (ssh wrapper)

The CLE is able to pass itself over ssh to a remote system. Use the wrapper called lssh instead of the regular 'ssh' command for a login into a remote account and CLE will be copied over then started seamlessly:

lsu, lsudo, lksu utilities (su/sudo/ksu wrappers)

Those wrappers serve the same purpose as the original su, sudo and ksu utilities, however they add CLE to the sessions.

lscreen - GNU screen wrapper

This wrapper is a workaround to the original GNU screen to allow using CLE inside a screen session. By default lscreen searches for yours opened and/or detached session and jumps into it if found. Otherwise it creates a new screen. Another added value is a configuration file with a nice status line and shortcuts such as Ctrl-Left/Right to switch between windows.

Other utilities

  • aa improved alias management
  • h add colors to regular history output
  • hh rich history, find more information and search by various criteria
  • cle command and control center of the environment.

Find more helpful information directly from command line:

  • cle help to show all commands defined byt he environment
  • cle doc to download and display documentation files

2. Compatibility

CLE has been tested on various systems containing bash version 3.x 4.x and zsh. It works with different flavors of basic utilities (GNU vs. BSD). Strict attention was paid to highly multiplattform compatibility.

Tested systems include the following:

  • Linux Mint
  • Fedora 23+
  • Arch Linux
  • RHEL 5 (bash v3!)
  • RHEL 6
  • RHEL 7
  • CentOS
  • NetBSD
  • FreeBSD
  • OS X (bash v3!)
  • Android (some terminal software requires different tweaks, WIP)

It also works well with at least the following terminal emulators:

  • Terminator, Gnome Terminal, other VTE based teriminals
  • Xfce Terminal
  • xterm
  • rxvt
  • screen
  • Linux console (limited color palette)

3. Requirements

Generally a basic OS installation should be sufficient. Some systems, however, might require you to add missing utilities. Truly necessary utilities are:

  • bash or zsh
  • sed
  • awk
  • base64
  • curl
  • ssh (note, no scp required, e.g no openssh-clients on RHEL)
  • GNU screen (only if you want to use 'lscreen' wrapper)

4. Why 'CLE' and bit of history

My shell environment has been developed over the years of work with command line, where I always tried to have an easily distinguished prompt. It was possible in diferent ways. Basically, I have been editing the shell resource files .bashrc, .kshrc and manually transferring them to each new server and account. Those files may still exist on some old boxes and in scattered backup files. You all probably have something similar.

CLE itself begun as customized .bash resource file itself and a set of utilities. This version worked without 'lssh', instead required installation prior first use on remote account or update if anything changed. The setup was simplified with the 'cle' script but the installation was still a necessary step. Also, .bashrc changes might be unwelcome to other administrators. However this was first, primitive 'life' in command line.

Evolution continues. I removed the setup necessity in an ingenious way - by passing the resource file compressed and base64 encoded through a shell variable to the remote system. To be honest, I was inspired by the 'sshrc' project. Result: no setup, no tweaks on the remote site no harm to the current environment and consistent environment over all sessions!

The only thing you need is a working CLE on your workstation from where you can manage the world :-) Everywhere you go you can now use the same customizable environment! Use lssh instead of ssh or lsu instead of su - root or lsudo' in place of sudo bash`. Those are live wrappers that initiate CLE sessions. In biology terms, the environment can spread own DNA giving the word 'live' it's true meaning. Or at least closer. [1]

CLE versions have no numbers but rather names. As of 2016 following releases were issued:

  • Spring, Easter, MayDay - 2016, very old versions
  • HAlpha - 2017, code cleanup and high optimization
  • RedH - 2017, adding new features
  • Nova - 2018, big improvements, new features again, like rich history
  • Zodiac - 2019, current release, basically the same functions as Nova but almost complete rewrite to ensure compatibility with Z-shell plus improved environment transfer incl. prompt settings, aliases and variables.

Also while CLE is big tweak itself, it tries to respect users and their own settings. Initial versions used to be pushy, defining a lot of aliases, of course those I liked. Wrong! I learned people use their own so I removed them. Shell history as well. There's rich history and tweaks to the regular one have been minimalized. The motto is: "Less tweaks, more options!"

[1] CLE is not a virus :-) It doesn't run itself on any host. Everything is under the users' (your) control and responsibilty

5. LICENSE

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

Find complete text in the file LICENSE.md or at the following URL: https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html

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].