Tech News
← Back to articles

Show HN: Shittp – Volatile Dotfiles over SSH

read original related products more articles

shittp

Bring your dotfiles to a remote machine via SSH without mess.

Installation

Required dependencies: POSIX shell, ssh, tar, base64, mktemp

curl -fsSL https://raw.githubusercontent.com/FOBshippingpoint/shittp/refs/heads/main/install.sh --output install.sh chmod +x install.sh ./install.sh

Usage

Edit your dotfiles in ~/.config/shittp cd ~ /.config/shittp echo ' aloha() { echo hello; } ' >> .profile $EDITOR .vimrc $EDITOR .tmux.conf Login to remote host with SSH: shittp [email protected] john$ aloha # output: hello john$ vim # alias equal to "vim -u $SHITTP_HOME/.vimrc" john$ tmux # alias equal to "tmux -L shittp -f $SHITTP_HOME/.tmux.conf" Or Docker container: docker run -it alpine /bin/sh -c " $( shittp print ) " $ aloha # output: hello

How It Works

Pack: create a tarball of your dotfiles and pipes to base64 string. Transport: passing the base64 string and setup script as a SSH remote command. Unpack: on the remote, decodes base64 string and extracts to temp directory. Init: sources setup script and start an interactive shell. Cleanup: remove temp directory once disconnect.

The original idea comes from kyrat, which uses gzip / gunzip and bash . shittp uses tar and POSIX shell.

... continue reading