ambevar-dotfiles/.scripts/homeinit

135 lines
4.2 KiB
Bash
Executable File

#!/bin/sh
################################################################################
## Home session initialization.
## 2013-06-13
################################################################################
SOURCEDIR="$HOME/personal/dataperso"
[ -z "$XDG_CONFIG_HOME" ] && XDG_CONFIG_HOME="$HOME/.config"
[ -z "$XDG_DATA_HOME" ] && XDG_DATA_HOME="$HOME/.local/share"
[ -z "$XDG_DATA_DIRS" ] && XDG_DATA_DIRS="/usr/local/share"
## Temp folder
echo "==> 'temp' folder"
mkdir -p temp
echo
## Emacsclient launcher. Required for best emacsclient integration. For a fully
## functional daemon, you should write a file like this and set 'EDITOR=em'. We
## use base64 to encode the script so that we do not need to handle all the
## escape sequences with quotes and so on.
EMFILE='/usr/local/bin/em'
EMCFILE='/usr/local/bin/emc'
if [ -n "$(command -v emacs)" ] && [ ! -f "$EMFILE" ] || [ ! -f "$EMCFILE" ]; then
echo "==> Emacs (press Ctrl-D to skip)"
if [ -z "$(command -v base64)" ]; then
echo ":: base64 not found."
else
sudo sh -c "umask 022 && echo 'IyEvYmluL3NoCmlmIFsgLXogIiRESVNQTEFZIiBdOyB0aGVuCiAgICBJU19HUkFQSElDQUw9MApl
bHNlCiAgICBJU19HUkFQSElDQUw9JChlbWFjcyAtYmF0Y2ggLVEgLS1ldmFsPScoaWYgKGZib3Vu
ZHAgJyInIid0b29sLWJhci1tb2RlKSAobWVzc2FnZSAiMSIpIChtZXNzYWdlICIwIikpJyAyPiYx
KQpmaQoKaWYgWyAkSVNfR1JBUEhJQ0FMIC1lcSAxIF07IHRoZW4KICAgIGVtYWNzY2xpZW50IC1h
ICIiIC1uYyAiJEAiCmVsc2UKICAgIGVtYWNzY2xpZW50IC1hICIiIC10ICIkQCIKZmkK
' | base64 -d > $EMFILE && chmod 755 $EMFILE"
sudo sh -c "umask 022 && echo 'IyEvYmluL3NoCmVtYWNzY2xpZW50IC1hICIiIC10ICIkQCIK
' | base64 -d > $EMCFILE && chmod 755 $EMCFILE"
fi
fi
installkeymap ()
{
if [ -f "$HOME/.xkb/symbols/$1" ] && [ ! -f "/usr/share/X11/xkb/symbols/$1" ]; then
echo "==> '$1' font (press Ctrl-D to skip)"
sudo sh -c "install -m644 $HOME/.xkb/symbols/$1 /usr/share/X11/xkb/symbols/"
echo
fi
}
installkeymap frex
installkeymap usex
if [ -d "$SOURCEDIR/contacts" ]; then
echo "==> Abook"
ln -snf "$SOURCEDIR/contacts" "$HOME/.abook"
echo
fi
if [ -n "$(command -v mutt)" ]; then
echo "==> Mutt"
[ -d "$SOURCEDIR" ] && ln -snf "$SOURCEDIR/mails" "$HOME/.mutt.d"
mkdir -p "$HOME/.cache/mutt/hcache"
echo
fi
if [ -d "$SOURCEDIR" ]; then
echo "==> To-Do"
ln -snf "$SOURCEDIR/todo/todo.org" "$HOME/todo.org"
echo
fi
if [ -n "$(command -v rtorrent)" ]; then
echo "==> rtorrent"
mkdir -p "$HOME/.session"
echo
fi
## Luakit -- Install the adblock modules
if [ -n "$(command -v luakit)" ]; then
echo "==> Luakit"
git clone https://github.com/Plaque-fcc/luakit-adblock/ "$HOME/luakit-adblock"
cp -fv ~/luakit-adblock/*.lua "$XDG_CONFIG_HOME/luakit"
rm -rvf "$HOME/luakit-adblock"
## Update the adblock lists
mkdir -p "$XDG_DATA_HOME/luakit/adblock"
wget https://easylist-downloads.adblockplus.org/easylist.txt \
https://easylist-downloads.adblockplus.org/easyprivacy.txt \
https://easylist-downloads.adblockplus.org/easylistgermany.txt \
http://lian.info.tm/liste_fr.txt \
-P "$XDG_DATA_HOME/luakit/adblock"
echo
fi
## dwb -- Install extensions.
if [ -n "$(command -v dwb)" ]; then
echo "==> dwb"
dwbem -Ni adblock_subscriptions
# dwbem -Ni youtube_html5
echo
fi
## Bookmarks
if [ -d "$SOURCEDIR" ]; then
echo "==> Bookmarks"
if [ -z "$BROWSER" ]; then
echo "Variable BROWSER is not set."
else
BROWSER_DATA_DIR="$XDG_DATA_HOME/$BROWSER/"
if [ "$BROWSER" = "dwb" ]; then
BROWSER_DATA_DIR="$XDG_CONFIG_HOME/$BROWSER/default/"
fi
[ -d "$SOURCEDIR" ] && ln -sf "$SOURCEDIR/bookmarks/bookmarks" "$BROWSER_DATA_DIR"
[ -d "$SOURCEDIR" ] && ln -sf "$SOURCEDIR/bookmarks/quickmarks" "$BROWSER_DATA_DIR"
fi
echo
fi
## News
if [ -n "$(command -v newsbeuter)" ]; then
echo "==> Newsbeuter"
mkdir -p "$XDG_DATA_HOME/newsbeuter"
[ -d "$SOURCEDIR" ] && ln -sf "$SOURCEDIR/news/urls" "$XDG_CONFIG_HOME/newsbeuter/"
[ -d "$SOURCEDIR" ] && ln -sf "$SOURCEDIR/news/news_starred" "$XDG_CONFIG_HOME/newsbeuter/"
echo
fi
## Launchers
if [ -d "$SOURCEDIR" ]; then
echo "==> Launchers"
ln -snf "$SOURCEDIR/launchers" "$HOME/.launchers"
echo
fi