Home

Awesome

kyrat

Kyrat - A simple ssh wrapper script that brings your dotfiles always with you on Linux and OSX

Project StatusCommunication
Build statusJoin the gitter chat at https://gitter.im/fsquillace/kyrat

Table of Contents

Description

kyrat is a ssh wrapper that allows to source local dotfiles on a ssh session to a remote host. No installations or root access on the remote host are required. It works either from/to a Linux or OSX machines.

kyrat can transfer to the remote host and source the following dotfiles:

Environment variables

Kyrat features

The following summarizes the Kyrat features:

How it works?

This is the sequence of steps that occur when running Kyrat:

Quickstart

Bash

Write locally in either ~/.config/kyrat/bashrc or any files inside ~/.config/kyrat/bashrc.d/:

alias q=exit

function processof(){
    ps -U $1 -u $1 u
}

export PATH=$PATH:/sbin:/usr/sbin

Now, just access to your remote host:

$> kyrat myuser@myserver.com
myserver.com $> processof feel
    feel     20567  0.3  0.0  14748   952 pts/5    S+   12:44   0:13 ping www.google.com
    feel     23458  0.0  0.0  12872  1372 pts/9    R+   13:49   0:00 ps -U feel -u feel u

myserver.com $> q
exit

Or even inline:

$> kyrat myuser@myserver.com -- processorof feel

Vim

Write locally in either ~/.config/kyrat/vimrc or any files inside ~/.config/kyrat/vimrc.d/:

nnoremap <silent> <Leader>e :Explore<CR>

Now, just access to your remote host via kyrat, run vim and you will have the shortcut \e for running the vim file explorer.

Inputrc

Write locally in either ~/.config/kyrat/inputrc or any files inside ~/.config/kyrat/inputrc.d/:

set completion-ignore-case On

Now, just access to your remote host via kyrat and the terminal will have case insensitive tab completion.

Tmux

Write locally in either ~/.config/kyrat/tmux.conf or any files inside ~/.config/kyrat/tmux.conf.d/:

bind e setw synchronize-panes on \; display "Synchronization ON"
bind E setw synchronize-panes off \; display "Synchronization OFF"

Now, just access to your remote host via kyrat and run the following:

tmux -f "$TMUX_CONF"

This will open a tmux session and you can now toggle synchronization between panes on the same window with the keys e/E.

Installation

Dependencies

Before installing Kyrat be sure that all dependencies are properly installed in your system. The Kyrat dependencies are the following:

Linux

Assuming all Kyrat dependencies are properly installed in the system, to install Kyrat run the following:

    git clone https://github.com/fsquillace/kyrat ~/.local/share/kyrat
    export PATH=$PATH:~/.local/share/kyrat/bin

OSX

In order to install all Kyrat dependencies, you first need to install Homebrew.

To install all the needed dependencies via Homebrew:

brew update
brew install bash coreutils

Once all Kyrat dependencies are properly installed in the system, to install Kyrat run the following:

    git clone https://github.com/fsquillace/kyrat ~/.local/share/kyrat
    export PATH=$PATH:~/.local/share/kyrat/bin

Troubleshooting

This section has been left blank intentionally. It will be filled up as soon as troubles come in!

Contributing

You could help improving Kyrat in the following ways:

Donating

To sustain the project please consider funding by donations through the GitHub Sponsors page.

Authors

Kyrat was originally created in April 2014 by Filippo Squillace (feel.sqoox@gmail.com).

Here is a list of really appreciated contributors!

Last words

Consider your origins:
You were not born to live like brutes
but to follow virtue and knowledge.
[verse, Dante Alighieri, from Divine Comedy]