link.sh: Move away from GNU Stow.
This commit is contained in:
parent
adfe835e7b
commit
dddad2b838
52
link.sh
52
link.sh
|
@ -1,8 +1,48 @@
|
|||
#!/bin/sh
|
||||
|
||||
stow --restow --target="$HOME/.config/alacritty" alacritty
|
||||
stow --restow --target="$HOME/.config/fish" fish
|
||||
stow --restow --target="$HOME/.config/flavours" flavours
|
||||
stow --restow --target="$HOME/.config/newsboat" newsboat
|
||||
stow --restow --target="$HOME/.config/nvim" nvim
|
||||
stow --restow --target="$HOME/.config/tmux" tmux
|
||||
link() {
|
||||
src="$1"
|
||||
dst="$2"
|
||||
|
||||
if [ "$src" = "" ] || [ "$dst" = "" ]; then
|
||||
echo "Source or destination parameter missing." >&2
|
||||
exit 2
|
||||
fi
|
||||
|
||||
if [ ! -e "$src" ]; then
|
||||
echo "Source file not found." >&2
|
||||
exit 3
|
||||
fi
|
||||
|
||||
if [ -e "$dst" ] && [ ! -L "$dst" ]; then
|
||||
echo "Destination exists and is not a symlink." >&2
|
||||
exit 4
|
||||
fi
|
||||
|
||||
full_src=$(realpath -s "$src")
|
||||
full_dst=$(realpath -s "$dst")
|
||||
|
||||
if [ -L "$dst" ]; then
|
||||
if [ "$full_dst" != "$full_src" ]; then
|
||||
ln -s -f "$full_src" "$full_dst"
|
||||
fi
|
||||
else
|
||||
ln -s "$full_src" "$full_dst"
|
||||
fi
|
||||
}
|
||||
|
||||
cd "$(dirname "$(readlink -f "$0")")" || exit 1
|
||||
|
||||
link ./alacritty/alacritty.yml "$HOME/.config/alacritty/alacritty.yml"
|
||||
|
||||
link ./fish/abbr.fish "$HOME/.config/fish/abbr.fish"
|
||||
link ./fish/config.fish "$HOME/.config/fish/config.fish"
|
||||
|
||||
link ./flavours/config.toml "$HOME/.config/flavours/config.toml"
|
||||
|
||||
link ./newsboat/config "$HOME/.config/newsboat/config"
|
||||
|
||||
link ./nvim/init.lua "$HOME/.config/nvim/init.lua"
|
||||
link ./nvim/vim_plugins.sh "$HOME/scripts/vim_plugins.sh"
|
||||
|
||||
link ./tmux/tmux.conf "$HOME/.tmux.conf"
|
||||
|
|
Loading…
Reference in New Issue