X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;ds=inline;f=distro-begin;h=74bbdffaae42ce830c1fa795bb966d8d7ecf4e3f;hb=dab96f8fa4c701db13ba734fa0c07b5d12fc8fae;hp=84ba7c4ac3c3f6ee68027842e254dbc2766c5cc0;hpb=08b99aa91f2bebb589df97db84e777de9fd28c99;p=distro-setup
diff --git a/distro-begin b/distro-begin
index 84ba7c4..74bbdff 100755
--- a/distro-begin
+++ b/distro-begin
@@ -1,22 +1,35 @@
#!/bin/bash
-# Copyright (C) 2016 Ian Kelling
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
+# Setup Ian's computers
+# Copyright (C) 2024 Ian Kelling
+
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
-# for setting up a new machine
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
+
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+#### for setting up a new machine
# usage: $0 [-r] [HOSTNAME]
# HOSTNAME changes the machine's hostname
+# Update target_down alerts in
+# /a/bin/ds/filesystem/etc/prometheus/rules/iank.yml
+#
+# Update hostnames in /b/ds/check-remote-mailqs
+# Update hostnames in /b/ds/machine_specific/*.hosts /p/c/machine_specific/*.hosts
+# Update hostnames in this file
+
+### end new machine setup
+
# tips:
# run any sudo command first so your pass is cached
# set the scrollback to unlimited in case something goes wrong
@@ -44,7 +57,7 @@
### make ssh interactive shell run better. for when running line interactively line by line
-sudo bash -c '/a/exe/ssh-emacs-setup'
+sudo bash -c '/a/exe/ssh-emacs-setup' || exit $?
##### setup error handling
interactive=true # set this to false to force set -x
@@ -52,7 +65,7 @@ interactive=true # set this to false to force set -x
if ! $interactive; then
set -x
fi
-source /a/bin/errhandle/err
+source /a/bin/bash-bear-trap/bash-bear
mkdir -p ~/.local
err-cleanup() {
@@ -100,7 +113,7 @@ source $script_dir/pkgs
set +x
source /a/bin/distro-functions/src/identify-distros
$interactive || set -x
-for f in kd x2 x3 x8 frodo tp li bk je demohost kw sy bo; do
+for f in kd x2 x3 x8 frodo tp li bk je demohost kw sy bo so; do
eval "$f() { [[ $HOSTNAME == $f ]]; }"
done
codename=$(debian-codename)
@@ -297,8 +310,8 @@ set +x
err-allow
source /etc/profile.d/environment.sh
export LC_USEBASHRC=t
-# shellcheck source=./.bashrc
-source ~/.bashrc
+# shellcheck source=./brc
+source ~/brc
err-catch
$interactive || set -x
@@ -371,7 +384,7 @@ if [[ -e $f ]]; then
fi
fi
done
- if $apparmor_reload && systemctl is-enabled apparmor; then
+ if $apparmor_reload && systemctl is-active apparmor; then
m ser reload apparmor
fi
fi
@@ -474,6 +487,7 @@ if isarch; then
fi
#### update all packages
+# shellcheck disable=SC2119 # obvious
pup
@@ -539,7 +553,7 @@ fi
# disabled temporarily
###### setup /i
# if home_network; then
-# tu /etc/fstab <<'EOF'
+# sudo /a/exe/teeu /etc/fstab <<'EOF'
# /i/w /w none bind,noauto 0 0
# /i/k /k none bind,noauto 0 0
# EOF
@@ -548,11 +562,11 @@ fi
# sudo chown $USER:user2 /kr
# fi
# if [[ $HOSTNAME == frodo ]]; then
-# tu /etc/fstab <<'EOF'
+# sudo /a/exe/teeu /etc/fstab <<'EOF'
# /k /kr none bind,noauto 0 0
# EOF
# else
-# tu /etc/fstab <<'EOF'
+# sudo /a/exe/teeu /etc/fstab <<'EOF'
# frodo:/k /kr nfs noauto 0 0
# EOF
# fi
@@ -622,7 +636,7 @@ if has_btrfs; then
fi
first_root_crypt=$(awk '$2 == "/" {print $1}' /etc/mtab)
- tu /etc/fstab < 2)) && echo ,compress=zstd ) 0 0
EOF
sudo mkdir -p $dir
@@ -635,7 +649,7 @@ fi
case $HOSTNAME in
kd)
- tu /etc/fstab <<'EOF'
+ sudo /a/exe/teeu /etc/fstab <<'EOF'
/dev/mapper/crypt_dev_ata-Samsung_SSD_870_QVO_8TB_S5VUNG0N900656V-part7 /d btrfs nofail,x-systemd.device-timeout=30s,x-systemd.mount-timeout=30s,noatime,compress=zstd,subvol=d 0 0
/d/m /i none bind,compress=zstd 0 0
EOF
@@ -651,7 +665,7 @@ EOF
fi
;;
frodo)
- tu /etc/fstab <<'EOF'
+ sudo /a/exe/teeu /etc/fstab <<'EOF'
/dev/mapper/crypt_dev_ata-ata-Hitachi_HDS722020ALA330_JK1121YAG7SXWS-part1 /i btrfs nofail,x-systemd.device-timeout=30s,x-systemd.mount-timeout=30s,noatime,subvol=i 0 0
EOF
if ! mountpoint /i &>/dev/null; then
@@ -701,8 +715,7 @@ if has_monitor; then
###### install X
- # no recommends due to this bug: https://trisquel.info/en/issues/26525
- pi --no-install-recommends i3
+ pi i3
##### install xinput
case $(distro-name) in