]> git.sev.monster Git - dotfiles.git/blob - install.sh
added syncthing script, more dirs to install
[dotfiles.git] / install.sh
1 #!/bin/sh
2
3 if [ 0 -eq 1 ]; then
4         alias mkdir="echo mkdir"
5         alias ln="echo ln"
6         alias rm="echo rm"
7         alias cap_mkdb="echo cap_mkdb"
8         alias unlink="echo unlink"
9 fi
10
11 #fix permissions from git (TODO: should probably move this to git hook)
12 chmod go= base/.zshenv base/.Xresources
13
14 #create preferred folder structure
15 cd "$HOME"
16 mkdir -p bin etc share .urxvt/ext > /dev/null 2>&1
17 mkdir -m 700 tmp tmp/vim > /dev/null 2>&1
18 cd -
19
20 l() {
21         # TODO: use install?
22         [ -L "$1" -o \! -e "$1" ] && ln -sFhvw "${2:-$x}" "$1"
23 }
24
25 find "$PWD/base" -depth 1 | while read -r x; do
26         l "$HOME/`basename "$x"`"
27 done
28 find bin share -depth 1 | while read -r x; do
29         l "$HOME/$x" "$PWD/$x"
30 done
31 find "$PWD/xdg" -depth 1 | while read -r x; do
32         l "${XDG_CONFIG_HOME:-$HOME/.config}/`basename "$x"`"
33 done
34 find "$PWD/urxvt-ext" -type f -perm -ugo=x -mindepth 1 -maxdepth 2 | while read -r x; do
35         l "$HOME/.urxvt/ext/`basename $x`"
36 done
37 touch "$HOME/.hushlogin"
38
39 #FreeBSD tries `_secure_path' on `.login_conf' before reaading the database,
40 #so it needs to be compiled and unlinked for it to actually take effect.
41 cd "$HOME"
42 rm .login_conf.db
43 cap_mkdb .login_conf
44 unlink .login_conf
45 cd -
This page took 0.043478 seconds and 4 git commands to generate.