Skip to content

xxh/xxh-shell-xonsh

Repository files navigation

The xonsh shell entrypoint for xxh. Use xonsh wherever you go through the SSH without installation on the host.

If you like the idea click ⭐ on the repo and tweet.

Install

Install from xxh repo:

xxh +I xxh-shell-xonsh
# or from repo: xxh +I xxh-shell-xonsh+git+https://github.com/xxh/xxh-shell-xonsh

Connect

xxh yourhost +s xonsh +if

To avoid adding +s every time use xxh config in ~/.config/xxh/config.xxhc ($XDG_CONFIG_HOME):

hosts:
  ".*":                     # Regex for all hosts
    +s: xonsh

Using python, pip and xontribs

The xonsh.AppImage has python and pip by default. You can update pip and install packages and xontribs ordinarily:

myhost> pip install -U pip
myhost> pip install pandas
myhost> xpip install xontrib-prompt-bar

Packages location comply with hermetic principle:

xxh command pip packages home user home
xxh myhost /home/user/.xxh/.local /home/user/.xxh
xxh myhost +hhh '~' /home/user/.xxh/.local /home/user
xxh myhost +hhh '~' +hhx '~' /home/user/.local /home/user

Note! That packages will be installed in user directory by default i.e. ~/.local. If you're using package manager (e.g. mamba, conda) set $PYTHONNOUSERSITE=1 (doc) after virtual environment activation.

Plugins

xonsh xxh plugin is the set of xsh scripts which will be run when you'll use xxh. You can create xxh plugin with your lovely aliases, tools or color theme and xxh will bring them to your ssh sessions.

Pinned xxh xonsh plugins: autojump.

🔎 Search xxh plugins on Github or Bitbucket or 💡 Create xxh plugin

Seamless mode

Add environment variables to env file and bring them to the host using source command:

source xxh.xsh myhost

Alpine Linux

Thanks