136 lines
4.5 KiB
Bash
Executable File
136 lines
4.5 KiB
Bash
Executable File
#!/bin/sh
|
|
################################################################################
|
|
## Home session initialization.
|
|
## 2013-06-14
|
|
################################################################################
|
|
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
|
|
|
|
## Advanced keymaps. They need to be in X11 shared dir to be loaded.
|
|
installkeymap ()
|
|
{
|
|
if [ -f "$HOME/.xkb/symbols/$1" ] && ( [ ! -f "/usr/share/X11/xkb/symbols/$1" ] || \
|
|
[ ! "$(sha1sum "$HOME/.xkb/symbols/$1" | cut -f1 -d' ')" = "$(sha1sum /usr/share/X11/xkb/symbols/$1 | cut -f1 -d ' ')" ] ); 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)" ] && [ ! -f "$XDG_DATA_HOME/dwb/extensions/adblock_subscriptions" ] ; 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
|