Modification : vm_{host,hosted,remote} -> {host,local,remote}/ .
[lhc/ateliers.git] / local / user-configure
1 #!/bin/sh -eu
2 # SYNTAX: $user
3 tool=$(readlink -e "${0%/*}/..")
4 . "$tool"/local/lib.sh
5
6 "$tool"/local/apt-get-install bash-completion
7 sudo install -m 660 -o root -g root \
8 "$tool"/etc/adduser.conf \
9 /etc/adduser.conf
10 sudo install -d -m 750 -o root -g root \
11 /etc/skel \
12 /etc/skel/etc \
13 /etc/skel/etc/gpg \
14 /etc/skel/etc/ssh
15 sudo install -d -m 770 -o root -g root \
16 /etc/skel/var \
17 /etc/skel/var/cache \
18 /etc/skel/var/log \
19 /etc/skel/var/run \
20 /etc/skel/var/run/ssh
21 sudo ln -fns etc/ssh /etc/skel/.ssh
22 sudo ln -fns etc/gpg /etc/skel/.gnupg
23 sudo install -m 640 -o root -g root /dev/stdin \
24 /etc/sudoers.d/passwd-init <<-EOF
25 %sudo ALL=(ALL) NOPASSWD: /bin/sh -e -f -u -c \\
26 case \$(/usr/bin/passwd --status "\$SUDO_USER") in \\
27 ("\$SUDO_USER L "*) /usr/bin/passwd \$SUDO_USER;; esac
28 EOF
29 sudo install -m 640 -o root -g root /dev/stdin \
30 /etc/sudoers.d/etckeeper-unclean <<-EOF
31 %sudo ALL=(ALL) NOPASSWD: /usr/bin/etckeeper unclean
32 EOF
33 sudo install -m 640 -o root -g root /dev/stdin \
34 /etc/sudoers.d/env_keep <<-EOF
35 Defaults env_keep = " \\
36 EDITOR \\
37 GIT_AUTHOR_NAME \\
38 GIT_AUTHOR_EMAIL \\
39 GIT_COMMITTER_NAME \\
40 GIT_COMMITTER_EMAIL \\
41 "
42 EOF
43 sudo install -m 755 -o root -g root \
44 "$tool"/local/passwd-init \
45 /usr/local/bin/passwd-init
46 sudo install -m 644 -o root -g root \
47 "$tool"/etc/bash.bashrc \
48 /etc/bash.bashrc
49 sudo install -m 644 -o root -g root \
50 "$tool"/etc/inputrc \
51 /etc/inputrc
52 sudo install -m 644 -o root -g root \
53 "$tool"/etc/screenrc \
54 /etc/screenrc
55 for sh in "$tool"/etc/user.d/*/local.sh
56 do sh=${sh#"$tool"/etc/user.d/}
57 user="${sh%/local.sh}"
58 (
59 . "$tool"/etc/user.d/"$sh" || return 1
60 )
61 done