35 lines
1 KiB
Bash
35 lines
1 KiB
Bash
#!/bin/bash
|
|
|
|
if [ -z "$STORAGE" ]; then
|
|
echo "\$STORAGE is empty, please set it as a directory"
|
|
exit 1
|
|
fi
|
|
|
|
set -e
|
|
|
|
# Prepare stow (perl libs and binary) - if necessary
|
|
if [ ! -f "$(which stow > /dev/null 2> /dev/null)" ]; then
|
|
mkdir -p $HOME/.local/{bin,share/{doc,info,man/man8,perl5}}
|
|
|
|
ln -s $STORAGE/stowed/stow/.local/bin/stow $HOME/.local/bin
|
|
ln -s $STORAGE/stowed/stow/.local/bin/chkstow $HOME/.local/bin
|
|
ln -s $STORAGE/stowed/stow/.local/share/perl5/Stow $HOME/.local/share/perl5
|
|
ln -s $STORAGE/stowed/stow/.local/share/perl5/Stow.pm $HOME/.local/share/perl5
|
|
fi
|
|
|
|
stow="stow --target $HOME"
|
|
# Edit this folder to wherever you store dotfiles / stowed files
|
|
stow_dir=$STORAGE/stowed
|
|
|
|
# Restore stowed config
|
|
cd $stow_dir
|
|
|
|
# The stow folder needs to be unstowed with a special command
|
|
$stow --defer=.local/bin --defer=.local/share/perl5
|
|
|
|
# You can use the option --adopt to override config files
|
|
# that may autogenerate, such as .bashrc
|
|
|
|
# Copy this example, changing the folder to be restored
|
|
# $stow bash
|
|
|