summaryrefslogtreecommitdiff
path: root/home
diff options
context:
space:
mode:
Diffstat (limited to 'home')
-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
19 files changed, 379 insertions, 43 deletions
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