Add separate relink command
Also rejigged install to accomodate FreeBSD, and update before installing.
This commit is contained in:
36
install
36
install
@@ -3,6 +3,25 @@
|
|||||||
# Adapted from Junegunn Choi (junegunn.c@gmail.com)
|
# Adapted from Junegunn Choi (junegunn.c@gmail.com)
|
||||||
# https://github.com/junegunn/dotfiles/blob/master/install
|
# https://github.com/junegunn/dotfiles/blob/master/install
|
||||||
|
|
||||||
|
BASE=$(pwd)
|
||||||
|
IS_MAC=0
|
||||||
|
IS_LINUX=0
|
||||||
|
IS_FREEBSD=0
|
||||||
|
|
||||||
|
echo "Ensuring packages/system are up to date; please enter password for sudo if requested."
|
||||||
|
case $(uname -s) in
|
||||||
|
Darwin) IS_MAC=1
|
||||||
|
brew update
|
||||||
|
;;
|
||||||
|
Linux) IS_LINUX=1
|
||||||
|
sudo apt update
|
||||||
|
;;
|
||||||
|
FreeBSD) IS_FREEBSD=1
|
||||||
|
sudo pkg upgrade
|
||||||
|
;;
|
||||||
|
*) echo "Unknown OS" ;;
|
||||||
|
esac
|
||||||
|
|
||||||
cd "$(dirname "${BASH_SOURCE[0]}")" || exit 1
|
cd "$(dirname "${BASH_SOURCE[0]}")" || exit 1
|
||||||
|
|
||||||
MISSING=0
|
MISSING=0
|
||||||
@@ -16,6 +35,7 @@ check_command() {
|
|||||||
echo "Found $FOUND."
|
echo "Found $FOUND."
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
COMMANDS="git realpath curl"
|
COMMANDS="git realpath curl"
|
||||||
for cmd in $COMMANDS ; do
|
for cmd in $COMMANDS ; do
|
||||||
check_command $cmd
|
check_command $cmd
|
||||||
@@ -25,18 +45,6 @@ if [ $MISSING -ne 0 ] ; then
|
|||||||
fi
|
fi
|
||||||
unset COMMANDS MISSING
|
unset COMMANDS MISSING
|
||||||
|
|
||||||
BASE=$(pwd)
|
|
||||||
IS_MAC=0
|
|
||||||
IS_LINUX=0
|
|
||||||
if [ "$(uname -s)" == 'Darwin' ]; then
|
|
||||||
echo "Running on macOS"
|
|
||||||
IS_MAC=1
|
|
||||||
fi
|
|
||||||
if [ "$(uname -s)" == 'Linux' ]; then
|
|
||||||
echo "Running on Linux"
|
|
||||||
IS_LINUX=1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# RC files
|
# RC files
|
||||||
|
|
||||||
mkdir -pv bak
|
mkdir -pv bak
|
||||||
@@ -117,6 +125,10 @@ if [ $IS_LINUX == 1 ] ; then
|
|||||||
sudo apt build-dep mu4e
|
sudo apt build-dep mu4e
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [ $IS_FREEBSD == 1 ] ; then
|
||||||
|
sudo pkg install gmake vim rsync texinfo xsel-conrad
|
||||||
|
fi
|
||||||
|
|
||||||
# Just add these, for now.
|
# Just add these, for now.
|
||||||
ADD_ONLY="python tmux sbcl opam gohugo erlang elixir clojure"
|
ADD_ONLY="python tmux sbcl opam gohugo erlang elixir clojure"
|
||||||
for plugin in $ADD_ONLY ; do
|
for plugin in $ADD_ONLY ; do
|
||||||
|
|||||||
42
relink
Executable file
42
relink
Executable file
@@ -0,0 +1,42 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
#
|
||||||
|
# Adapted from Junegunn Choi (junegunn.c@gmail.com)
|
||||||
|
# https://github.com/junegunn/dotfiles/blob/master/install
|
||||||
|
|
||||||
|
cd "$(dirname "${BASH_SOURCE[0]}")" || exit 1
|
||||||
|
|
||||||
|
BASE=$(pwd)
|
||||||
|
IS_MAC=0
|
||||||
|
IS_LINUX=0
|
||||||
|
IS_FREEBSD=0
|
||||||
|
case $(uname -s) in
|
||||||
|
Darwin) IS_MAC=1 ;;
|
||||||
|
Linux) IS_LINUX=1 ;;
|
||||||
|
FreeBSD) IS_FREEBSD=1 ;;
|
||||||
|
*) echo "Unknown OS" ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# RC files
|
||||||
|
|
||||||
|
mkdir -pv bak
|
||||||
|
for rc in *rc *profile tmux.conf bashrc.d mutt ; do
|
||||||
|
if [ ! -r $rc ] ; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
[ "$(realpath ~/."$rc")" == "$BASE/$rc" ]
|
||||||
|
if [ $? -ne 0 ] ; then
|
||||||
|
[ -e ~/."$rc" ] && mv -v ~/."$rc" bak/."$rc"
|
||||||
|
ln -sfv "$BASE/$rc" ~/."$rc"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
# scripts
|
||||||
|
mkdir -p ~/bin
|
||||||
|
for bin in $BASE/bin/*; do
|
||||||
|
BIN_NAME=$(basename $bin)
|
||||||
|
[ "$(realpath ~/bin/$BIN_NAME)" == "$bin" ]
|
||||||
|
if [ $? -ne 0 ] ; then
|
||||||
|
ln -svf "$bin" ~/bin
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
Reference in New Issue
Block a user