bsh: Duplicate source files and optimize
A step back... but hopefully so we can take a step forward?
This commit is contained in:
parent
dcb8e62df2
commit
65d1594ec9
6 changed files with 202 additions and 96 deletions
|
@ -1,9 +1,10 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# TODO Do not dupplicate trimmed.bash
|
||||
# TODO More integrated with current config
|
||||
|
||||
CACHE_DIR="${XDG_CACHE_DIR:-$HOME/.cache}/bsh"
|
||||
FOLDER_NAME="geoffrey"
|
||||
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
||||
|
||||
|
||||
mkdir -p "$CACHE_DIR"
|
||||
|
@ -12,14 +13,24 @@ 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"
|
||||
# TODO Above file doesn't work anymore with automatrop
|
||||
# TODO Maybe we should just set HOME there…
|
||||
|
||||
# Bashrc generation (sortable then unsortable)
|
||||
grep -o '^\s*[^#]*' $SCRIPT_DIR/.bsh/bashrc | sed 's/^\s\+//' > "${WORK}/b"
|
||||
echo "alias s='sudo -s -E bash --rcfile ${DEST}/b'" >> "${WORK}/b"
|
||||
echo "export VIMINIT='source ${DEST}/v'" >> "${WORK}/b"
|
||||
#echo "export TERMINFO=${DEST}/terminfo" >> "${WORK}/b"
|
||||
echo "export INPUTRC=${DEST}/i" >> "${WORK}/b"
|
||||
# Sort for compression efficiency (saves a whooping 12 bytes)
|
||||
sort -u "${WORK}/b" > "${WORK}/b_sorted"
|
||||
mv "${WORK}/b_sorted" "${WORK}/b"
|
||||
|
||||
dircolors --sh >> "${WORK}/b"
|
||||
grep -o '^[^#]*' $SCRIPT_DIR/.bsh/bashrc_unsortable | sed 's/^\s\+//' >> "${WORK}/b"
|
||||
|
||||
# Other files generation
|
||||
#mkdir -p "${WORK}/terminfo/${TERM:0:1}"
|
||||
#if [ -f "/usr/share/terminfo/${TERM:0:1}/${TERM}" ]
|
||||
#then
|
||||
|
@ -28,23 +39,18 @@ then
|
|||
#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…
|
||||
grep -o '^\s*[^#]*' $SCRIPT_DIR/.bsh/inputrc | sed 's/^\s\+//' > "${WORK}/i"
|
||||
grep -o '^\s*[^"]*' $SCRIPT_DIR/.bsh/vimrc | sed 's/^\s\+//' > "${WORK}/v"
|
||||
|
||||
# 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 "echo $b64|base64 -d|tar xzC /tmp" > "${CACHE_DIR}/cmd"
|
||||
echo "bash --rcfile ${DEST}/b" >> "${CACHE_DIR}/cmd"
|
||||
echo "rm -rf ${DEST}" >> "${CACHE_DIR}/cmd"
|
||||
# TODO Do not remove unless last one connected
|
||||
|
||||
# Cleanup
|
||||
# rm -rf "$WORK"
|
||||
rm -rf "$WORK"
|
||||
|
||||
fi
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue