X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=distro-begin;h=84900fe1de71587a385f4e65a8ed774ddaffcd78;hb=802e885e3e7fa3857f8bc4f54c261d5ca76f2454;hp=e9699408655ccb6aa4e6a52271937a2edb7b6e09;hpb=671538dd70b9aa0f1b38192b51dd0716e29eb6f0;p=distro-setup diff --git a/distro-begin b/distro-begin index e969940..84900fe 100755 --- a/distro-begin +++ b/distro-begin @@ -78,7 +78,10 @@ fi ### arg parsing recompile=false -emacs=true +emacs=false +if [[ -e /a/opt/emacs ]]; then + emacs=true +fi while [[ $1 == -* ]]; do case $1 in -r) recompile=true; shift ;; @@ -97,7 +100,7 @@ source $script_dir/pkgs set +x source /a/bin/distro-functions/src/identify-distros $interactive || set -x -for f in kd x2 x3 frodo tp li bk je demohost kw; do +for f in kd x2 x3 frodo tp li bk je demohost kw sy bo; do eval "$f() { [[ $HOSTNAME == $f ]]; }" done codename=$(debian-codename) @@ -235,6 +238,11 @@ EOF ##### exit first stage if running as root if [[ $EUID == 0 ]]; then + if [[ ! -e /home/iank/.ssh/authorized_keys && ! -L /home/iank/.ssh/authorized_keys ]]; then + sudo -u iank mkdir -p /home/iank/.ssh + chmod 0700 /home/iank/.ssh + sudo -u iank ln -sf /p/c/machine_specific/vps/subdir_files/.ssh/authorized_keys /home/iank/.ssh + fi echo "$0: running as root. exiting now that users are setup" exit 0 fi @@ -248,6 +256,25 @@ lnf $x /root EOF done +###### link files +# convenient to just do all file linking in one place +sudo /a/exe/lnf -T /a/bin /b +sudo /a/exe/lnf -T /a/f /f +sudo /a/exe/lnf -T /var/log/exim4 /el +sudo /a/exe/lnf -T /a/f/ans /c +sudo /a/exe/lnf -T /nocow/t /t +if has_p; then + lnf -T /p/News ~/News +fi +dirs=(/q/root /q/root/.editor-backups /q/root/.undo-tree-history) +sudo mkdir -p ${dirs[@]} +sudo chmod 600 ${dirs[@]} +sudo /a/exe/lnf /q/root/.editor-backups /q/root/.undo-tree-history \ + /a/opt /a/c/.emacs.d $HOME/mw_vars /k/backup /root +/a/bin/ds/install-my-scripts # needed for rootsshsync cronjob +sudo /a/exe/lnf /a/c/.vim /a/c/.vimrc /a/c/.gvimrc /root + + ###### do conflink # vps needs bind group before conflink if vps; then @@ -260,6 +287,8 @@ if [[ -e /etc/rootsudoenv ]]; then source /etc/rootsudoenv fi + + ###### bash environment setup set +x err-allow @@ -289,6 +318,11 @@ fi case $HOSTNAME in bk) sudo sed -i --follow-symlinks 's/^ *hosts:.*/hosts: files dns myhostname/' /etc/nsswitch.conf + soff systemd-resolved + ln -sf 127.0.0.1-resolv/stub-resolv.conf /etc/resolv.conf + sgo bind9 + # cautious measure to make sure bind is up + sleep 1 ;; *) # default is @@ -428,26 +462,6 @@ case $(debian-codename-compat) in esac -###### link files -# convenient to just do all file linking in one place -sudo /a/exe/lnf -T /a/bin /b -sudo /a/exe/lnf -T /a/f /f -sudo /a/exe/lnf -T /var/log/exim4 /el -sudo /a/exe/lnf -T /a/f/ans /c -sudo /a/exe/lnf -T /nocow/t /t -if has_p; then - lnf -T /p/News ~/News -fi -dirs=(/q/root /q/root/.editor-backups /q/root/.undo-tree-history) -sudo mkdir -p ${dirs[@]} -sudo chmod 600 ${dirs[@]} -sudo /a/exe/lnf /q/root/.editor-backups /q/root/.undo-tree-history \ - /a/opt /a/c/.emacs.d $HOME/mw_vars /k/backup /root -/a/bin/ds/install-my-scripts # needed for rootsshsync cronjob -sudo /a/exe/lnf /a/c/.vim /a/c/.vimrc /a/c/.gvimrc /root - - - #### arch specific early packages case $(distro-name) in @@ -594,7 +608,9 @@ EOF ;; esac - +if bitfolk; then + sudo systemctl disable systemd-networkd +fi ##### setup email primary-setup