2012-07-28 19:39:12 +02:00
|
|
|
#!/bin/sh
|
2012-07-28 20:04:21 +02:00
|
|
|
################################################################################
|
|
|
|
## Home session initialization.
|
2013-06-14 09:18:05 +02:00
|
|
|
## 2013-06-14
|
2012-07-28 20:04:21 +02:00
|
|
|
################################################################################
|
2013-06-03 20:18:14 +02:00
|
|
|
SOURCEDIR="$HOME/personal/dataperso"
|
2012-10-29 15:29:54 +01:00
|
|
|
[ -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"
|
2012-07-28 20:04:21 +02:00
|
|
|
|
2013-05-04 00:30:11 +02:00
|
|
|
## Temp folder
|
2013-05-22 17:35:54 +02:00
|
|
|
echo "==> 'temp' folder"
|
2013-07-03 23:24:01 +02:00
|
|
|
mkdir -p "$HOME/temp"
|
2013-05-22 17:35:54 +02:00
|
|
|
echo
|
2013-05-04 00:30:11 +02:00
|
|
|
|
2013-01-09 19:25:23 +01:00
|
|
|
## Emacsclient launcher. Required for best emacsclient integration. For a fully
|
2013-05-24 11:44:23 +02:00
|
|
|
## 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'
|
2013-05-27 08:36:39 +02:00
|
|
|
EMCFILE='/usr/local/bin/emc'
|
2013-05-27 13:06:33 +02:00
|
|
|
if [ -n "$(command -v emacs)" ] && [ ! -f "$EMFILE" ] || [ ! -f "$EMCFILE" ]; then
|
2013-05-24 11:44:23 +02:00
|
|
|
echo "==> Emacs (press Ctrl-D to skip)"
|
|
|
|
|
|
|
|
if [ -z "$(command -v base64)" ]; then
|
|
|
|
echo ":: base64 not found."
|
|
|
|
else
|
2013-05-24 20:01:46 +02:00
|
|
|
sudo sh -c "umask 022 && echo 'IyEvYmluL3NoCmlmIFsgLXogIiRESVNQTEFZIiBdOyB0aGVuCiAgICBJU19HUkFQSElDQUw9MApl
|
2013-05-24 17:23:01 +02:00
|
|
|
bHNlCiAgICBJU19HUkFQSElDQUw9JChlbWFjcyAtYmF0Y2ggLVEgLS1ldmFsPScoaWYgKGZib3Vu
|
|
|
|
ZHAgJyInIid0b29sLWJhci1tb2RlKSAobWVzc2FnZSAiMSIpIChtZXNzYWdlICIwIikpJyAyPiYx
|
|
|
|
KQpmaQoKaWYgWyAkSVNfR1JBUEhJQ0FMIC1lcSAxIF07IHRoZW4KICAgIGVtYWNzY2xpZW50IC1h
|
2013-05-24 20:01:46 +02:00
|
|
|
ICIiIC1uYyAiJEAiCmVsc2UKICAgIGVtYWNzY2xpZW50IC1hICIiIC10ICIkQCIKZmkK
|
2013-06-13 00:28:30 +02:00
|
|
|
' | base64 -d > $EMFILE && chmod 755 $EMFILE"
|
2013-05-27 08:36:39 +02:00
|
|
|
|
|
|
|
sudo sh -c "umask 022 && echo 'IyEvYmluL3NoCmVtYWNzY2xpZW50IC1hICIiIC10ICIkQCIK
|
2013-06-13 00:28:30 +02:00
|
|
|
' | base64 -d > $EMCFILE && chmod 755 $EMCFILE"
|
2013-05-27 08:36:39 +02:00
|
|
|
|
2013-05-24 11:44:23 +02:00
|
|
|
fi
|
2013-01-09 19:25:23 +01:00
|
|
|
fi
|
|
|
|
|
2013-06-14 09:18:05 +02:00
|
|
|
## Advanced keymaps. They need to be in X11 shared dir to be loaded.
|
2013-06-13 00:28:30 +02:00
|
|
|
installkeymap ()
|
|
|
|
{
|
2013-06-14 09:18:05 +02:00
|
|
|
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
|
2013-06-13 00:28:30 +02:00
|
|
|
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
|
2013-05-24 17:23:01 +02:00
|
|
|
|
|
|
|
|
2013-06-03 20:18:14 +02:00
|
|
|
if [ -d "$SOURCEDIR/contacts" ]; then
|
2013-05-22 17:35:54 +02:00
|
|
|
echo "==> Abook"
|
2013-06-03 20:18:14 +02:00
|
|
|
ln -snf "$SOURCEDIR/contacts" "$HOME/.abook"
|
2013-05-22 17:35:54 +02:00
|
|
|
echo
|
|
|
|
fi
|
2013-04-30 14:17:22 +02:00
|
|
|
|
2013-05-22 17:35:54 +02:00
|
|
|
if [ -n "$(command -v mutt)" ]; then
|
|
|
|
echo "==> Mutt"
|
2013-06-03 20:18:14 +02:00
|
|
|
[ -d "$SOURCEDIR" ] && ln -snf "$SOURCEDIR/mails" "$HOME/.mutt.d"
|
|
|
|
mkdir -p "$HOME/.cache/mutt/hcache"
|
2013-05-22 17:35:54 +02:00
|
|
|
echo
|
|
|
|
fi
|
2012-07-28 20:04:21 +02:00
|
|
|
|
2013-07-03 23:24:01 +02:00
|
|
|
if [ -d "$SOURCEDIR/todo" ]; then
|
2013-05-22 17:35:54 +02:00
|
|
|
echo "==> To-Do"
|
2013-06-03 20:18:14 +02:00
|
|
|
ln -snf "$SOURCEDIR/todo/todo.org" "$HOME/todo.org"
|
2013-05-22 17:35:54 +02:00
|
|
|
echo
|
|
|
|
fi
|
2012-07-28 19:39:12 +02:00
|
|
|
|
2013-05-22 17:35:54 +02:00
|
|
|
if [ -n "$(command -v rtorrent)" ]; then
|
|
|
|
echo "==> rtorrent"
|
2013-07-03 23:24:01 +02:00
|
|
|
mkdir -p "$HOME/.cache/rtorrent"
|
|
|
|
## TODO: the mkdir with the awk command does not get expanded properly. Why?
|
|
|
|
# mkdir -p "$(awk -F'=' '/^session *= */{gsub(/^ +| +$/,"",$2); gsub(/~/,"$HOME",$2); res=$2} END {printf res}' ~/.rtorrent.rc)"
|
2013-05-22 17:35:54 +02:00
|
|
|
echo
|
|
|
|
fi
|
2012-08-16 20:10:46 +02:00
|
|
|
|
2012-11-29 16:17:06 +01:00
|
|
|
## Luakit -- Install the adblock modules
|
2012-11-29 18:17:42 +01:00
|
|
|
if [ -n "$(command -v luakit)" ]; then
|
2012-11-29 13:01:25 +01:00
|
|
|
echo "==> Luakit"
|
2013-06-03 20:18:14 +02:00
|
|
|
git clone https://github.com/Plaque-fcc/luakit-adblock/ "$HOME/luakit-adblock"
|
2012-11-29 13:01:25 +01:00
|
|
|
cp -fv ~/luakit-adblock/*.lua "$XDG_CONFIG_HOME/luakit"
|
|
|
|
rm -rvf "$HOME/luakit-adblock"
|
2012-07-28 19:39:12 +02:00
|
|
|
|
2012-11-29 13:01:25 +01:00
|
|
|
## 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
|
2012-09-10 17:51:31 +02:00
|
|
|
|
2012-11-29 18:17:42 +01:00
|
|
|
## dwb -- Install extensions.
|
2013-06-13 19:35:49 +02:00
|
|
|
if [ -n "$(command -v dwb)" ] && [ ! -f "$XDG_DATA_HOME/dwb/extensions/adblock_subscriptions" ] ; then
|
2012-11-29 18:17:42 +01:00
|
|
|
echo "==> dwb"
|
|
|
|
dwbem -Ni adblock_subscriptions
|
2013-05-04 00:12:48 +02:00
|
|
|
# dwbem -Ni youtube_html5
|
2012-11-29 16:17:06 +01:00
|
|
|
echo
|
|
|
|
fi
|
|
|
|
|
2012-09-16 22:19:38 +02:00
|
|
|
## Bookmarks
|
2013-05-22 17:35:54 +02:00
|
|
|
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
|
2013-06-03 20:18:14 +02:00
|
|
|
[ -d "$SOURCEDIR" ] && ln -sf "$SOURCEDIR/bookmarks/bookmarks" "$BROWSER_DATA_DIR"
|
|
|
|
[ -d "$SOURCEDIR" ] && ln -sf "$SOURCEDIR/bookmarks/quickmarks" "$BROWSER_DATA_DIR"
|
2013-05-04 00:30:11 +02:00
|
|
|
fi
|
2013-05-22 17:35:54 +02:00
|
|
|
echo
|
2012-11-29 16:17:06 +01:00
|
|
|
fi
|
2013-01-09 19:25:23 +01:00
|
|
|
|
2013-03-15 22:38:01 +01:00
|
|
|
## News
|
2013-05-04 00:30:11 +02:00
|
|
|
if [ -n "$(command -v newsbeuter)" ]; then
|
2013-05-04 00:12:48 +02:00
|
|
|
echo "==> Newsbeuter"
|
|
|
|
mkdir -p "$XDG_DATA_HOME/newsbeuter"
|
2013-06-03 20:18:14 +02:00
|
|
|
[ -d "$SOURCEDIR" ] && ln -sf "$SOURCEDIR/news/urls" "$XDG_CONFIG_HOME/newsbeuter/"
|
|
|
|
[ -d "$SOURCEDIR" ] && ln -sf "$SOURCEDIR/news/news_starred" "$XDG_CONFIG_HOME/newsbeuter/"
|
2013-05-04 00:12:48 +02:00
|
|
|
echo
|
|
|
|
fi
|
2013-05-05 20:57:20 +02:00
|
|
|
|
|
|
|
## Launchers
|
2013-05-22 17:35:54 +02:00
|
|
|
if [ -d "$SOURCEDIR" ]; then
|
|
|
|
echo "==> Launchers"
|
2013-06-03 20:18:14 +02:00
|
|
|
ln -snf "$SOURCEDIR/launchers" "$HOME/.launchers"
|
2013-05-22 17:35:54 +02:00
|
|
|
echo
|
2013-05-24 11:44:23 +02:00
|
|
|
fi
|