Geoffrey Frogeye
ceb1e40964
Alacritty seems fully compatible with that and older servers know those so no need to transfer the terminfo.
51 lines
1.7 KiB
Bash
Executable file
51 lines
1.7 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
# TODO Do not dupplicate trimmed.bash
|
|
|
|
CACHE_DIR="${XDG_CACHE_DIR:-$HOME/.cache}/bsh"
|
|
FOLDER_NAME="geoffrey"
|
|
|
|
|
|
mkdir -p "$CACHE_DIR"
|
|
if [ ! -f "${CACHE_DIR}/cmd" ]
|
|
then
|
|
# Preparation
|
|
WORK="${CACHE_DIR}/${FOLDER_NAME}"
|
|
DEST="/tmp/${FOLDER_NAME}"
|
|
rm -rf "$WORK" # DEBUG
|
|
mkdir "$WORK"
|
|
|
|
# Copying files
|
|
grep -o '^[^#]*' ~/.config/shell/trimmed.bash > "${WORK}/.bashrc"
|
|
grep -o '^[^#]*' ~/.config/inputrc > "${WORK}/.inputrc"
|
|
grep -o '^[^"]*' ~/.config/vim/vimconfig.vim > "${WORK}/.vimrc"
|
|
#mkdir -p "${WORK}/terminfo/${TERM:0:1}"
|
|
#if [ -f "/usr/share/terminfo/${TERM:0:1}/${TERM}" ]
|
|
#then
|
|
# cp "/usr/share/terminfo/${TERM:0:1}/${TERM}" "${WORK}/terminfo/${TERM:0:1}/${TERM}"
|
|
#elif [ -f "$HOME/.config/terminfo/${TERM:0:1}/${TERM}" ]
|
|
#then
|
|
# cp "$HOME/.config/terminfo/${TERM:0:1}/${TERM}" "${WORK}/terminfo/${TERM:0:1}/${TERM}"
|
|
#fi
|
|
|
|
# Extra configuration
|
|
echo "alias s='sudo -s -E bash --rcfile ${DEST}/.bashrc'" >> "${WORK}/.bashrc"
|
|
echo "export VIMINIT='source ${DEST}/.vimrc'" >> "${WORK}/.bashrc"
|
|
#echo "export TERMINFO=${DEST}/terminfo" >> "${WORK}/.bashrc"
|
|
echo "export INPUTRC=${DEST}/.inputrc" >> "${WORK}/.bashrc"
|
|
# TODO Maybe we should just set HOME there…
|
|
|
|
# Crafting command
|
|
b64="$(cd "$CACHE_DIR"; tar czf - "$FOLDER_NAME" | base64 -w 0)"
|
|
echo "echo '$b64' | base64 -d | tar xzf - -C /tmp" > "${CACHE_DIR}/cmd"
|
|
echo "bash --rcfile ${DEST}/.bashrc" >> "${CACHE_DIR}/cmd"
|
|
echo "rm -rf ${DEST}" >> "${CACHE_DIR}/cmd"
|
|
# TODO Do not remove unless last one connected
|
|
|
|
# Cleanup
|
|
# rm -rf "$WORK"
|
|
|
|
fi
|
|
|
|
ssh -t "$@" "$(cat "${CACHE_DIR}/cmd")"
|