X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=distro-begin;h=f022ec3c4db1fda270cc76d5615e44bd7a12f1c9;hb=6cc73025405b7a540eec371d1d8f7d9d13d8e019;hp=4a1ab215d6649eb69d9f2922247246c0ae3f27b6;hpb=7b47d6a266340223e78317cfe0570868f45a4cad;p=distro-setup diff --git a/distro-begin b/distro-begin index 4a1ab21..f022ec3 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) @@ -152,7 +155,7 @@ EOF sudo dd of=/etc/systemd/system/keyscriptoff.service <<'EOF' [Unit] -Description=keyscriptoffIMG_20200803_221621 +Description=keyscriptoff [Service] Type=oneshot @@ -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,11 +256,33 @@ 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 pi-nostart bind9 fi +if bitfolk; then + pi-nostart unbound +fi # this needs to be before installing pacserve so we have gpg conf. conflink rootsshsync @@ -260,6 +290,8 @@ if [[ -e /etc/rootsudoenv ]]; then source /etc/rootsudoenv fi + + ###### bash environment setup set +x err-allow @@ -289,6 +321,12 @@ fi case $HOSTNAME in bk) sudo sed -i --follow-symlinks 's/^ *hosts:.*/hosts: files dns myhostname/' /etc/nsswitch.conf + soff systemd-resolved + sudo ln -sf 127.0.0.1-resolv/stub-resolv.conf /etc/resolv.conf + sgo unbound + sgo named + # cautious measure to make sure bind is up + sleep 1 ;; *) # default is @@ -329,10 +367,11 @@ if bitfolk; then sudo sed -ri "/^127\./n;/[[:space:]]$HOSTNAME\$/d" /etc/hosts fi -# firefox exists but is 2 versions outdated +# libfdk just has some patent worries. +# https://www.gnu.org/licenses/license-list.en.html#fdk if isdeb && [[ $(debian-codename) == nabia ]]; then sudo dd of=/etc/apt/preferences.d/nabia-focal-missing <<'EOF' -Package: unrar-free firefox libfdk-aac1 ansible +Package: libfdk-aac1 Pin: release n=focal,o=Ubuntu Pin-Priority: 500 EOF @@ -347,7 +386,6 @@ Pin: release a=nabia-backports Pin-Priority: -100 EOF - fi @@ -428,26 +466,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 +612,9 @@ EOF ;; esac - +if bitfolk; then + sudo systemctl disable systemd-networkd +fi ##### setup email primary-setup