42 lines
923 B
Bash
Executable File
42 lines
923 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
if [ ! -d $HOME/.local/share/tmux/layouts ]; then
|
|
mkdir -p $HOME/.local/share/tmux/layouts
|
|
echo changed created layouts directory
|
|
fi
|
|
|
|
declare -A symlinks=(
|
|
[$HOME/.config/tmux/tmux.conf]=$HOME/.tmux.conf
|
|
)
|
|
|
|
layouts=(
|
|
session-config
|
|
session-infra
|
|
session-main
|
|
session-visor
|
|
window-auto
|
|
window-tall
|
|
window-wide-left
|
|
window-wide-right
|
|
)
|
|
for layout in ${layouts[@]}; do
|
|
symlinks[$HOME/.config/tmux/layouts/$layout]=$HOME/.local/share/tmux/layouts/$layout
|
|
done
|
|
|
|
for source in ${!symlinks[@]}; do
|
|
dest=${symlinks[${source}]}
|
|
if [ -L $dest ]; then
|
|
target=`readlink $dest`
|
|
if [ "$target" != "$source" ]; then
|
|
rm $dest
|
|
ln -s $source $dest
|
|
echo changed replace incorrect symlink $dest
|
|
fi
|
|
elif [ -f $dest ]; then
|
|
error symlink failed $dest exists but is a regular file
|
|
else
|
|
ln -s $source $dest
|
|
echo changed created symlink $dest
|
|
fi
|
|
done
|