summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xetc/NetworkManager/dispatcher.d/70-wifi-wired-exclusive16
-rw-r--r--etc/NetworkManager/system-connections/wired_internet.nmconnection16
-rw-r--r--etc/NetworkManager/system-connections/wired_two_computer.nmconnection19
-rw-r--r--etc/conf.d/distccd-armv88
-rw-r--r--etc/gai.conf65
l---------etc/localtime2
-rw-r--r--etc/makepkg.conf15
l---------etc/mimic/enu1u2c2.conf1
-rw-r--r--etc/mimic/wlan0.conf42
l---------etc/mimic/wwu1i4.conf1
-rw-r--r--etc/mkinitcpio.conf10
-rw-r--r--etc/myconf/cfgl_meta28
-rw-r--r--etc/nftables.conf5
-rw-r--r--etc/pacman.conf2
-rw-r--r--etc/pacman.d/hooks/linux-megi-mkinitcpio.hook16
-rw-r--r--etc/pacman.d/mirrorlist14
-rw-r--r--etc/services28
-rw-r--r--etc/ssh/ssh_config.d/my_ssh_config.conf2
-rw-r--r--etc/sudoers2
l---------etc/systemd/system/multi-user.target.wants/mimic@wlan0.service1
-rw-r--r--home/xyz/.abook/abookrc14
-rw-r--r--home/xyz/.bashrc20
-rw-r--r--home/xyz/.config/fcitx5/conf/pinyin.conf6
-rw-r--r--home/xyz/.config/fcitx5/config11
l---------home/xyz/.config/mpv/scripts/sponsorblock-minimal.lua1
-rw-r--r--home/xyz/.config/myconf/pacman_Qqme8
-rw-r--r--home/xyz/.config/myconf/pacman_Qqne14
-rw-r--r--home/xyz/.config/myconf/sye5
-rw-r--r--home/xyz/.config/myconf/syue20
-rw-r--r--home/xyz/.config/myconf/upd_rsync_files2
-rw-r--r--home/xyz/.config/neomutt/mail4
-rw-r--r--home/xyz/.config/neomutt/mail24
-rw-r--r--home/xyz/.config/neomutt/neomuttrc203
-rw-r--r--home/xyz/.config/sdcv_ordering2
-rwxr-xr-xhome/xyz/.local/bin/neomutt7
-rw-r--r--home/xyz/.mbsyncrc57
-rw-r--r--home/xyz/.mozilla/firefox/xxxxxxxx.fly/user-overrides.js7
-rw-r--r--home/xyz/.profile19
-rw-r--r--home/xyz/.ssh/config18
39 files changed, 524 insertions, 191 deletions
diff --git a/etc/NetworkManager/dispatcher.d/70-wifi-wired-exclusive b/etc/NetworkManager/dispatcher.d/70-wifi-wired-exclusive
deleted file mode 100755
index fa8d28ed..00000000
--- a/etc/NetworkManager/dispatcher.d/70-wifi-wired-exclusive
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/sh
-
-# https://wiki.archlinux.org/title/NetworkManager#Use_dispatcher_to_automatically_toggle_wireless_depending_on_LAN_cable_being_plugged_in
-
-if [ "$1" = "enu1u2c2" ]; then
- case "$2" in
- up)
- nmcli radio wifi off
- ;;
- down)
- nmcli radio wifi on
- ;;
- esac
-elif [ "$(nmcli -g GENERAL.STATE device show enu1u2c2)" = "20 (unavailable)" ]; then
- nmcli radio wifi on
-fi
diff --git a/etc/NetworkManager/system-connections/wired_internet.nmconnection b/etc/NetworkManager/system-connections/wired_internet.nmconnection
new file mode 100644
index 00000000..cc16b1b1
--- /dev/null
+++ b/etc/NetworkManager/system-connections/wired_internet.nmconnection
@@ -0,0 +1,16 @@
+[connection]
+id=wired_internet
+uuid=14f15798-8e3a-4d32-a189-1bd5a55bb926
+type=ethernet
+autoconnect-priority=1
+
+[ethernet]
+
+[ipv4]
+method=auto
+
+[ipv6]
+addr-gen-mode=stable-privacy
+method=auto
+
+[proxy]
diff --git a/etc/NetworkManager/system-connections/wired_two_computer.nmconnection b/etc/NetworkManager/system-connections/wired_two_computer.nmconnection
new file mode 100644
index 00000000..0f5d5f6e
--- /dev/null
+++ b/etc/NetworkManager/system-connections/wired_two_computer.nmconnection
@@ -0,0 +1,19 @@
+[connection]
+id=wired_two_computer
+uuid=d802bd70-8e5a-4dbc-b0ee-7857d765180c
+type=ethernet
+autoconnect-priority=2
+
+[ethernet]
+
+[ipv4]
+address1=10.0.3.2/32
+method=manual
+route1=10.0.3.1/32
+
+[ipv6]
+address1=fdc9:281f:4d7:9eec::2/64
+method=manual
+route1=fdc9:281f:4d7:9eec::1/128
+
+[proxy]
diff --git a/etc/conf.d/distccd-armv8 b/etc/conf.d/distccd-armv8
new file mode 100644
index 00000000..298e69b0
--- /dev/null
+++ b/etc/conf.d/distccd-armv8
@@ -0,0 +1,8 @@
+#
+# Parameters to be passed to distccd
+#
+# You must explicitly add IPs (or subnets) that are allowed to connect,
+# using the --allow switch. See the distccd manpage for more info.
+#
+
+DISTCC_ARGS="--allow 10.0.0.1/32 --log-level info --log-file /tmp/distccd-armv8.log --port 49710"
diff --git a/etc/gai.conf b/etc/gai.conf
deleted file mode 100644
index ac96e422..00000000
--- a/etc/gai.conf
+++ /dev/null
@@ -1,65 +0,0 @@
-# Configuration for getaddrinfo(3).
-#
-# So far only configuration for the destination address sorting is needed.
-# RFC 3484 governs the sorting. But the RFC also says that system
-# administrators should be able to overwrite the defaults. This can be
-# achieved here.
-#
-# All lines have an initial identifier specifying the option followed by
-# up to two values. Information specified in this file replaces the
-# default information. Complete absence of data of one kind causes the
-# appropriate default information to be used. The supported commands include:
-#
-# reload <yes|no>
-# If set to yes, each getaddrinfo(3) call will check whether this file
-# changed and if necessary reload. This option should not really be
-# used. There are possible runtime problems. The default is no.
-#
-# label <mask> <value>
-# Add another rule to the RFC 3484 label table. See section 2.1 in
-# RFC 3484. The default is:
-#
-#label ::1/128 0
-#label ::/0 1
-#label 2002::/16 2
-#label ::/96 3
-#label ::ffff:0:0/96 4
-#label fec0::/10 5
-#label fc00::/7 6
-#label 2001:0::/32 7
-#
-# This default differs from the tables given in RFC 3484 by handling
-# (now obsolete) site-local IPv6 addresses and Unique Local Addresses.
-# The reason for this difference is that these addresses are never
-# NATed while IPv4 site-local addresses most probably are. Given
-# the precedence of IPv6 over IPv4 (see below) on machines having only
-# site-local IPv4 and IPv6 addresses a lookup for a global address would
-# see the IPv6 be preferred. The result is a long delay because the
-# site-local IPv6 addresses cannot be used while the IPv4 address is
-# (at least for the foreseeable future) NATed. We also treat Teredo
-# tunnels special.
-#
-# precedence <mask> <value>
-# Add another rule to the RFC 3484 precedence table. See section 2.1
-# and 10.3 in RFC 3484. The default is:
-#
-#precedence ::1/128 50
-#precedence ::/0 40
-#precedence 2002::/16 30
-#precedence ::/96 20
-#precedence ::ffff:0:0/96 10
-#
-# For sites which prefer IPv4 connections change the last line to
-#
-precedence ::ffff:0:0/96 100
-
-#
-# scopev4 <mask> <value>
-# Add another rule to the RFC 6724 scope table for IPv4 addresses.
-# By default the scope IDs described in section 3.2 in RFC 6724 are
-# used. Changing these defaults should hardly ever be necessary.
-# The defaults are equivalent to:
-#
-#scopev4 ::ffff:169.254.0.0/112 2
-#scopev4 ::ffff:127.0.0.0/104 2
-#scopev4 ::ffff:0.0.0.0/96 14
diff --git a/etc/localtime b/etc/localtime
index 099d0edb..8abc2b0e 120000
--- a/etc/localtime
+++ b/etc/localtime
@@ -1 +1 @@
-/usr/share/zoneinfo/America/Los_Angeles \ No newline at end of file
+../usr/share/zoneinfo/Asia/Shanghai \ No newline at end of file
diff --git a/etc/makepkg.conf b/etc/makepkg.conf
index 112058ce..541847f0 100644
--- a/etc/makepkg.conf
+++ b/etc/makepkg.conf
@@ -42,7 +42,11 @@ CHOST="aarch64-unknown-linux-gnu"
# -march (or -mcpu) builds exclusively for an architecture
# -mtune optimizes for an architecture, but builds for whole processor family
CPPFLAGS=""
-CFLAGS="-march=native -O2 -pipe -fstack-protector-strong -fno-plt -fexceptions \
+# https://wiki.archlinux.org/title/Distcc#For_use_with_makepkg suggest "The
+# -march=native flag cannot be used in the CFLAGS and CXXFLAGS variables,
+# otherwise distccd will not distribute work to other machines." I want to use
+# distcc to let xyzinsp help compile, so I do not use -march=native on pp
+CFLAGS="-march=armv8-a -O2 -pipe -fstack-protector-strong -fno-plt -fexceptions \
-Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security \
-fstack-clash-protection \
-fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"
@@ -69,11 +73,16 @@ DEBUG_CXXFLAGS="$DEBUG_CFLAGS"
#-- check: Run the check() function if present in the PKGBUILD
#-- sign: Generate PGP signature file
#
-BUILDENV=(!distcc color !ccache check !sign)
+BUILDENV=(distcc color !ccache check !sign)
#
#-- If using DistCC, your MAKEFLAGS will also need modification. In addition,
#-- specify a space-delimited list of hosts running in the DistCC cluster.
-#DISTCC_HOSTS=""
+# I choose to use default --jobs on insp distccd-armv8, it is max insp threads
+# 4 + 2 = 6, I choose to use that here also.
+# https://wiki.archlinux.org/title/Distcc#For_use_with_makepkg suggest this
+# number to be insp's max number of threads, but I would like to use a higher
+# number to encourage pp distcc to use insp
+DISTCC_HOSTS="10.0.0.1:49710/6"
#
#-- Specify a directory for package building.
#BUILDDIR=/tmp/makepkg
diff --git a/etc/mimic/enu1u2c2.conf b/etc/mimic/enu1u2c2.conf
new file mode 120000
index 00000000..74ec9c19
--- /dev/null
+++ b/etc/mimic/enu1u2c2.conf
@@ -0,0 +1 @@
+wlan0.conf \ No newline at end of file
diff --git a/etc/mimic/wlan0.conf b/etc/mimic/wlan0.conf
new file mode 100644
index 00000000..68160109
--- /dev/null
+++ b/etc/mimic/wlan0.conf
@@ -0,0 +1,42 @@
+# This is an example configuration for Mimic. For each interface, you may
+# create <interface>.conf in /etc/mimic and in the following format to
+# pass arguments to Mimic's systemd service (mimic@<interface>.service).
+#
+# Each configuration should be in the format of `key=value`. There might be
+# whitespaces between key, '=' and value, and should be kept in one line. Empty
+# lines and ones that start with '#' are ignored.
+
+# Sets log verbosity. Log level equal to or higher (in number) than log
+# verbosity will be discarded. Both number and string matching log levels are
+# accepted. Number must be greater than or equal to 0. Defaults to info (2).
+#
+# Log levels:
+# 0 - error (cannot be discarded)
+# 1 - warn
+# 2 - info
+# 3 - debug
+# 4 - trace
+#log.verbosity = trace
+
+# Specify link layer type, can be 'eth' (Ethernet) or 'none' (no L2 header,
+# like PPP or TUN). Defaults to 'eth'.
+#link_type = eth
+
+# Force XDP attach mode, either 'skb' or 'native'. Defaults to 'native' if
+# target interface supports it, or 'skb'.
+#xdp_mode = skb
+
+# Use libxdp instead of libbpf to load XDP program. libxdp supports chaining
+# multiple XDP programs on one interface. Mimic loads libxdp dynamically using
+# dlopen. Defaults to false.
+#use_libxdp = false
+
+# Whether to always use maximum window size in TCP packets. Defaults to false.
+#max_window = false
+
+# Specifies which packets should be processed by Mimic. Can be set more
+# than once to allow parallel rules (OR'ed).
+#
+# Filter format follows `(local|remote)=IP:port`. For IPv6, IP addresses
+# need to be surrounded by square brackets. See below for examples.
+filter = remote=104.224.159.210:54635
diff --git a/etc/mimic/wwu1i4.conf b/etc/mimic/wwu1i4.conf
new file mode 120000
index 00000000..74ec9c19
--- /dev/null
+++ b/etc/mimic/wwu1i4.conf
@@ -0,0 +1 @@
+wlan0.conf \ No newline at end of file
diff --git a/etc/mkinitcpio.conf b/etc/mkinitcpio.conf
index 6e7b85b1..1dd9ace0 100644
--- a/etc/mkinitcpio.conf
+++ b/etc/mkinitcpio.conf
@@ -34,21 +34,21 @@ FILES=()
#
## This setup will autodetect all modules for your system and should
## work as a sane default
-# HOOKS=(base udev autodetect modconf block filesystems fsck)
+# HOOKS=(base udev autodetect microcode modconf block filesystems fsck)
#
## This setup will generate a 'full' image which supports most systems.
## No autodetection is done.
-# HOOKS=(base udev modconf block filesystems fsck)
+# HOOKS=(base udev microcode modconf block filesystems fsck)
#
## This setup assembles a mdadm array with an encrypted root file system.
## Note: See 'mkinitcpio -H mdadm_udev' for more information on RAID devices.
-# HOOKS=(base udev modconf keyboard keymap consolefont block mdadm_udev encrypt filesystems fsck)
+# HOOKS=(base udev microcode modconf keyboard keymap consolefont block mdadm_udev encrypt filesystems fsck)
#
## This setup loads an lvm2 volume group.
-# HOOKS=(base udev modconf block lvm2 filesystems fsck)
+# HOOKS=(base udev microcode modconf block lvm2 filesystems fsck)
#
## This will create a systemd based initramfs which loads an encrypted root filesystem.
-# HOOKS=(base systemd autodetect modconf kms keyboard sd-vconsole sd-encrypt block filesystems fsck)
+# HOOKS=(base systemd autodetect microcode modconf kms keyboard sd-vconsole sd-encrypt block filesystems fsck)
#
## NOTE: If you have /usr on a separate partition, you MUST include the
# usr and fsck hooks.
diff --git a/etc/myconf/cfgl_meta b/etc/myconf/cfgl_meta
index 1a046469..d08682e4 100644
--- a/etc/myconf/cfgl_meta
+++ b/etc/myconf/cfgl_meta
@@ -7,9 +7,10 @@
700 root root //etc/.cfgl/info
600 root root //etc/.cfgl/info/sparse-checkout
644 root root //etc/chrony.conf
+755 root root //etc/conf.d
+644 root root //etc/conf.d/distccd-armv8
600 root root //etc/crypttab
644 root root //etc/fstab
-644 root root //etc/gai.conf
644 root root //etc/hostname
644 root root //etc/locale.conf
644 root root //etc/locale.gen
@@ -17,33 +18,38 @@
644 root root //etc/makepkg.conf
755 root root //etc/makepkg.conf.d
644 root root //etc/makepkg.conf.d/rust.conf
+755 root root //etc/mimic
+777 root root //etc/mimic/enu1u2c2.conf
+644 root root //etc/mimic/wlan0.conf
+777 root root //etc/mimic/wwu1i4.conf
644 root root //etc/mkinitcpio.conf
755 root root //etc/myconf
600 root root //etc/myconf/cfgl_meta
755 root root //etc/NetworkManager
-755 root root //etc/NetworkManager/dispatcher.d
-755 root root //etc/NetworkManager/dispatcher.d/70-wifi-wired-exclusive
+700 root root //etc/NetworkManager/system-connections
+600 root root //etc/NetworkManager/system-connections/wired_internet.nmconnection
+600 root root //etc/NetworkManager/system-connections/wired_two_computer.nmconnection
644 root root //etc/nftables.conf
644 root root //etc/pacman.conf
755 root root //etc/pacman.d
755 root root //etc/pacman.d/gnupg
644 root root //etc/pacman.d/gnupg/gpg.conf
-755 root root //etc/pacman.d/hooks
-644 root root //etc/pacman.d/hooks/linux-megi-mkinitcpio.hook
644 root root //etc/pacman.d/mirrorlist
777 root root //etc/resolv.conf
644 root root //etc/services
755 root root //etc/ssh
-755 root root //etc/ssh/ssh_config.d
-644 root root //etc/ssh/ssh_config.d/my_ssh_config.conf
644 root root //etc/ssh/sshd_config
440 root root //etc/sudoers
755 root root //etc/systemd
755 root root //etc/systemd/system
+755 root root //etc/systemd/system/multi-user.target.wants
+777 root root //etc/systemd/system/multi-user.target.wants/mimic@wlan0.service
755 root root //etc/systemd/system/paccache.service.d
644 root root //etc/systemd/system/paccache.service.d/10-remove-all.conf
755 root root //home
700 xyz wheel //home/xyz
+700 xyz wheel //home/xyz/.abook
+644 xyz wheel //home/xyz/.abook/abookrc
644 xyz wheel //home/xyz/.bashrc
755 xyz wheel //home/xyz/.config
755 xyz wheel //home/xyz/.config/alacritty
@@ -69,14 +75,16 @@
600 xyz wheel //home/xyz/.config/mimeapps.list
700 xyz wheel //home/xyz/.config/mpv
644 xyz wheel //home/xyz/.config/mpv/mpv.conf
-755 xyz wheel //home/xyz/.config/mpv/scripts
-777 xyz wheel //home/xyz/.config/mpv/scripts/sponsorblock-minimal.lua
755 xyz wheel //home/xyz/.config/myconf
644 xyz wheel //home/xyz/.config/myconf/pacman_Qqme
644 xyz wheel //home/xyz/.config/myconf/pacman_Qqne
644 xyz wheel //home/xyz/.config/myconf/sye
644 xyz wheel //home/xyz/.config/myconf/syue
644 xyz wheel //home/xyz/.config/myconf/upd_rsync_files
+755 xyz wheel //home/xyz/.config/neomutt
+644 xyz wheel //home/xyz/.config/neomutt/mail
+644 xyz wheel //home/xyz/.config/neomutt/mail2
+644 xyz wheel //home/xyz/.config/neomutt/neomuttrc
755 xyz wheel //home/xyz/.config/nvim
644 xyz wheel //home/xyz/.config/nvim/init.vim
755 xyz wheel //home/xyz/.config/phosh
@@ -98,6 +106,7 @@
755 xyz wheel //home/xyz/.local
755 xyz wheel //home/xyz/.local/bin
755 xyz wheel //home/xyz/.local/bin/alacritty
+755 xyz wheel //home/xyz/.local/bin/neomutt
755 xyz wheel //home/xyz/.local/bin/xdg-terminal-exec
755 xyz wheel //home/xyz/.local/share
700 xyz wheel //home/xyz/.local/share/applications
@@ -106,6 +115,7 @@
700 xyz wheel //home/xyz/.local/share/fcitx5
700 xyz wheel //home/xyz/.local/share/fcitx5/punctuation
600 xyz wheel //home/xyz/.local/share/fcitx5/punctuation/punc.mb.zh_CN
+644 xyz wheel //home/xyz/.mbsyncrc
700 xyz wheel //home/xyz/.mozilla
700 xyz wheel //home/xyz/.mozilla/firefox
755 xyz wheel //home/xyz/.mozilla/firefox/xxxxxxxx.fly
diff --git a/etc/nftables.conf b/etc/nftables.conf
index ff49a1eb..e70f2073 100644
--- a/etc/nftables.conf
+++ b/etc/nftables.conf
@@ -22,8 +22,9 @@ table inet my_table {
tcp dport ssh accept
tcp dport qrcp accept
- #udp dport mdns accept
- #tcp dport iperf3 accept
+ udp dport mdns accept
+ tcp dport iperf3 accept
+ udp dport wireguard accept
pkttype host limit rate 5/second counter reject with icmpx type admin-prohibited
counter comment "count any other traffic"
diff --git a/etc/pacman.conf b/etc/pacman.conf
index 1ff36947..4c32e0ad 100644
--- a/etc/pacman.conf
+++ b/etc/pacman.conf
@@ -44,6 +44,8 @@ SigLevel = Required DatabaseOptional
LocalFileSigLevel = Optional
#RemoteFileSigLevel = Required
+DisableDownloadTimeout
+
# NOTE: You must run `pacman-key --init` before first using pacman; the local
# keyring can then be populated with the keys of all official Arch Linux ARM
# packagers with `pacman-key --populate archlinuxarm`.
diff --git a/etc/pacman.d/hooks/linux-megi-mkinitcpio.hook b/etc/pacman.d/hooks/linux-megi-mkinitcpio.hook
deleted file mode 100644
index 24d44ab7..00000000
--- a/etc/pacman.d/hooks/linux-megi-mkinitcpio.hook
+++ /dev/null
@@ -1,16 +0,0 @@
-# Sometimes after linux-megi upgrade, reboot results into osk-sdl errors so I can't decrypt FDE.
-# Maybe it is because linux-megi does not have `/usr/lib/modules/*/vmlinuz`, this cause /usr/share/libalpm/hooks/90-mkinitcpio-install.hook to not run when linux-megi upgrade, which cause mkinitcpio not run.
-# Also, 90-linux-megi.hook does not set linux-megi as target and it seems cause it not running when linux-megi upgrade.
-# I'm not sure what's the cause of the issue. This pacman hook is just a dirty workaround, because it may cause mkinitcpio run twice.
-[Trigger]
-Type = Package
-Operation = Install
-Operation = Upgrade
-Target = linux-megi
-
-[Action]
-Description = My workaround to mkinitcpio after linux-megi upgrade...
-When = PostTransaction
-Exec = /usr/bin/mkinitcpio -P
-Depends = linux-megi
-
diff --git a/etc/pacman.d/mirrorlist b/etc/pacman.d/mirrorlist
index 2c5d8711..0f8b181c 100644
--- a/etc/pacman.d/mirrorlist
+++ b/etc/pacman.d/mirrorlist
@@ -1,6 +1,6 @@
#
# Arch Linux ARM repository mirrorlist
-# Generated on 2023-02-06
+# Generated on 2025-10-26
#
## Geo-IP based mirror selection and load balancing
@@ -21,7 +21,6 @@
# Server = http://de4.mirror.archlinuxarm.org/$arch/$repo
## Falkenstein
# Server = http://eu.mirror.archlinuxarm.org/$arch/$repo
-# Server = http://de5.mirror.archlinuxarm.org/$arch/$repo
### Greece
## Athens
@@ -31,23 +30,12 @@
## Budapest
# Server = http://hu.mirror.archlinuxarm.org/$arch/$repo
-### Japan
-## Tokyo
-# Server = http://jp.mirror.archlinuxarm.org/$arch/$repo
-
-### Singapore
-# Server = http://sg.mirror.archlinuxarm.org/$arch/$repo
-
### Taiwan
## Hsinchu
# Server = http://tw2.mirror.archlinuxarm.org/$arch/$repo
## New Taipei City
# Server = http://tw.mirror.archlinuxarm.org/$arch/$repo
-### United Kingdom
-## London
-# Server = http://uk.mirror.archlinuxarm.org/$arch/$repo
-
### United States
## California
Server = http://ca.us.mirror.archlinuxarm.org/$arch/$repo
diff --git a/etc/services b/etc/services
index 9a7d7002..740de1df 100644
--- a/etc/services
+++ b/etc/services
@@ -455,6 +455,7 @@ fxp 286/tcp
fxp 286/udp
k-block 287/tcp
k-block 287/udp
+tacacss 300/tcp
novastorbakcup 308/tcp
novastorbakcup 308/udp
entrusttime 309/tcp
@@ -1315,12 +1316,6 @@ pkix-3-ca-ra 829/tcp
pkix-3-ca-ra 829/udp
netconf-ssh 830/tcp
netconf-ssh 830/udp
-netconf-beep 831/tcp
-netconf-beep 831/udp
-netconfsoaphttp 832/tcp
-netconfsoaphttp 832/udp
-netconfsoapbeep 833/tcp
-netconfsoapbeep 833/udp
dhcp-failover2 847/tcp
dhcp-failover2 847/udp
gdoi 848/tcp
@@ -7675,8 +7670,8 @@ perrla 4313/tcp
choiceview-agt 4314/tcp
choiceview-clt 4316/tcp
opentelemetry 4317/tcp
-fox-skytale 4319/tcp
-fox-skytale 4319/udp
+skytale 4319/tcp
+skytale 4319/udp
fdt-rcatp 4320/tcp
fdt-rcatp 4320/udp
rwhois 4321/tcp
@@ -7799,8 +7794,8 @@ netcabinet-com 4409/tcp
itwo-server 4410/tcp
found 4411/tcp
smallchat 4412/udp
-avi-nms 4413/tcp
-avi-nms-disc 4413/udp
+vision-mon 4413/tcp
+vision-mon-disc 4413/udp
updog 4414/tcp
brcd-vr-req 4415/tcp
pjj-player 4416/tcp
@@ -7875,6 +7870,7 @@ awacs-ice 4488/udp
ipsec-nat-t 4500/tcp
ipsec-nat-t 4500/udp
a25-fap-fgw 4502/sctp
+m-bus-oms 4503/udp
armagetronad 4534/udp
ehs 4535/tcp
ehs 4535/udp
@@ -8094,6 +8090,7 @@ vxlan-gpe 4790/udp
roce 4791/udp
unified-bus 4792/tcp
unified-bus 4792/udp
+uet 4793/udp
iims 4800/tcp
iims 4800/udp
iwec 4801/tcp
@@ -10479,6 +10476,7 @@ odnsp 9966/udp
xybrid-rt 9978/tcp
visweather 9979/tcp
pumpkindb 9981/tcp
+kaostransport 9986/tcp
dsm-scm-target 9987/tcp
dsm-scm-target 9987/udp
nsesrvr 9988/tcp
@@ -11014,6 +11012,7 @@ notezilla-lan 21010/tcp
trinket-agent 21212/tcp
cohesity-agent 21213/tcp
aigairserver 21221/tcp
+xahaud 21337/tcp
rdm-tfs 21553/tcp
dfserver 21554/tcp
dfserver 21554/udp
@@ -11128,6 +11127,7 @@ binkp 24554/tcp
binkp 24554/udp
bilobit 24577/tcp
bilobit-update 24577/udp
+udpstp 24601/udp
sdtvwcam 24666/tcp
canditv 24676/tcp
canditv 24676/udp
@@ -11443,8 +11443,8 @@ ciscocsdb 43441/udp
z-wave-tunnel 44123/tcp
pmcd 44321/tcp
pmcd 44321/udp
-pmcdproxy 44322/tcp
-pmcdproxy 44322/udp
+pmproxy 44322/tcp
+pmproxy 44322/udp
pmwebapi 44323/tcp
cognex-dataman 44444/tcp
acronis-backup 44445/tcp
@@ -11520,7 +11520,5 @@ nusdp-disc 49001/udp
inspider 49150/tcp
# my services
qrcp 49153/tcp
-# My ISP verizon block incomming to gateway port 22. So I need to use another port to ssh into my home server.
-# https://www.reddit.com/r/verizon/comments/to1q43/verizon_5g_home_internet_blocking_ssh_service_port/
-ssh-isp 49812/tcp
+wireguard 49432/udp
iperf3 53497/tcp
diff --git a/etc/ssh/ssh_config.d/my_ssh_config.conf b/etc/ssh/ssh_config.d/my_ssh_config.conf
deleted file mode 100644
index a5f1fca3..00000000
--- a/etc/ssh/ssh_config.d/my_ssh_config.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-Host flylightning.xyz
- Port ssh-isp
diff --git a/etc/sudoers b/etc/sudoers
index 94678ba5..faf0e3f7 100644
--- a/etc/sudoers
+++ b/etc/sudoers
@@ -128,7 +128,7 @@ root ALL=(ALL:ALL) ALL
# %wheel ALL=(ALL:ALL) NOPASSWD: ALL
## Uncomment to allow members of group sudo to execute any command
-# %sudo ALL=(ALL:ALL) ALL
+# %sudo ALL=(ALL:ALL) ALL
## Uncomment to allow any user to run sudo if they know the password
## of the user they are running the command as (root by default).
diff --git a/etc/systemd/system/multi-user.target.wants/mimic@wlan0.service b/etc/systemd/system/multi-user.target.wants/mimic@wlan0.service
new file mode 120000
index 00000000..dce9a731
--- /dev/null
+++ b/etc/systemd/system/multi-user.target.wants/mimic@wlan0.service
@@ -0,0 +1 @@
+/usr/lib/systemd/system/mimic@.service \ No newline at end of file
diff --git a/home/xyz/.abook/abookrc b/home/xyz/.abook/abookrc
new file mode 100644
index 00000000..59b2081d
--- /dev/null
+++ b/home/xyz/.abook/abookrc
@@ -0,0 +1,14 @@
+# bad default coloring, I dislike
+#set use_colors=true
+
+# '$BROWSER' does not work
+set www_command="$BROWSER"
+
+set index_format=" {name:22} {email:30} {phone:14|workphone|mobile|fax|misc_phones}"
+
+field misc_phones = "Misc Phones", list
+
+view CONTACT = name, email
+view ADDRESS = address, address2, city, state, zip, country
+view PHONE = phone, workphone, fax, mobile, misc_phones
+view OTHER = nick, url, notes, anniversary, groups
diff --git a/home/xyz/.bashrc b/home/xyz/.bashrc
index 86080ad2..8174426a 100644
--- a/home/xyz/.bashrc
+++ b/home/xyz/.bashrc
@@ -53,7 +53,12 @@ alias c=cfg
alias cri='curl -Is'
alias crig='curl -Is www.google.com'
alias d='sdcv --color'
-alias e='"$PAGER"'
+# Using '"$PAGER"' will cause complete-alias unable to complete "e <tab>" and
+# "e --<tab>". I don't know why alias v='"$EDITOR"' does not have this issue, I
+# guess maybe it is related to less has some fzf completion? see `complete -p
+# less` output is "complete -F _fzf_path_completion less". Temporary ignore
+# shellcheck warnings about this if not met any issues.
+alias e="$PAGER"
# https://superuser.com/a/1202867
alias fdu="find . -maxdepth 1 -execdir du -sh '{}' \+ | sort -h"
alias g=git
@@ -63,13 +68,17 @@ alias grr='grep --color=auto -iIR'
alias h=htop
alias i=nsxiv
alias j=journalctl
+alias ju='journalctl --user'
alias l='ls --color=auto -A --group-directories-first'
alias ll='ls --color=auto -lAh --group-directories-first'
#alias lo=loop
alias lop='loop ping'
alias lopd='loop ping 9.9.9.9'
alias m=man
+alias mpf='mpra -c "$HOME/programs/repos/fly/any/fsh-git"; sudo pacman -Sy fsh-git --noconfirm'
alias p=pacman
+# Pacman Qqne Redirect
+alias pqr='pacman -Qqne > "$XDG_CONFIG_HOME/myconf/pacman_Qqne"; pacman -Qqme > "$XDG_CONFIG_HOME/myconf/pacman_Qqme"'
alias pt=pactree
alias pu=paru
alias qre='qrencode -t utf8i -m 1'
@@ -80,10 +89,6 @@ alias sa='ssh-add -l || ssh-add'
alias se='sudo -E '
alias sp='ssh pp'
alias spd='speedtest; librespeed-cli'
-alias sst='ssh studio'
-# \" to consider $HOME contain space, need \ else " will be expanded locally, need \$ else $HOME will expand locally
-# can test with: alias mytest='ssh studio for i in \"\$SSH_CONNECTION\"\; do echo \$i\; echo a\; done'
-alias sstm='ssh -t -- studio mpra -c \"\$HOME/programs/repos/fly/any/fsh-git\"'
# can test this mess with `alias tt='echo "\$haha \"lala\""'`
alias sun='printf "set \$Longitude \"-121.89\"\nset \$Latitude \"37.34\"\nrem [sunrise()] msg sunrise\nrem [sunset()] msg sunset" | remind -n -'
# another way:
@@ -94,6 +99,9 @@ alias y=systemctl
alias yd='systemctl list-dependencies --all'
alias ydr='systemctl list-dependencies --all --reverse'
alias ye='systemctl list-unit-files --state=enabled'
+# sYstemctl Enabled Redirect
+alias yer='systemctl list-unit-files --state=enabled > "$XDG_CONFIG_HOME/myconf/sye"; systemctl --user list-unit-files --state=enabled > "$XDG_CONFIG_HOME/myconf/syue"'
+alias yr='systemctl restart'
alias ys='systemctl status'
alias yu='systemctl --user'
alias yue='systemctl --user list-unit-files --state=enabled'
@@ -112,6 +120,7 @@ alias vrm='"$EDITOR" "$XDG_DOCUMENTS_DIR/notes/others/recurring_maintenance.md"'
alias vt='"$EDITOR" "$XDG_DOCUMENTS_DIR/notes/others/tmp_mobile_notes.md"'
alias xmr='monero-wallet-cli --config-file="$HOME/.bitmonero/monero-wallet-cli.conf"'
alias xmrds='monerod status; monerod print_net_stats'
+alias xr='xset r rate 250 30'
alias za='zoxide add'
#alias zq='zoxide query'
#alias zqi='zoxide query -i'
@@ -126,6 +135,7 @@ alias glmark2='glmark2 --fullscreen --annotate'
alias grep='grep --color=auto'
#alias info='info --vi-keys'
alias ls='ls --color=auto'
+alias nethogs='nethogs -C'
alias radeontop='radeontop -c'
alias rem='rem -@'
alias remind='remind -@'
diff --git a/home/xyz/.config/fcitx5/conf/pinyin.conf b/home/xyz/.config/fcitx5/conf/pinyin.conf
index 9d561f07..dce6f87b 100644
--- a/home/xyz/.config/fcitx5/conf/pinyin.conf
+++ b/home/xyz/.config/fcitx5/conf/pinyin.conf
@@ -10,8 +10,10 @@ SpellEnabled=True
SymbolsEnabled=True
# Enable Chaizi
ChaiziEnabled=True
-# Enable Characters in Unicode CJK Extension B
+# Enable more Characters after Unicode CJK Extension B
ExtBEnabled=True
+# Show stroke candidates when typing with h(一), s(丨), p(丿), n(㇏), z(𠃍)
+StrokeCandidateEnabled=True
# Enable Cloud Pinyin
CloudPinyinEnabled=False
# Cloud Pinyin Index
@@ -127,6 +129,8 @@ C_CH=False
F_H=False
# l <-> n
L_N=False
+# l <-> r
+L_R=False
# s <-> sh
S_SH=False
# z <-> zh
diff --git a/home/xyz/.config/fcitx5/config b/home/xyz/.config/fcitx5/config
index 147e612e..db5b9eb5 100644
--- a/home/xyz/.config/fcitx5/config
+++ b/home/xyz/.config/fcitx5/config
@@ -15,6 +15,8 @@ EnumerateGroupBackwardKeys=
ActivateKeys=
# Deactivate Input Method
DeactivateKeys=
+# Time limit in milliseconds for triggering modifier key shortcuts
+ModifierOnlyKeyTimeout=250
[Hotkey/TriggerKeys]
0=Control+space
@@ -40,6 +42,8 @@ DeactivateKeys=
[Behavior]
# Active By Default
ActiveByDefault=False
+# Reset state on Focus In
+resetStateWhenFocusIn=No
# Share Input State
ShareInputState=No
# Show preedit in application
@@ -62,6 +66,12 @@ CustomXkbOption=
EnabledAddons=
# Preload input method to be used by default
PreloadInputMethod=True
+# Allow input method in the password field
+AllowInputMethodForPassword=False
+# Show preedit text when typing password
+ShowPreeditForPassword=False
+# Interval of saving user data in minutes
+AutoSavePeriod=30
[Behavior/DisabledAddons]
0=clipboard
@@ -71,5 +81,4 @@ PreloadInputMethod=True
4=kimpanel
5=notificationitem
6=spell
-7=wayland
diff --git a/home/xyz/.config/mpv/scripts/sponsorblock-minimal.lua b/home/xyz/.config/mpv/scripts/sponsorblock-minimal.lua
deleted file mode 120000
index cb3390f8..00000000
--- a/home/xyz/.config/mpv/scripts/sponsorblock-minimal.lua
+++ /dev/null
@@ -1 +0,0 @@
-/usr/lib/mpv/sponsorblock-minimal.lua \ No newline at end of file
diff --git a/home/xyz/.config/myconf/pacman_Qqme b/home/xyz/.config/myconf/pacman_Qqme
index b2eb4596..d00dab80 100644
--- a/home/xyz/.config/myconf/pacman_Qqme
+++ b/home/xyz/.config/myconf/pacman_Qqme
@@ -1,13 +1,16 @@
+abook
absolutely-proprietary
arkenfox-user.js
-atool2-git
bash-complete-alias
cht.sh-git
dashbinsh
+distccd-arch-arm
f3
+gtk2fontsel
htop-vim
koreader-bin
librespeed-cli-bin
+mimic-bpf-git
mpv-sponsorblock-minimal-git
neovim-plug
networkmanager-dispatcher-chrony
@@ -24,11 +27,12 @@ stardict-oxford-gb-formated
stardict-urban
stardict-wikt-en-en
stardict-wordnet
+swgp-go
task-spooler
tio
tldr-sh
ttf-adobe-kaiti
-ttf-gelasio-ib
+ttf-gelasio
typioca-git
units
yt-dlp-drop-in
diff --git a/home/xyz/.config/myconf/pacman_Qqne b/home/xyz/.config/myconf/pacman_Qqne
index 9ddce409..1bd66764 100644
--- a/home/xyz/.config/myconf/pacman_Qqne
+++ b/home/xyz/.config/myconf/pacman_Qqne
@@ -1,4 +1,3 @@
-7zip
alacritty
alsa-utils
archlinuxarm-keyring
@@ -9,6 +8,7 @@ base
base-devel
bash-completion
bcprov
+bpf
browserpass
browserpass-firefox
busybox
@@ -16,7 +16,6 @@ chatty
chrony
clinfo
cloc
-cpio
danctnix-keyring
danctnix-phosh-ui-meta
danctnix-tweaks-app-phosh
@@ -30,6 +29,7 @@ distcc
dos2unix
duplicity
enca
+ethtool
evince-mobile
evtest
exfatprogs
@@ -38,6 +38,7 @@ fastfetch
ffmpeg
fio
firefox
+flatpak
fsh-git
fwupd
fzf
@@ -55,7 +56,6 @@ go
gsl
gst-plugins-bad
gst-plugins-good
-gtk2fontsel
gtk3
hdparm
hunspell-en_us
@@ -67,6 +67,7 @@ ioping
iotop-c
iperf3
irqbalance
+isync
java-commons-lang
jdk-openjdk
jq
@@ -75,12 +76,12 @@ ldns
lf
libjxl
libotr
+linux-megi-headers
llvm
lostfiles
loupe
lsof
man-pages
-megapixels
mesa
mesa-utils
meson
@@ -92,6 +93,7 @@ mpv-mpris
mupdf-tools
namcap
nawk
+neomutt
neovim
net-tools
nethogs
@@ -142,8 +144,8 @@ smartmontools
speedtest-cli
splix
strace
-stress
sysbench
+tcpdump
tesseract-data-chi_sim
tesseract-data-chi_tra
tesseract-data-eng
@@ -155,7 +157,6 @@ tree
ttf-caladea
ttf-carlito
ttf-liberation
-unrar-free
unzip
usbutils
vdpauinfo
@@ -172,6 +173,5 @@ xorg-xwininfo
yarn
yt-dlp
zbar
-zip
zoxide
zramswap
diff --git a/home/xyz/.config/myconf/sye b/home/xyz/.config/myconf/sye
index 3beb745b..532ba1e5 100644
--- a/home/xyz/.config/myconf/sye
+++ b/home/xyz/.config/myconf/sye
@@ -2,7 +2,7 @@ UNIT FILE STATE PRESET
atd.service enabled disabled
chronyd.service enabled disabled
danctnix-tweakd.service enabled disabled
-eg25-manager.service enabled disabled
+distccd-armv8.service enabled disabled
getty@.service enabled enabled
irqbalance.service enabled disabled
ModemManager.service enabled disabled
@@ -12,6 +12,7 @@ NetworkManager.service enabled disabled
nftables.service enabled disabled
phosh.service enabled disabled
sshd.service enabled disabled
+swgp-go.service enabled disabled
systemd-resolved.service enabled enabled
zramswap.service enabled disabled
cups.socket enabled disabled
@@ -21,4 +22,4 @@ paccache.timer enabled disabled
pacman-filesdb-refresh.timer enabled disabled
units_currency.timer enabled disabled
-21 unit files listed.
+22 unit files listed.
diff --git a/home/xyz/.config/myconf/syue b/home/xyz/.config/myconf/syue
index 06f7fe6d..859d63d0 100644
--- a/home/xyz/.config/myconf/syue
+++ b/home/xyz/.config/myconf/syue
@@ -1,12 +1,12 @@
-UNIT FILE STATE PRESET
-mmsd-tng.service enabled enabled
-ssh-agent.service enabled enabled
-vvmd.service enabled enabled
-wireplumber.service enabled enabled
-xdg-user-dirs-update.service enabled enabled
-gnome-keyring-daemon.socket enabled enabled
-p11-kit-server.socket enabled enabled
-pipewire-pulse.socket enabled enabled
-pipewire.socket enabled enabled
+UNIT FILE STATE PRESET
+mmsd-tng.service enabled enabled
+ssh-agent.service enabled enabled
+vvmd.service enabled enabled
+wireplumber.service enabled enabled
+xdg-user-dirs.service enabled enabled
+gnome-keyring-daemon.socket enabled enabled
+p11-kit-server.socket enabled enabled
+pipewire-pulse.socket enabled enabled
+pipewire.socket enabled enabled
9 unit files listed.
diff --git a/home/xyz/.config/myconf/upd_rsync_files b/home/xyz/.config/myconf/upd_rsync_files
index 17734a06..876f049c 100644
--- a/home/xyz/.config/myconf/upd_rsync_files
+++ b/home/xyz/.config/myconf/upd_rsync_files
@@ -1 +1 @@
-/home/xyz/programs
+/home/xyz/programs/repos
diff --git a/home/xyz/.config/neomutt/mail b/home/xyz/.config/neomutt/mail
new file mode 100644
index 00000000..9c5df856
--- /dev/null
+++ b/home/xyz/.config/neomutt/mail
@@ -0,0 +1,4 @@
+set smtp_url='smtps://xyz@mail.flylightning.xyz'
+set folder="$XDG_DATA_HOME/mail/xyz@mail.flylightning.xyz"
+# need to put mailboxes here in each accuont, don't only put one in neomuttrc, else can't switch accounts
+mailboxes =INBOX =Sent =Drafts =Archive =Junk =Trash
diff --git a/home/xyz/.config/neomutt/mail2 b/home/xyz/.config/neomutt/mail2
new file mode 100644
index 00000000..82663aa8
--- /dev/null
+++ b/home/xyz/.config/neomutt/mail2
@@ -0,0 +1,4 @@
+set smtp_url='smtps://xyz@mail2.flylightning.xyz'
+set folder="$XDG_DATA_HOME/mail/xyz@mail2.flylightning.xyz"
+# need to put mailboxes here in each accuont, don't only put one in neomuttrc, else can't switch accounts
+mailboxes =INBOX =Sent =Drafts =Archive =Junk =Trash
diff --git a/home/xyz/.config/neomutt/neomuttrc b/home/xyz/.config/neomutt/neomuttrc
new file mode 100644
index 00000000..afd5aa75
--- /dev/null
+++ b/home/xyz/.config/neomutt/neomuttrc
@@ -0,0 +1,203 @@
+# references:
+# https://github.com/LukeSmithxyz/mutt-wizard
+# https://wiki.archlinux.org/title/Mutt
+# https://videos.lukesmith.xyz/
+# https://docs.kernel.org/process/email-clients.html
+# https://blog.flaport.net/configuring-neomutt-for-email.html
+
+# maybe useful:
+# `man neomuttrc`
+# `man neomutt`
+# /etc/neomutt
+# https://neomutt.org/guide/gettingstarted.html
+# /usr/share/doc/neomutt/optionalfeatures.html
+# has hotkey documentation:
+# /usr/share/doc/neomutt/manual.txt
+
+# realname and spoolfile deprecated, use real_name and spool_file, also some other variable names, see:
+# https://github.com/neomutt/neomutt/commit/a5eaeb51b14c484fa52f6f519446253dea5667ca
+
+source mail2
+# maybe useful for multiple accounts
+#folder-hook $folder 'source mail2'
+source mail
+#folder-hook $folder 'source mail'
+
+# note the imaps:// and smtps://, maybe more secure?
+# note: xyz@flylightning.xyz will not work, need mail.flylightning.xyz, maybe because they require the actual imaps and smtps email server DNS
+#set smtp_url='smtps://xyz@mail.flylightning.xyz'
+# mbox_type not sure if needed, maybe needed because isync/mbsync set to use maildir format
+set mbox_type=Maildir
+#set folder="$XDG_DATA_HOME/mail/xyz@mail.flylightning.xyz"
+# if fully online and not using mbsync:
+#set folder='imaps://xyz@mail.flylightning.xyz'
+
+# https://wiki.archlinux.org/title/Mutt#Pass
+# need "" instead of ''?
+# Just `pass show xxx` also works. My xxx password also has lines of other info I do not want to output
+# credit: GPL-2.0-or-later https://git.zx2c4.com/password-store/tree/contrib/dmenu/passmenu
+# pipe to `head -n1` also works, it seems it will auto strip out \n newline char?
+set imap_pass="`pass show master3 | { IFS= read -r p; printf %s \"$p\";}`"
+set smtp_pass="`pass show master3 | { IFS= read -r p; printf %s \"$p\";}`"
+
+set from='xyz@flylightning.xyz'
+# /etc/neomuttrc says if use from var this will not use? not sure if works
+set real_name='Xiao Pan'
+
+# this seems also determines sidebar mailbox order
+#mailboxes =INBOX =Sent =Drafts =Archive =Junk =Trash
+# if fully online and use `set folder="imaps://xyz@mail.flylightning.xyz"` instead:
+# default not auto subscribe to inbox? need `mailboxes =INBOX` at least
+#mailboxes =INBOX
+#set imap_check_subscribed
+
+# spool_file not sure if needed
+# + seems mean remote?
+set spool_file='+INBOX'
+set record='+Sent'
+set trash='+Trash'
+set postponed='+Drafts'
+
+# `man neomuttrc.5` says "Header caching can greatly improve speed when ..."
+set header_cache="$XDG_CACHE_HOME/mutt"
+set message_cache_dir="$XDG_CACHE_HOME/mutt"
+
+# Allow Mutt to open a new IMAP connection automatically.
+unset imap_passive
+
+set attach_save_dir="$XDG_DOWNLOAD_DIR"
+set attach_save_without_prompting
+
+# linux kernel mailing list rules:
+set send_charset="us-ascii:utf-8"
+# Sender, email address, and sign-off line must match
+# because joe@localhost is just embarrassing
+unset use_domain
+
+# about pgp:
+#auto_view application/pgp-encrypted
+# maybe use account-hook or folder-hook to `unset crypt_auto_sign` for accounts I do not wish to auto sign
+set crypt_auto_sign
+set pgp_default_key='FDA389A17B94BCE0E2FA3D71842BFD347BE06812'
+# maybe useful: crypt_opportunistic_encrypt, crypt-hook
+
+# https://neomutt.org/guide/gettingstarted#2-4-%C2%A0sidebar
+set sidebar_visible
+set sidebar_width=20
+# manpage suggested
+# %<... is nested if, see https://neomutt.org/feature/nested-if
+set sidebar_format='%B%<F? [%F]>%* %<N?%N/>%S'
+set sidebar_short_path
+# needed for some sidebar features
+set mail_check_stats
+
+# to avoid lags using IMAP with some email providers (yahoo for example)
+set mail_check=60
+
+# no ask auto save to draft
+set postpone='yes'
+
+# need echo here to run an external shell command, see https://neomutt.org/feature/global-hooks
+# startup-hook works, but I'm not confidient with it because shutdown-hook is buggy, see below. Because I'll need a wrapper script for mbsync after shutdown, I decided to just use a wrapper script for mbsync before startup also for now
+#startup-hook 'echo `mbsync -a`'
+# I decided not to use timeout-hook and shutdown-hook hooks due to its issues with mbsync, see below
+# timeout-hook and shutdown-hook configured with startup-hook will cause timeout-hook and shutdown-hook mbsync not working? see https://github.com/neomutt/neomutt/issues/3298 , my experience is shutdown-hook's mbsync not working, not sure how to test timeout-hook
+# somehow `sleep 1; mbsync -a` works?
+# maybe related: https://github.com/neomutt/neomutt/issues/4184 https://github.com/neomutt/neomutt/pull/4200
+# more bug notes see vq
+# consider I may use another email client to access remote email mailboxes, sync when shutdown so those other email client can get latest changes
+#shutdown-hook 'echo `mbsync -a`'
+# I don't understand timeout-hook and $timeout very well, but seems useful, $timeout default 600 seconds, so maybe it sync every 600s
+#timeout-hook 'echo `mbsync -a`'
+
+# no prompt for deleting emails
+set delete=yes
+# no prompt for moving emails
+set confirm_append=no
+
+# man neomuttrc, query_command: "NeoMutt will add quotes around the string
+# substituted for "%s" automatically according to shell quoting rules, so you
+# should avoid adding your own. If no "%s" is found in the string, NeoMutt will
+# append the user's query to the end of the string."
+set query_command="abook --mutt-query"
+# https://neomutt.org/guide/advancedusage#8-%C2%A0external-address-queries
+# completion when ask for address input
+# default ^T
+# another way is Q, it will let me select an address from abook and start a new email
+bind editor <Tab> complete-query
+
+# email from insp to ca mail server to others will have "Received: from xyzinsp.mynetworksettings.com" in email header, VPN only change IP but not this auto-detected hostname by neomutt, if privacy is a concern for future anonymous email server, set hostname=..., e.g.:
+#set hostname='anonymous'
+
+# maybe:
+# maybe, from mutt-wizard:
+# maybe add configs from mutt-wizard:
+# - add Maildir configs? see arch wiki and mutt-wizard, not fully understood
+# - mime type configs
+# - other configs
+# seems not working with this:
+#set smtp_authenticators='gssapi:login'
+#set forward_attachments=yes
+#set forward_format = "Fwd: %s"
+# can configure mailcap configs ~/.mailcap to use lynx to auto show html with lynx
+#auto_view text/html
+
+# https://blog.flaport.net/configuring-neomutt-for-email.html
+# https://github.com/LukeSmithxyz/mutt-wizard/blob/master/share/mutt-wizard.muttrc
+# M default to show-log-messages, can be executed by `:exec show-log-messages`
+bind index,pager M noop
+# C deafult to copy-message
+bind index,pager C noop
+# g default to group-reply
+bind index,pager g noop
+bind index,pager R group-reply
+bind index,pager i noop
+
+macro index,pager \'a "<change-folder>=Archive<enter>" "go to archive"
+macro index,pager \'d "<change-folder>=Drafts<enter>" "go to drafts"
+macro index,pager \'i "<change-folder>=INBOX<enter>" "go to inbox"
+macro index,pager \'j "<change-folder>=Junk<enter>" "go to junk"
+macro index,pager \'s "<change-folder>=Sent<enter>" "go to sent"
+macro index,pager \'t "<change-folder>=Trash<enter>" "go to trash"
+macro index,pager Ca ";<copy-message>=Archive<enter>" "copy mail to archive"
+macro index,pager Cd ";<copy-message>=Drafts<enter>" "copy mail to drafts"
+macro index,pager Ci ";<copy-message>=INBOX<enter>" "copy mail to inbox"
+macro index,pager Cj ";<copy-message>=Junk<enter>" "copy mail to junk"
+macro index,pager Cs ";<copy-message>=Sent<enter>" "copy mail to sent"
+macro index,pager Ct ";<copy-message>=Trash<enter>" "copy mail to trash"
+macro index,pager Ma ";<save-message>=Archive<enter>" "move mail to archive"
+macro index,pager Md ";<save-message>=Drafts<enter>" "move mail to drafts"
+macro index,pager Mi ";<save-message>=INBOX<enter>" "move mail to inbox"
+macro index,pager Mj ";<save-message>=Junk<enter>" "move mail to junk"
+macro index,pager Ms ";<save-message>=Sent<enter>" "move mail to sent"
+macro index,pager Mt ";<save-message>=Trash<enter>" "move mail to trash"
+# here must specify full path of the file to source, else it will souce in the dir where neomutt is execute at
+# use vim-like uppercase marks
+# Ca mail server
+macro index,pager \'C '<sync-mailbox><enter-command>source "$XDG_CONFIG_HOME/neomutt/mail"<enter><change-folder>!<enter>'
+# Ib mail server
+macro index,pager \'I '<sync-mailbox><enter-command>source "$XDG_CONFIG_HOME/neomutt/mail2"<enter><change-folder>!<enter>'
+# maybe useful for multiple accounts
+#macro index c "<change-folder>?<change-dir><home>^K=<enter>"
+
+macro index S "<shell-escape>mbsync -a<enter>" "sync email"
+
+bind index L limit
+bind attach l view-mailcap
+bind pager l view-attachments
+bind index l display-message
+bind browser l select-entry
+bind pager,attach h exit
+bind index h quit
+bind index g first-entry
+bind index G last-entry
+bind browser g top-page
+bind browser G bottom-page
+bind pager g top
+bind pager G bottom
+
+# N hotkey default functions change bind to E hotkey, because I want to bind N as search-opposite
+bind index E toggle-new
+bind pager E mark-as-new
+bind browser E select-new
+bind index,pager,browser N search-opposite
diff --git a/home/xyz/.config/sdcv_ordering b/home/xyz/.config/sdcv_ordering
index 85f847c0..ad60d82b 100644
--- a/home/xyz/.config/sdcv_ordering
+++ b/home/xyz/.config/sdcv_ordering
@@ -5,7 +5,7 @@ MDBG Chinese-English dictionary (www.mdbg.net)
朗道汉英字典5.0
WordNet
Moby Thesaurus II
-wikt-en-en-2024-10-05
+wikt-en-en-2025-10-05
Urban Dictionary P1 (En-En)
Urban Dictionary P2 (En-En)
Dictionnaire de l’Académie Française, 8ème édition (1935).
diff --git a/home/xyz/.local/bin/neomutt b/home/xyz/.local/bin/neomutt
new file mode 100755
index 00000000..53d28ac5
--- /dev/null
+++ b/home/xyz/.local/bin/neomutt
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+# neomutt shutdown-hook is buggy with mbsync, so I decided to use a wrapper script instead
+# more see neomuttrc and vq bug notes
+mbsync -a
+/usr/bin/neomutt "$@"
+mbsync -a
diff --git a/home/xyz/.mbsyncrc b/home/xyz/.mbsyncrc
new file mode 100644
index 00000000..47356a43
--- /dev/null
+++ b/home/xyz/.mbsyncrc
@@ -0,0 +1,57 @@
+# references:
+# /usr/share/doc/isync/examples/mbsyncrc.sample
+# https://wiki.archlinux.org/title/Isync
+# `man mbsync`
+# https://github.com/LukeSmithxyz/mutt-wizard
+
+IMAPStore xyz@mail.flylightning.xyz-remote
+Host mail.flylightning.xyz
+User xyz
+# credit: GPL-2.0-or-later https://git.zx2c4.com/password-store/tree/contrib/dmenu/passmenu
+PassCmd "pass master3 | { IFS= read -r p; printf %s \"$p\";}"
+TLSType IMAPS
+CertificateFile /etc/ssl/certs/ca-certificates.crt
+
+IMAPStore xyz@mail2.flylightning.xyz-remote
+Host mail2.flylightning.xyz
+User xyz
+# credit: GPL-2.0-or-later https://git.zx2c4.com/password-store/tree/contrib/dmenu/passmenu
+PassCmd "pass master3 | { IFS= read -r p; printf %s \"$p\";}"
+TLSType IMAPS
+CertificateFile /etc/ssl/certs/ca-certificates.crt
+
+MaildirStore xyz@mail.flylightning.xyz-local
+# man page says needed
+Subfolders Verbatim
+# trailing slash important?
+# seems $XDG_DATA_HOME does not work?
+Path ~/.local/share/mail/xyz@mail.flylightning.xyz/
+Inbox ~/.local/share/mail/xyz@mail.flylightning.xyz/INBOX
+
+MaildirStore xyz@mail2.flylightning.xyz-local
+# man page says needed
+Subfolders Verbatim
+# trailing slash important?
+# seems $XDG_DATA_HOME does not work?
+Path ~/.local/share/mail/xyz@mail2.flylightning.xyz/
+Inbox ~/.local/share/mail/xyz@mail2.flylightning.xyz/INBOX
+
+Channel xyz@mail.flylightning.xyz
+Expunge Both
+# old system use master and slave
+Far :xyz@mail.flylightning.xyz-remote:
+Near :xyz@mail.flylightning.xyz-local:
+# not sure if needed
+Patterns *
+Create Both
+SyncState *
+
+Channel xyz@mail2.flylightning.xyz
+Expunge Both
+# old system use master and slave
+Far :xyz@mail2.flylightning.xyz-remote:
+Near :xyz@mail2.flylightning.xyz-local:
+# not sure if needed
+Patterns *
+Create Both
+SyncState *
diff --git a/home/xyz/.mozilla/firefox/xxxxxxxx.fly/user-overrides.js b/home/xyz/.mozilla/firefox/xxxxxxxx.fly/user-overrides.js
index f517fbcc..bf327547 100644
--- a/home/xyz/.mozilla/firefox/xxxxxxxx.fly/user-overrides.js
+++ b/home/xyz/.mozilla/firefox/xxxxxxxx.fly/user-overrides.js
@@ -6,13 +6,14 @@ user_pref("_user.js.parrot", "custom overrides: starting");
// douyu pay, bilibili stream watch and user space, pixiv some images not show
// now default for version 115.1 so no need
//user_pref("network.http.referer.XOriginPolicy", 0);
-// in the past: baidu
+// in the past: baidu; now: zwfwbl.cscse.edu.cn
//user_pref("security.ssl.require_safe_negotiation", false);
// fixes and issues unrelated to arkenfox user.js and addons:
// disable ublock origin:
// baidu drive save to my drive not working
// baidu drive verify phone when delete file not working
+// alipay login sliding shape challenge, maybe also need to disable ETP and RFP
// disable enhanced tracking protection:
// google drive can't download
// douyu verification for change password
@@ -26,13 +27,15 @@ user_pref("_user.js.parrot", "custom overrides: starting");
// mail.qq.com
// arkenfox v128 disabled these previously enabled options, I want to enable them
-// set to false to fix: image upload from local, image check not robot, disable surfingkey alt-s hotkey, twitch login and follow, douyin login, douyin chat in live streaming room, google map highway name, protomaps China province name, joinhandshake.com maybe need to disable this once, adobe express
+// set to false to fix: image upload from local, image check not robot, disable surfingkey alt-s hotkey, twitch login and follow, douyin login, douyin chat in live streaming room, google map highway name, protomaps China province name, joinhandshake.com maybe need to disable this once, adobe express, some VPS web VNC keyboard shift modifier not working (e.g., I can't press shift+[ to get { and instead I get [, also for all other keys)
user_pref("privacy.resistFingerprinting", true);
user_pref("privacy.resistFingerprinting.letterboxing", true);
// this can be used to disable RFP by domain, see user.js and https://github.com/arkenfox/user.js/issues/1804#issuecomment-2331701765
//user_pref("privacy.resistFingerprinting.exemptedDomains", "*.example.invalid");
// set to false to fix: labster, protomaps, starlink.com availability map, istheservicedown.com outage map, adobe express
user_pref("webgl.disabled", true);
+// pp maybe need this (disable OCSP) for its mobile network to work
+//user_pref("security.OCSP.enabled", 0);
// http://kb.mozillazine.org/Network.cookie.lifetimePolicy
// https://github.com/arkenfox/user.js/releases/tag/102.1
diff --git a/home/xyz/.profile b/home/xyz/.profile
index a25d475d..f926c827 100644
--- a/home/xyz/.profile
+++ b/home/xyz/.profile
@@ -89,6 +89,25 @@ export SCR_HEIGHT=720
#export GDK_SCALE=2
#export GDK_DPI_SCALE=0.5
+# Edited from upd comment: `duplicity --use-agent` not working when ssh to pp
+# and insp, works on insp, not sure why. The gpg error logs are "gpg: public
+# key decryption failed: Inappropriate ioctl for device" and "gpg: decryption
+# failed: Inappropriate ioctl for device". It seems related to I did not put
+# `export GPG_TTY=$(tty)` in pp xyz user's .profile, putting that in .profile
+# is suggested in `man gpg-agent`. After putting that, test with `echo | gpg -s
+# >/dev/null` works. but `echo | sudo gpg -s > /dev/null` does not work even if
+# I put `export GPG_TTY=$(tty)` in root user's .profile file. `sudo -i` then
+# `echo | gpg -s >/dev/null` works for root if put `export GPG_TTY=$(tty)` in
+# root .profile. With sudo, it needs `sudo --preserve-env=GPG_TTY`, test with
+# `echo | sudo --preserve-env=GPG_TTY gpg -s >/dev/null` works even if I do not
+# put `export GPG_TTY=$(tty)` in root .profile. using `sudo
+# --preserve-env=GPG_TTY` with `duplicity --use-agent` for pp also works.
+# However, using `sudo --preserve-env=GPG_TTY` may be not secure because I
+# noticed that root user's `tty` output is different, but my root user and xyz
+# user's gpg keys are the same, so whatever for now. There maybe a better way
+# instead.
+export GPG_TTY=$(tty)
+
playerctld daemon
# must source .bashrc after export _ZO_ECHO=1 and INPUTRC=..., else these two env will has no effect, don't know why
diff --git a/home/xyz/.ssh/config b/home/xyz/.ssh/config
index a2cbaa8f..d4e2d229 100644
--- a/home/xyz/.ssh/config
+++ b/home/xyz/.ssh/config
@@ -6,12 +6,6 @@ AddKeysToAgent yes
# more see alacritty.toml config
SendEnv COLORTERM
-# tabs and empty only for readability, without also works, not sure about newline
-Host studio
- Hostname flylightning.xyz
- Port ssh-isp
- User xyz
-
Host hpc
Hostname coe-hpc1.sjsu.edu
User 012404405
@@ -30,10 +24,14 @@ Host ca
Hostname ca.flylightning.xyz
User xyz
-Host aa
- Hostname aawg
- User xyz
-
Host ib
Hostname ib.flylightning.xyz
User xyz
+ # ib VPS provider cancelled ipv6
+ #AddressFamily inet6
+
+Host ba
+ Hostname ba.flylightning.xyz
+ User xyz
+ # ba ipv4 has better optimized route
+ AddressFamily inet