minor fixes
authorIan Kelling <ian@iankelling.org>
Mon, 18 Nov 2024 20:36:34 +0000 (15:36 -0500)
committerIan Kelling <ian@iankelling.org>
Mon, 18 Nov 2024 20:36:34 +0000 (15:36 -0500)
brc3
mail-setup
myx

diff --git a/brc3 b/brc3
index 09f5627e2e1792f28edace4fb658a7ecbc61771b..a0d864fded02a2978edf4d1f2d901ffdf527e0f9 100644 (file)
--- a/brc3
+++ b/brc3
@@ -116,3 +116,6 @@ schroot-cleanup() {
     schroot -e -c $session
   done
 }
+
+# misc bash tip. If we have a set of lines we want to know if one is a specific string, we can use =~ with:
+# regex="("$'\n'"|^)$string("$'\n'"|$)"
index 054a276109cacca506e1d4364ee9b755c6ec8171..2fb12eb579ee74c389e0e01b1e452a83031c2a32 100755 (executable)
@@ -820,14 +820,18 @@ EOF
 u /etc/systemd/system/mailnn.service <<'EOF'
 [Unit]
 Description=Network Namespace for mail vpn service that will live forever and cant fail
-# These are the same as unbound.service. Note, that if we had an After= for a later target
+# These are the same as unbound.service, except no wants=, which seems
+# to me could only make it run earlier, not later. Note, that if we had an
+# After= for a later target
 # than nss-lookup, systemd would just ignore unbound's After=mailnn.service and
 # start it first. It seems logically, that we should not need the Before= here,
 # but I'm not confident that systemd would do something unexpected and still start
-# unbound earlier than this.
+# unbound earlier than this. Also, it seems there is a bug in systemd 255.4 (ecne),
+# where if mailnn is disabled and is started by unbound's dependency, then we stop
+# unbound, change it to joinsnamespaceof=mailnn, then start it, it won't join the
+# existing namespace. So, for now, just avoid doing that.
 After=network.target
 Before=nss-lookup.target
-Wants=network-online.target
 
 [Service]
 Type=simple
@@ -841,8 +845,7 @@ EOF
 u /etc/systemd/system/mailbindwatchdog.service <<EOF
 [Unit]
 Description=Watchdog to restart services relying on systemd-resolved dir
-After=syslog.target network-online.target
-Wants=network-online.target
+After=network.target
 BindsTo=mailnn.service
 
 [Service]
@@ -4227,7 +4230,7 @@ case $HOSTNAME in
     :
     ;;
   *)
-    soff radicale mailclean.timer dovecot $spamd_ser rspamd $vpnser mailnn clamav-daemon
+    soff radicale mailclean.timer dovecot $spamd_ser rspamd $vpnser mailnn clamav-daemon unbound
     ;;
 esac
 
diff --git a/myx b/myx
index d3284b8c900f5eebada8b3efbeb4714b0c14c729..b3bfb9abf9a3d75d88d2cfe23d024c4851abef66 100755 (executable)
--- a/myx
+++ b/myx
@@ -53,9 +53,10 @@ Note: Uses GNU getopt options parsing style
 EOF
   exit $1
 }
-edid() {
-  card=$1
-  sha256sum </sys/class/drm/$card/edid | grep -oE '^.{10}'
+
+edid-test() {
+  local edid_10_prefix="$1"
+  sha256sum /sys/class/drm/*/edid | grep -Eq ^$edid_10_prefix &>/dev/null || [[ $? == 141 ]]
 }
 
 i3() {
@@ -101,14 +102,6 @@ primary_res=${primary_res_info%%+*}
 primary_x=${primary_res%x*}
 primary_y=${primary_res#*x}
 
-# monitor at chair by window
-winchair() {
-  if [[ $(edid card1-DP-1) == 192efbdcef ]]; then
-    return 0
-  fi
-  return 1
-}
-
 if [[ $secondary_out ]]; then
 
   x_offset=$primary_x
@@ -116,7 +109,13 @@ if [[ $secondary_out ]]; then
 
   # dp-1 moves from left to right sometimes, i just move it out of the
   # conditional and comment it as needed.
-  if winchair; then
+
+  winchair=false
+  if edid-test 192efbdcef; then
+    winchair=true
+  fi
+
+  if $winchair; then
     left_right_arg=--left-of
     x_offset=0
   fi
@@ -127,7 +126,7 @@ if [[ $secondary_out ]]; then
   #
   # And x decides the primary display should have non-full
   # resolution. This is a quick hopefully temporary fix.
-  if winchair; then
+  if $winchair; then
     xrandr --output eDP-1 --mode 1920x1200
   fi