]> ruderich.org/simon Gitweb - config/dotfiles.git/blob - setup.sh
use set -eu
[config/dotfiles.git] / setup.sh
1 #!/bin/sh
2
3 # Setup script for X11 configuration files.
4
5 # Copyright (C) 2011-2012  Simon Ruderich
6 #
7 # This program is free software: you can redistribute it and/or modify
8 # it under the terms of the GNU General Public License as published by
9 # the Free Software Foundation, either version 3 of the License, or
10 # (at your option) any later version.
11 #
12 # This program is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 # GNU General Public License for more details.
16 #
17 # You should have received a copy of the GNU General Public License
18 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
19
20
21 set -eu
22
23 . ../lib.sh
24
25
26 if installed stumpwm; then
27     link stumpwmrc ~/.stumpwmrc
28 fi
29 if installed xmonad; then
30     link xmonad ~/.xmonad
31 fi
32 if installed herbstluftwm; then
33     link herbstluftwm ~/.config/herbstluftwm
34 fi
35
36 if installed X; then
37     # Prevent code duplication. Term* rules are for all terminals; XTerm rules
38     # are for XTerm and UXTerm. At the moment XTerm, UXTerm and Rxvt are
39     # supported.
40     generate Xresources .in perl -ne \
41         'if (/^Term/) {
42              s/^Term//;
43              print "XTerm", $_;
44              print "UXTerm", $_;
45              print "Rxvt", $_;
46          } elsif (/^XTerm/) {
47              print $_;
48              s/^XTerm//;
49              print "UXTerm", $_;
50          } else {
51              print $_;
52          }'
53     # Xresources uses ! as comment instead of #.
54     sed_i 's/^#/!/' Xresources
55     # Use urxvt's pseudo-transparency if neither compton nor xcompmgr are
56     # available. Better than nothing.
57     if ! installed compton && ! installed xcompmgr; then
58         echo 'Xresources: no compton found, enabling pseudo-transparency'
59         sed_i 's/^Rxvt\*background/!&/' Xresources
60         sed_i 's/^!NO_COMPTON //' Xresources
61     fi
62
63     if test ! "x`os`" = xdarwin; then
64         link xinitrc ~/.xinitrc
65         # lightdm doesn't use ~/.xinitrc but ~/.xprofile instead. Assume it's
66         # used when the lightdm configuration file is present.
67         if test -f "$HOME/.dmrc"; then
68             link xinitrc ~/.xprofile
69         fi
70     fi
71     if test -f xinitrc.local; then
72         link xinitrc.local ~/.xinitrc.local
73     fi
74     link xmodmaprc ~/.xmodmaprc
75     link Xresources ~/.Xresources
76     link XCompose ~/.XCompose
77 fi
78
79 if installed xpdf; then
80     link xpdfrc ~/.xpdfrc
81 fi
82 if installed zathura; then
83     mkdir -p ~/.config/zathura
84     link zathurarc ~/.config/zathura/zathurarc
85 fi
86
87 if installed feh; then
88     mkdir -p ~/.config
89     link feh ~/.config/feh
90     # Older feh versions only support theme options and configure them through
91     # ~/.fehrc.
92     link feh/themes ~/.fehrc
93 fi