This ansible role installs and configures a lot of useful command line tools. The configurations are highly customized und mainly fit to my purposes. Feel free to adapt it to your needs.
The following software packages are installed and configured:
zsh
: The shell for unix-like systemsoh-my-zsh
: Collection of useful tools and configurations aroundzsh
tmux
: My favourite terminal multiplexergit
: Configures git and sets some life-changing aliasesfzf
: A Fuzzy command line searchjrnl
: Command line journaling toolvirtualenvwrapper
: Python library to wrap environments
This role takes care that ssh-agent
is registered with your private
key in all panes and windows of your tmux session.
tmux
is configured to work together with my VIM setup (see
here)
The z
-shell is installed and selected to be the default shell. Then,
oh-my-zsh
, a collection
of useful zsh
tools and sane configurations, is cloned and sourced.
Here, the vim
bindings are enabled.
The fuzzy command line finder
is installed and some aliases are set. It can be used to search the
shell history, git branches and commits, files, and many more.
Unfortuantely, pre-build binaries for fzf
are not available for many
platforms. Hence, it cloned and installed from
https://github.com/junegunn/fzf.git
.
The python packages virtualenv
and virtualenvwrapper
are installed
(via pip
) and ensured to be loaded uppon a start of the z
-shell.
The interactive python shell ipython
is installed and some startup
scripts are placed.
Along the provisioning, the following packages are installed using the
package manager of your system (make sure that these are availabe):
go
(golang
under debian based systems), zsh
, tmux
.
Moreover, pythons package manager pip
is assumed to be available.
CTRL-R
: Search command history withfzf
ESC-v
: Edit current command withvim
Under iterm2
, use the option
-key to copy content from a tmux
session to the clipboard.
gitcm
: Short forgit commit -m
gitv
: Shows commit tree ofgit
fgit
: Fuzzy search of branches ingit
repositoryfgita
: Fuzzy search of changed files ingit
repositoryfjrln
: Fuzzy search ofjrnl
entry headlinesfkill
: Fuzzy search of processes. Selected process gets killed.
p
: Short forpython
wo
: Short for VirtualEnv commandworkon
register_env_kernel NAME
: Registers kernel of virtual environment in jupyterremove_env_kernel NAME
: Removes kernel of virtual environment in jupyter