summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--etc/.cfgl/config6
-rw-r--r--etc/locale.conf2
-rw-r--r--etc/locale.gen13
-rw-r--r--etc/nftables.conf6
-rw-r--r--etc/pacman.conf10
l---------etc/resolv.conf1
-rw-r--r--etc/services82
-rw-r--r--etc/ssh/sshd_config25
-rw-r--r--etc/sudoers9
-rw-r--r--home/xyz/.bashrc56
-rw-r--r--home/xyz/.config/htop/htoprc43
-rw-r--r--home/xyz/.config/nvim/init.vim63
-rw-r--r--home/xyz/.config/systemd/user/ssh-agent.service2
-rwxr-xr-xhome/xyz/.local/bin/cfg1
-rwxr-xr-xhome/xyz/.local/bin/gita2
-rwxr-xr-xhome/xyz/.local/bin/gitfork8
-rwxr-xr-xhome/xyz/.local/bin/gitpu19
-rwxr-xr-xhome/xyz/.local/bin/gitsetup6
-rwxr-xr-xhome/xyz/.local/bin/mmi2
-rwxr-xr-xhome/xyz/.local/bin/mvln3
-rwxr-xr-xhome/xyz/.local/bin/mvtr3
-rwxr-xr-xhome/xyz/.local/bin/o2
-rwxr-xr-xhome/xyz/.local/bin/time-uuid (renamed from home/xyz/.local/bin/time.uuid)2
-rwxr-xr-xhome/xyz/.local/bin/upd99
-rwxr-xr-xhome/xyz/.local/bin/wh2
-rw-r--r--home/xyz/.profile60
26 files changed, 249 insertions, 278 deletions
diff --git a/etc/.cfgl/config b/etc/.cfgl/config
index 905f17be..ca4ebfad 100644
--- a/etc/.cfgl/config
+++ b/etc/.cfgl/config
@@ -11,12 +11,6 @@
fetch = +refs/heads/*:refs/remotes/origin/*
[commit]
gpgsign = false
-[branch "master"]
- remote = origin
- merge = refs/heads/master
-[remote "usb"]
- url = /run/media/xyz/Ventoy/git_bare_repos/config_local_arch
- fetch = +refs/heads/*:refs/remotes/usb/*
[branch "studio"]
remote = origin
merge = refs/heads/studio
diff --git a/etc/locale.conf b/etc/locale.conf
index 6737e875..01ec548f 100644
--- a/etc/locale.conf
+++ b/etc/locale.conf
@@ -1 +1 @@
-LANG=en_US.utf8
+LANG=en_US.UTF-8
diff --git a/etc/locale.gen b/etc/locale.gen
index a094efe7..a4e3c9f3 100644
--- a/etc/locale.gen
+++ b/etc/locale.gen
@@ -9,17 +9,11 @@
# where <locale> is one of the locales given in /usr/share/i18n/locales
# and <charset> is one of the character sets listed in /usr/share/i18n/charmaps
#
-# Examples:
-# en_US ISO-8859-1
-# en_US.UTF-8 UTF-8
-# de_DE ISO-8859-1
-# de_DE@euro ISO-8859-15
-#
# The locale-gen command will generate all the locales,
# placing them in /usr/lib/locale.
#
-# A list of supported locales is included in this file.
-# Uncomment the ones you need.
+# A list of supported locales is given in /usr/share/i18n/SUPPORTED
+# and is included in this file. Uncomment the needed locales below.
#
#aa_DJ.UTF-8 UTF-8
#aa_DJ ISO-8859-1
@@ -99,7 +93,6 @@
#bs_BA.UTF-8 UTF-8
#bs_BA ISO-8859-2
#byn_ER UTF-8
-C.UTF-8 UTF-8
#ca_AD.UTF-8 UTF-8
#ca_AD ISO-8859-15
#ca_ES.UTF-8 UTF-8
@@ -398,6 +391,7 @@ en_US ISO-8859-1
#pt_PT@euro ISO-8859-15
#quz_PE UTF-8
#raj_IN UTF-8
+#rif_MA UTF-8
#ro_RO.UTF-8 UTF-8
#ro_RO ISO-8859-2
#ru_RU.KOI8-R KOI8-R
@@ -446,6 +440,7 @@ en_US ISO-8859-1
#sv_SE ISO-8859-1
#sw_KE UTF-8
#sw_TZ UTF-8
+#syr UTF-8
#szl_PL UTF-8
#ta_IN UTF-8
#ta_LK UTF-8
diff --git a/etc/nftables.conf b/etc/nftables.conf
index 47605bfb..999b91ac 100644
--- a/etc/nftables.conf
+++ b/etc/nftables.conf
@@ -6,8 +6,7 @@
# some codes from https://wiki.archlinux.org/title/Nftables
# needed for reload config using `sudo systemctl restart nftables` or `sudo nft -f /etc/nftables.conf`
-table inet my_table
-delete table inet my_table
+flush ruleset
table inet my_table {
@@ -22,9 +21,8 @@ table inet my_table {
meta l4proto ipv6-icmp accept
tcp dport ssh accept
- #tcp dport searx accept
- tcp dport qrcp accept
udp dport mdns accept
+ #tcp dport iperf3 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 49ff54d0..293be916 100644
--- a/etc/pacman.conf
+++ b/etc/pacman.conf
@@ -34,7 +34,7 @@ Color
#NoProgressBar
CheckSpace
#VerbosePkgLists
-ParallelDownloads = 5
+ParallelDownloads = 8
# By default, pacman accepts packages signed by keys that its local keyring
# trusts (see pacman-key and its man page), as well as unsigned packages.
@@ -69,11 +69,11 @@ LocalFileSigLevel = Optional
# repo name header and Include lines. You can add preferred servers immediately
# after the header, and they will be used before the default mirrors.
-[fly]
-Server = file:///home/xyz/programs/repos/fly/$arch
+#[fly]
+#Server = file:///home/xyz/programs/repos/fly/$arch
-#[fly-any]
-#Server = file:///home/xyz/programs/repos/fly/any
+[fly-any]
+Server = file:///home/xyz/programs/repos/fly/any
#[core-testing]
#Include = /etc/pacman.d/mirrorlist
diff --git a/etc/resolv.conf b/etc/resolv.conf
new file mode 120000
index 00000000..36396629
--- /dev/null
+++ b/etc/resolv.conf
@@ -0,0 +1 @@
+/run/systemd/resolve/stub-resolv.conf \ No newline at end of file
diff --git a/etc/services b/etc/services
index 4bbdc73e..32ae60c0 100644
--- a/etc/services
+++ b/etc/services
@@ -1366,6 +1366,8 @@ apex-mesh 912/tcp
apex-mesh 912/udp
apex-edge 913/tcp
apex-edge 913/udp
+rift-lies 914/udp
+rift-ties 915/udp
rndc 953/tcp
ftps-data 989/tcp
ftps-data 989/udp
@@ -3848,6 +3850,8 @@ simple-tx-rx 2257/tcp
simple-tx-rx 2257/udp
rcts 2258/tcp
rcts 2258/udp
+bid-serv 2259/tcp
+bid-serv 2259/udp
apc-2260 2260/tcp
apc-2260 2260/udp
comotionmaster 2261/tcp
@@ -4066,6 +4070,8 @@ service-ctrl 2367/tcp
service-ctrl 2367/udp
opentable 2368/tcp
opentable 2368/udp
+bif-p2p 2369/tcp
+bif-p2p 2369/udp
l3-hbmon 2370/tcp
l3-hbmon 2370/udp
rda 2371/tcp
@@ -5901,6 +5907,8 @@ deskview 3298/udp
pdrncs 3299/tcp
pdrncs 3299/udp
ceph 3300/tcp
+tarantool 3301/tcp
+tarantool 3301/udp
mcs-fastmail 3302/tcp
mcs-fastmail 3302/udp
opsession-clnt 3303/tcp
@@ -7217,8 +7225,8 @@ iconp 3972/tcp
iconp 3972/udp
progistics 3973/tcp
progistics 3973/udp
-citysearch 3974/tcp
-citysearch 3974/udp
+xk22 3974/tcp
+xk22 3974/udp
airshot 3975/tcp
airshot 3975/udp
opswagent 3976/tcp
@@ -7677,7 +7685,7 @@ trim-event 4322/tcp
trim-event 4322/udp
trim-ice 4323/tcp
trim-ice 4323/udp
-geognosisman 4325/tcp
+geognosisadmin 4325/tcp
geognosisman 4325/udp
geognosis 4326/tcp
geognosis 4326/udp
@@ -8084,6 +8092,8 @@ xmcp 4788/tcp
vxlan 4789/udp
vxlan-gpe 4790/udp
roce 4791/udp
+unified-bus 4792/tcp
+unified-bus 4792/udp
iims 4800/tcp
iims 4800/udp
iwec 4801/tcp
@@ -8450,6 +8460,8 @@ padl2sim 5236/tcp
padl2sim 5236/udp
mnet-discovery 5237/tcp
mnet-discovery 5237/udp
+attune 5242/tcp
+xycstatus 5243/tcp
downtools 5245/tcp
downtools-disc 5245/udp
capwap-control 5246/udp
@@ -8890,6 +8902,7 @@ icmpd 5813/tcp
icmpd 5813/udp
spt-automation 5814/tcp
spt-automation 5814/udp
+autopassdaemon 5820/tcp
shiprush-d-ch 5841/tcp
reversion 5842/tcp
wherehoo 5859/tcp
@@ -8901,17 +8914,38 @@ diameters 5868/sctp
jute 5883/tcp
rfb 5900/tcp
rfb 5900/udp
-cm 5910/tcp
-cm 5910/udp
+ff-ice 5903/tcp
+ff-ice 5903/udp
+ff-ice 5903/sctp
+ag-swim 5904/tcp
+ag-swim 5904/udp
+ag-swim 5904/sctp
+asmgcs 5905/tcp
+asmgcs 5905/udp
+asmgcs 5905/sctp
+rpas-c2 5906/tcp
+rpas-c2 5906/udp
+rpas-c2 5906/sctp
+dsd 5907/tcp
+dsd 5907/udp
+dsd 5907/sctp
+ipsma 5908/tcp
+ipsma 5908/udp
+ipsma 5908/sctp
+agma 5909/tcp
+agma 5909/udp
+agma 5909/sctp
+ats-atn 5910/tcp
+ats-atn 5910/udp
cm 5910/sctp
-cpdlc 5911/tcp
-cpdlc 5911/udp
+ats-acars 5911/tcp
+ats-acars 5911/udp
cpdlc 5911/sctp
-fis 5912/tcp
-fis 5912/udp
+ais-met 5912/tcp
+ais-met 5912/udp
fis 5912/sctp
-ads-c 5913/tcp
-ads-c 5913/udp
+aoc-acars 5913/tcp
+aoc-acars 5913/udp
ads-c 5913/sctp
indy 5963/tcp
indy 5963/udp
@@ -9365,6 +9399,7 @@ acmsoda 6969/tcp
acmsoda 6969/udp
conductor 6970/tcp
conductor-mpx 6970/sctp
+qolyester 6980/udp
MobilitySrv 6997/tcp
MobilitySrv 6997/udp
iatp-highpri 6998/tcp
@@ -9640,12 +9675,13 @@ imqbrokerd 7676/tcp
imqbrokerd 7676/udp
sun-user-https 7677/tcp
sun-user-https 7677/udp
-pando-pub 7680/tcp
-pando-pub 7680/udp
+ms-do 7680/tcp
+ms-do 7680/udp
dmt 7683/tcp
bolt 7687/tcp
collaber 7689/tcp
collaber 7689/udp
+sovd 7690/tcp
klio 7697/tcp
klio 7697/udp
em7-secom 7700/tcp
@@ -9822,6 +9858,7 @@ senomix07 8058/udp
senomix08 8059/tcp
senomix08 8059/udp
aero 8060/udp
+nikatron-dev 8061/tcp
toad-bi-appsrvr 8066/tcp
infi-async 8067/tcp
ucs-isc 8070/tcp
@@ -9923,8 +9960,8 @@ synapse-nhttps 8243/tcp
synapse-nhttps 8243/udp
espeasy-p2p 8266/udp
robot-remote 8270/tcp
-pando-sec 8276/tcp
-pando-sec 8276/udp
+ms-mcc 8276/tcp
+ms-mcc 8276/udp
synapse-nhttp 8280/tcp
synapse-nhttp 8280/udp
libelle 8282/tcp
@@ -9977,6 +10014,7 @@ espeech-rtp 8417/tcp
espeech-rtp 8417/udp
aritts 8423/tcp
pgbackrest 8432/tcp
+aws-as2 8433/udp
cybro-a-bus 8442/tcp
cybro-a-bus 8442/udp
pcsync-https 8443/tcp
@@ -9985,6 +10023,7 @@ pcsync-http 8444/tcp
pcsync-http 8444/udp
copy 8445/tcp
copy-disc 8445/udp
+matrix-fed 8448/tcp
npmp 8450/tcp
npmp 8450/udp
nexentamv 8457/tcp
@@ -10289,6 +10328,7 @@ secure-ts 9318/udp
guibase 9321/tcp
guibase 9321/udp
gnmi-gnoi 9339/tcp
+gribi 9340/tcp
mpidcmgr 9343/tcp
mpidcmgr 9343/udp
mphlpdmc 9344/tcp
@@ -10675,6 +10715,7 @@ warehouse 12322/tcp
warehouse 12322/udp
italk 12345/tcp
italk 12345/udp
+carb-repl-ctrl 12546/tcp
tsaf 12753/tcp
tsaf 12753/udp
netperf 12865/tcp
@@ -10719,6 +10760,7 @@ dsmcc-download 13821/udp
dsmcc-ccp 13822/tcp
dsmcc-ccp 13822/udp
bmdss 13823/tcp
+a-trust-rpc 13832/tcp
ucontrol 13894/tcp
ucontrol 13894/udp
dta-systems 13929/tcp
@@ -10817,6 +10859,7 @@ amt-redir-tls 16995/tcp
amt-redir-tls 16995/udp
isode-dua 17007/tcp
isode-dua 17007/udp
+ncpu 17010/tcp
vestasdlp 17184/tcp
soundsvirtual 17185/tcp
soundsvirtual 17185/udp
@@ -10920,8 +10963,10 @@ faircom-db 19790/tcp
iec-104-sec 19998/tcp
dnp-sec 19999/tcp
dnp-sec 19999/udp
+dnp-sec 19999/sctp
dnp 20000/tcp
dnp 20000/udp
+dnp 20000/sctp
microsan 20001/tcp
microsan 20001/udp
commtact-http 20002/tcp
@@ -10970,6 +11015,7 @@ vofr-gateway 21590/tcp
vofr-gateway 21590/udp
tvpm 21800/tcp
tvpm 21800/udp
+sal 21801/tcp
webphone 21845/tcp
webphone 21845/udp
netspeak-is 21846/tcp
@@ -11333,6 +11379,7 @@ ng-control 38412/sctp
xn-control 38422/sctp
e1-interface 38462/sctp
f1-control 38472/sctp
+psqlmws 38638/tcp
sruth 38800/tcp
secrmmsafecopya 38865/tcp
vroa 39063/tcp
@@ -11366,6 +11413,7 @@ candrp 42509/tcp
candrp 42509/udp
caerpc 42510/tcp
caerpc 42510/udp
+curiosity 42999/tcp
recvr-rc 43000/tcp
recvr-rc-disc 43000/udp
reachout 43188/tcp
@@ -11461,6 +11509,4 @@ nusrp 49001/tcp
nusdp-disc 49001/udp
inspider 49150/tcp
# my services
-jackett 9117/tcp
-searx 49152/tcp
-qrcp 49153/tcp
+iperf3 53497/tcp
diff --git a/etc/ssh/sshd_config b/etc/ssh/sshd_config
index ad7e1f20..1438778c 100644
--- a/etc/ssh/sshd_config
+++ b/etc/ssh/sshd_config
@@ -1,4 +1,15 @@
-# $OpenBSD: sshd_config,v 1.104 2021/07/02 05:11:21 dtucker Exp $
+# `man sshd_config` says "for each keyword, the first obtained value will be used". So I decided to put my configs before all others to override them all.
+# Based on manpage, setting PasswordAuthentication no, and Arch Linux default KbdInteractiveAuthentication no, with other defaults seems already equivalent to AuthenticationMethods publickey, but I still put it here for redundancy.
+# https://wiki.archlinux.org/title/OpenSSH#Force_public_key_authentication
+AuthenticationMethods publickey
+PermitRootLogin no
+PasswordAuthentication no
+# KbdInteractiveAuthentication no and UsePAM yes are Arch Linux default settings see /etc/ssh/sshd_config.d/00-archlinux.conf, I need these configs, I put them here just in case Arch Linux change the defaults in the future.
+KbdInteractiveAuthentication no
+UsePAM yes
+
+# Include drop-in configurations
+Include /etc/ssh/sshd_config.d/*.conf
# This is the sshd server system-wide configuration file. See
# sshd_config(5) for more information.
@@ -29,7 +40,7 @@
# Authentication:
#LoginGraceTime 2m
-PermitRootLogin no
+#PermitRootLogin prohibit-password
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10
@@ -54,11 +65,11 @@ AuthorizedKeysFile .ssh/authorized_keys
#IgnoreRhosts yes
# To disable tunneled clear text passwords, change to no here!
-PasswordAuthentication no
+#PasswordAuthentication yes
#PermitEmptyPasswords no
# Change to no to disable s/key passwords
-KbdInteractiveAuthentication no
+#KbdInteractiveAuthentication yes
# Kerberos options
#KerberosAuthentication no
@@ -75,11 +86,11 @@ KbdInteractiveAuthentication no
# be allowed through the KbdInteractiveAuthentication and
# PasswordAuthentication. Depending on your PAM configuration,
# PAM authentication via KbdInteractiveAuthentication may bypass
-# the setting of "PermitRootLogin without-password".
+# the setting of "PermitRootLogin prohibit-password".
# If you just want the PAM account and session checks to run without
# PAM authentication, then enable this but set PasswordAuthentication
# and KbdInteractiveAuthentication to 'no'.
-UsePAM yes
+#UsePAM no
#AllowAgentForwarding yes
#AllowTcpForwarding yes
@@ -88,7 +99,7 @@ UsePAM yes
#X11DisplayOffset 10
#X11UseLocalhost yes
#PermitTTY yes
-PrintMotd no # pam does that
+#PrintMotd yes
#PrintLastLog yes
#TCPKeepAlive yes
#PermitUserEnvironment no
diff --git a/etc/sudoers b/etc/sudoers
index 65cd7ca1..cfd22989 100644
--- a/etc/sudoers
+++ b/etc/sudoers
@@ -59,15 +59,22 @@
## Uncomment to use a hard-coded PATH instead of the user's to find commands
# Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
##
+## Uncomment to restore the historic behavior where a command is run in
+## the user's own terminal.
+# Defaults !use_pty
+##
## Uncomment to send mail if the user does not enter the correct password.
# Defaults mail_badpass
##
## Uncomment to enable logging of a command's output, except for
## sudoreplay and reboot. Use sudoreplay to play back logged sessions.
+## Sudo will create up to 2,176,782,336 I/O logs before recycling them.
+## Set maxseq to a smaller number if you don't have unlimited disk space.
# Defaults log_output
# Defaults!/usr/bin/sudoreplay !log_output
# Defaults!/usr/local/bin/sudoreplay !log_output
# Defaults!REBOOT !log_output
+# Defaults maxseq = 1000
##
## Runas alias specification
@@ -82,7 +89,7 @@ root ALL=(ALL:ALL) ALL
%wheel ALL=(ALL:ALL) ALL
## Same thing without a password
-#%wheel ALL=(ALL:ALL) NOPASSWD: ALL
+# %wheel ALL=(ALL:ALL) NOPASSWD: ALL
## Uncomment to allow members of group sudo to execute any command
# %sudo ALL=(ALL:ALL) ALL
diff --git a/home/xyz/.bashrc b/home/xyz/.bashrc
index 4597afb4..be28f908 100644
--- a/home/xyz/.bashrc
+++ b/home/xyz/.bashrc
@@ -32,17 +32,22 @@ esac
PS1="\[$(tput setaf 2)\][\u@\h \W]\$ \[$(tput sgr0)\]"
# https://github.com/LukeSmithxyz/voidrice/blob/master/.config/shell/aliasrc
-for cmd in iotop nethogs hardcode-fixer ventoy du units_cur fbgrab powertop nft rpi-imager fdisk; do
+for cmd in hardcode-fixer ventoy du units_cur fbgrab powertop nft rpi-imager fdisk dmesg; do
alias $cmd="sudo $cmd"
done
-for cmd in pacdiff 'tree -a'; do
- alias ${cmd%% *}="sudo -E $cmd"
+for cmd in pacdiff visudo; do
+ alias $cmd="sudo -E $cmd"
+done
+for cmd in loop o 'watch -c'; do
+ alias ${cmd%% *}="$cmd "
done
unset cmd
# same name
alias absolutely-proprietary='echo n | absolutely-proprietary -f'
alias alsamixer='alsamixer -V all'
+# I can't find a quick and easy way to temperory disable cloc config file except to change config file. Using an alias can disable --vcs with just \cloc.
+alias cloc='cloc --vcs auto'
alias diff='diff --color=auto'
alias grep='grep --color=auto'
#alias info='info --vi-keys'
@@ -53,38 +58,57 @@ alias remind='remind -@'
alias rm='rm -I'
alias sdcv='sdcv --color'
alias shellcheck='shellcheck -x'
+alias tree='tree -aC | "$PAGER"'
alias uname='uname -a'
-alias watch='watch -c'
# different name
+alias a=alarm
# /dev/ttyACM0 can be in config file, or as environmantal variable, see /usr/share/doc/adafruit-ampy/README.md
-alias ap='sudo ampy -p /dev/ttyACM0'
+#alias ap='ampy -p /dev/ttyACM0'
+alias b='lsblk -o NAME,FSTYPE,FSVER,LABEL,UUID,FSAVAIL,FSUSED,FSUSE%,MOUNTPOINTS'
alias c=cfg
+#alias cr=curl
+alias cri='curl -Is'
+alias crig='curl -Is www.google.com'
alias d='\sdcv --color'
+alias e='"$PAGER"'
+# https://superuser.com/a/1202867
+alias fdu="find . -maxdepth 1 -execdir du -sh '{}' \+ | sort -h"
alias g=git
+alias gcd='git clone --depth=1'
+alias gr='\grep --color=auto -i'
+alias grr='\grep --color=auto -iIR'
+alias h=htop
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 p=pacman
alias pt=pactree
alias pu=paru
alias qre='qrencode -t utf8i -m 1'
-alias r='rem -c+2 -@'
-alias s='sudo ' # https://askubuntu.com/a/22043
+alias r='rem -cu+2 -@'
+# https://askubuntu.com/a/22043
+alias s='sudo '
alias se='sudo -E '
+alias ska='ssh ka'
+alias sp='ssh pp'
alias spd='speedtest; librespeed-cli'
alias sv=sudoedit
alias sy=systemctl
-alias tp='sudo tio /dev/ttyACM0'
-alias v='$EDITOR'
-alias va='$EDITOR "$XDG_DOCUMENTS_DIR/notes/computer/arch_install.md"'
-alias vc='$EDITOR "$XDG_DOCUMENTS_DIR/notes/computer/cli_notes.md"'
-alias vq='$EDITOR "$XDG_DOCUMENTS_DIR/notes/others/questions_ideas_tips.md"'
-alias vr='$EDITOR "$DOTREMINDERS"'
-alias vvrc='$EDITOR +e\ \$MYVIMRC'
+alias syd='systemctl list-dependencies --all'
+alias sydr='systemctl list-dependencies --all --reverse'
+alias sye='systemctl list-unit-files --state=enabled'
+alias sys='systemctl status'
+alias syu='systemctl --user'
+alias syue='systemctl --user list-unit-files --state=enabled'
+alias syus='systemctl --user status'
+alias v='"$EDITOR"'
+alias vd='vidir2 --linktargets'
+alias vrc='"$EDITOR" +e\ \$MYVIMRC'
alias za='zoxide add'
-
-# almost never use
#alias zq='zoxide query'
#alias zqi='zoxide query -i'
diff --git a/home/xyz/.config/htop/htoprc b/home/xyz/.config/htop/htoprc
index 48d07e69..cb80a1bc 100644
--- a/home/xyz/.config/htop/htoprc
+++ b/home/xyz/.config/htop/htoprc
@@ -1,12 +1,8 @@
# Beware! This file is rewritten by htop when settings are changed in the interface.
# The parser is also very primitive, and not human-friendly.
-htop_version=3.1.0
-config_reader_min_version=2
+htop_version=3.2.0
+config_reader_min_version=3
fields=0 48 17 18 38 39 40 2 46 47 49 1
-sort_key=46
-sort_direction=-1
-tree_sort_key=0
-tree_sort_direction=1
hide_kernel_threads=1
hide_userland_threads=1
shadow_other_users=0
@@ -21,10 +17,8 @@ highlight_changes_delay_secs=5
find_comm_in_cmdline=1
strip_exe_from_cmdline=1
show_merged_command=0
-tree_view=0
-tree_view_always_by_pid=0
-all_branches_collapsed=0
header_margin=1
+screen_tabs=1
detailed_cpu_time=0
cpu_count_from_one=0
show_cpu_usage=1
@@ -38,7 +32,30 @@ enable_mouse=1
delay=15
hide_function_bar=0
header_layout=two_50_50
-column_meters_0=AllCPUs Memory Swap
-column_meter_modes_0=1 1 1
-column_meters_1=Tasks LoadAverage DiskIO NetworkIO
-column_meter_modes_1=2 2 2 2
+column_meters_0=LeftCPUs Memory Uptime LoadAverage Systemd
+column_meter_modes_0=1 1 2 2 2
+column_meters_1=RightCPUs Swap Tasks DiskIO NetworkIO
+column_meter_modes_1=1 1 2 2 2
+tree_view=0
+sort_key=46
+tree_sort_key=0
+sort_direction=-1
+tree_sort_direction=1
+tree_view_always_by_pid=0
+all_branches_collapsed=0
+screen:Main=PID USER PRIORITY NICE M_VIRT M_RESIDENT M_SHARE STATE PERCENT_CPU PERCENT_MEM TIME Command
+.sort_key=PERCENT_CPU
+.tree_sort_key=PID
+.tree_view=0
+.tree_view_always_by_pid=0
+.sort_direction=-1
+.tree_sort_direction=1
+.all_branches_collapsed=0
+screen:I/O=PID USER IO_PRIORITY IO_RATE IO_READ_RATE IO_WRITE_RATE PERCENT_SWAP_DELAY PERCENT_IO_DELAY Command
+.sort_key=IO_RATE
+.tree_sort_key=PID
+.tree_view=0
+.tree_view_always_by_pid=0
+.sort_direction=-1
+.tree_sort_direction=1
+.all_branches_collapsed=0
diff --git a/home/xyz/.config/nvim/init.vim b/home/xyz/.config/nvim/init.vim
index b08d967d..d73e0ba0 100644
--- a/home/xyz/.config/nvim/init.vim
+++ b/home/xyz/.config/nvim/init.vim
@@ -8,18 +8,19 @@ call plug#begin()
"Plug 'junegunn/fzf', { 'do': { -> fzf#install() } }
"Plug 'junegunn/fzf.vim'
"Plug 'vim-perl/vim-perl', { 'for': 'perl', 'do': 'make clean carp dancer highlight-all-pragmas moose test-more try-tiny' }
-Plug 'glacambre/firenvim', { 'do': { _ -> firenvim#install(0) } }
+"Plug 'glacambre/firenvim', { 'do': { _ -> firenvim#install(0) } }
" chriskempson/base16-vim doesn't do bold/italic for markdown syntax, and not maintained
-" fnune/base16-vim and RRethy/nvim-base16 seem both work, both support tree-sitter
-Plug 'fnune/base16-vim'
+" tinted-theming/base16-vim and RRethy/nvim-base16 seem both work, both support tree-sitter
+" I prefer tinted-theming/base16-vim in the past because of darker status bar color?
+Plug 'tinted-theming/base16-vim'
" nvim-treesitter does not support markdown right now, so wait
"Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'} " We recommend updating the parsers on update
" use latest vim-markdown
Plug 'tpope/vim-markdown'
" alternatives: h-hg/fcitx.nvim, rlue/vim-barbaric, lilydjwg/fcitx.vim
-Plug 'rlue/vim-barbaric'
+"Plug 'rlue/vim-barbaric'
" alternatives: 'thinca/vim-ref' with 'eiiches/vim-ref-info', 'HiPhish/info.vim', 'alx741/vinfo'
-Plug 'HiPhish/info.vim'
+Plug 'https://gitlab.com/HiPhish/info.vim.git'
call plug#end()
" next line must put below `Plug 'glacambre/firenvim'`, else if click github issue textarea, then click elsewhere, then click textarea, textarea will not be selected (no cursor in it), not sure why
@@ -57,7 +58,8 @@ augroup END
" :h markdown, for vim default tpope/vim-markdown
"let g:markdown_folding = 1
-let g:markdown_minlines = 500
+" g:markdown_minlines before nvim 0.8, 500 works well; version 0.8 makes even 400 noticeable slow when keep pressing gk
+let g:markdown_minlines = 350
"let g:markdown_fenced_languages = ['python', 'sh', 'vim', 'c', 'cpp']
" netrw-p preview vertial split
@@ -68,7 +70,7 @@ let g:netrw_winsize = 20
filetype plugin on
" fold is slow and buggy, at least for different kinds of vim-markdown, disable it, not sure if works or not
-set nofoldenable
+"set nofoldenable
language en_US
set number relativenumber
@@ -80,9 +82,6 @@ colorscheme base16-tomorrow-night
" set dir to current editing file's dir
set autochdir
-" always use system for ALL instead of use + and * operator?
-"set clipboard+=unnamedplus
-
" Spaces & Tabs
set tabstop=4 " number of visual spaces per TAB
set softtabstop=4 " number of spaces in tab when editing
@@ -90,24 +89,30 @@ set shiftwidth=4 " number of spaces to use for autoindent
"set expandtab " tabs are space
" https://www.zhihu.com/question/22363620/answer/21199296
-" last line seems is default to neovim but not vim
-set fileencodings=ucs-bom,utf-8,utf-16,gbk,big5,gb18030,latin1
+" euc-cn=gb2312, cp936=gbk
+" it is recommended by `:h fileencodings` to put ucs-bom at first and latin1 at last
+" based on my experience, if put utf-16 in front of euc-cn, euc-cn will have mojibake
+" based on my experience, if put big5 in front of euc-cn and cp936, euc-cn will have mojibake
+" according to zhihu comment, if put gb18030 in front of big5 , big5 will have mojibake
+" according to wikipedia articles, euc-cn is preceded by cp936 which is preceded by gb18030, gb18030 is backward compatible with cp936 which seems is backward compatible with euc-cn
+set fileencodings=ucs-bom,utf-8,euc-cn,cp936,big5,gb18030,utf-16,latin1
+" seems is default to neovim but not vim
set encoding=utf-8
" some file on win10 display as unix but is dos
-"if has('win32')
-" set fileformats=dos
-" " windows 10 bug, need this to change cursor back to vertical bar after leaving neovim
-" " the number after ver seems no effects, maybe because neovim is exited
-" " https://github.com/alacritty/alacritty/issues/2839#issuecomment-766421840
-" " use of ! after autocmd see youtube video above, not fully understood
-" autocmd! VimLeave * set guicursor=a:ver25
-"endif
-
-" don't generate those three types of files
-set nobackup
-set noswapfile
-set noundofile
+if has('win32')
+ set fileformats=dos
+ " windows 10 bug, need this to change cursor back to vertical bar after leaving neovim
+ " the number after ver seems no effects, maybe because neovim is exited
+ " https://github.com/alacritty/alacritty/issues/2839#issuecomment-766421840
+ " use of ! after autocmd see youtube video above, not fully understood
+ autocmd! VimLeave * set guicursor=a:ver25
+endif
+
+" if don't want to generate swap file
+"set noswapfile
+" nvim backup file defualt off, see `:h nobackup` `:set backup?`
+" nvim undo file default off, see `:h noundofile` `:set undofile?`
" gg=G work for .xml files now,:h matchit-activate
" https://stackoverflow.com/questions/21408222/vim-indent-xml-file/28365920#28365920
@@ -117,6 +122,10 @@ packadd! matchit
set ignorecase
set smartcase
+" disable mouse support
+" :h disable-mouse
+set mouse=
+
" map ctrl+h/j/k/l to move between split windows
map <C-h> <C-w>h
map <C-j> <C-w>j
@@ -124,8 +133,8 @@ map <C-k> <C-w>k
map <C-l> <C-w>l
" moving in long line
-nnoremap k gk
-nnoremap j gj
+"nnoremap k gk
+"nnoremap j gj
nnoremap o o<Esc>
nnoremap O O<Esc>
diff --git a/home/xyz/.config/systemd/user/ssh-agent.service b/home/xyz/.config/systemd/user/ssh-agent.service
index 66fa63ef..e867c4b1 100644
--- a/home/xyz/.config/systemd/user/ssh-agent.service
+++ b/home/xyz/.config/systemd/user/ssh-agent.service
@@ -11,7 +11,7 @@ Type=simple
Environment=SSH_AUTH_SOCK=%t/ssh-agent.socket
# DISPLAY required for ssh-askpass to work
Environment=DISPLAY=:0
-ExecStart=/usr/bin/ssh-agent -D -a $SSH_AUTH_SOCK
+ExecStart=/usr/bin/ssh-agent -D -a $SSH_AUTH_SOCK -t 3600
# github White-Oak approach
# https://github.com/White-Oak/arch-setup-for-dummies/blob/master/setting-up-ssh-agent.md
diff --git a/home/xyz/.local/bin/cfg b/home/xyz/.local/bin/cfg
index 3f7ec29d..92a097e7 100755
--- a/home/xyz/.local/bin/cfg
+++ b/home/xyz/.local/bin/cfg
@@ -1,5 +1,6 @@
#!/bin/sh
+umask 077
while getopts lsmM opt; do
case $opt in
#c)
diff --git a/home/xyz/.local/bin/gita b/home/xyz/.local/bin/gita
index 27b45549..9e445761 100755
--- a/home/xyz/.local/bin/gita
+++ b/home/xyz/.local/bin/gita
@@ -11,7 +11,7 @@ while getopts cls f; do
done
shift $((OPTIND-1))
-mes="${1:-refactor}"
+mes="${1:-update}"
$cmd add -u
$cmd commit -m "$mes"
diff --git a/home/xyz/.local/bin/gitfork b/home/xyz/.local/bin/gitfork
deleted file mode 100755
index cefc4f68..00000000
--- a/home/xyz/.local/bin/gitfork
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-
-git clone "$1"
-cd "$(basename "$1" .git)" || exit
-git remote add upstream "$2"
-git branch fly
-git checkout fly
-git push --set-upstream origin fly
diff --git a/home/xyz/.local/bin/gitpu b/home/xyz/.local/bin/gitpu
deleted file mode 100755
index fcc32be9..00000000
--- a/home/xyz/.local/bin/gitpu
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/sh
-
-if [ -z "$1" ]; then
- git checkout master
- git pull upstream master
- git push
- git checkout fly
- git merge --no-edit master
- git push
-else
- for dir ; do
- git -C "$dir" checkout master
- git -C "$dir" pull upstream master
- git -C "$dir" push
- git -C "$dir" checkout fly
- git -C "$dir" merge --no-edit master
- git -C "$dir" push
- done
-fi
diff --git a/home/xyz/.local/bin/gitsetup b/home/xyz/.local/bin/gitsetup
deleted file mode 100755
index 56f91d76..00000000
--- a/home/xyz/.local/bin/gitsetup
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-git clone "$1"
-cd "$(basename "$1" .git)" || exit
-git remote add upstream "$2"
-git checkout fly
diff --git a/home/xyz/.local/bin/mmi b/home/xyz/.local/bin/mmi
index cad872cc..350fe505 100755
--- a/home/xyz/.local/bin/mmi
+++ b/home/xyz/.local/bin/mmi
@@ -19,7 +19,7 @@ shift $((OPTIND-1))
if [ -z "$1" ]; then
eval "$cmd"
else
- for dir ; do
+ for dir; do
cd "$dir" || exit
eval "$cmd"
cd "$origin" || exit
diff --git a/home/xyz/.local/bin/mvln b/home/xyz/.local/bin/mvln
index fb540390..54cef541 100755
--- a/home/xyz/.local/bin/mvln
+++ b/home/xyz/.local/bin/mvln
@@ -25,6 +25,3 @@ else
shift
done
fi
-
-# for test
-#rm -rf ~/test/A\ A/; mkdir -p ~/test/A\ A/; cp -r ~/test/0t/ ~/test/A\ A/1t/; mvln ~/test/A\ A/1t/* ~/test/A\ A/; tree ~/test/A\ A/
diff --git a/home/xyz/.local/bin/mvtr b/home/xyz/.local/bin/mvtr
index 850f8dba..28eebf0f 100755
--- a/home/xyz/.local/bin/mvtr
+++ b/home/xyz/.local/bin/mvtr
@@ -9,6 +9,3 @@
# -exec can't replace -execdir here, can write a -exec version
find "$@" -depth -execdir sh -c 'dest="$(echo "$1" | tr -d "\047" | sed -E -e "s/([[:lower:]])([[:upper:]])/\1_\2/g" | tr "[:upper:] " "[:lower:]_" | tr -s "[:punct:]" | sed -E -e "s#/-#/#g" -e "s/_([[:punct:]])/\1/g" -e "s/([[:punct:]])_/\1/g" | tr -s "[:punct:]")"; [ -e "$dest" ] || mv -v -- "$1" "$dest"' shell '{}' \;
-
-# for test
-#mkdir -p ~/test/A\ A/; rm -rf ~/test/A\ A/1t/; cp -r ~/test/0t/ ~/test/A\ A/1t/; time mvtr ~/test/A\ A/1t/; tree ~/test/A\ A/1t/
diff --git a/home/xyz/.local/bin/o b/home/xyz/.local/bin/o
index d70a6d76..8fb066c7 100755
--- a/home/xyz/.local/bin/o
+++ b/home/xyz/.local/bin/o
@@ -13,6 +13,8 @@
# using `>&-` or `2>&-` doesn't completely close mpv's output when run sth. like `o mpv file.mkv`
# base on above observations, I choose to use `>/dev/null 2>&1` instead
+# need ; before } when it is in the same line as { ? https://www.shellcheck.net/wiki/SC1056
+
if [ $# -eq 1 ] && [ -e "$1" ] && { ! [ -x "$1" ] || [ -d "$1" ];}; then
case "$1" in
# libreoffice, please don't let firefox eat your shit
diff --git a/home/xyz/.local/bin/time.uuid b/home/xyz/.local/bin/time-uuid
index 11cc67ad..bdaf4b3d 100755
--- a/home/xyz/.local/bin/time.uuid
+++ b/home/xyz/.local/bin/time-uuid
@@ -3,4 +3,4 @@
# echo current nanosecond since epoch and alpha-numerically ordered UUID
# https://stackoverflow.com/questions/28681650/generate-alpha-numerically-ordered-uuids-over-time?noredirect=1&lq=1
# https://askubuntu.com/questions/342842/what-does-this-command-mean-awk-f-print-4
-echo "$(date '+%s.%N').$(uuidgen -t | awk -F- '{OFS="-"; print $3,$2,$1,$4,$5}')"
+echo "$(date '+%s-%N')-$(uuidgen -t | awk -F- '{OFS="-"; print $3,$2,$1,$4,$5}')"
diff --git a/home/xyz/.local/bin/upd b/home/xyz/.local/bin/upd
index 8fd6f24b..4552db43 100755
--- a/home/xyz/.local/bin/upd
+++ b/home/xyz/.local/bin/upd
@@ -2,34 +2,13 @@
all () {
fast
+ clean
usb
- #qb
- #kg
- #ncm
refl
- #gall
}
clean () {
- #nsxiv -c
- # my ways
- # -exec can't replace -execdir here
- #find "$XDG_CACHE_HOME/nsxiv/" -depth -type d -empty -execdir rmdir -- '{}' \+
- # -exec can replace -execdir here
- #find "$XDG_CACHE_HOME/nsxiv/" -depth -type d -execdir rmdir --ignore-fail-on-non-empty -- '{}' \+
- # nsxiv man page way
- #find "$XDG_CACHE_HOME/nsxiv/" -depth -type d -empty ! -name '.' -exec rmdir -- '{}' \;
-
- #rm "$HOME/.mozilla/firefox/xxxxxxxx.fly/prefs.js.backup."*
-
- # https://unix.stackexchange.com/questions/92095/reset-atq-list-to-zero
- sudo systemctl stop atd
- echo 0 | sudo tee /var/spool/atd/.SEQ > /dev/null
- sudo systemctl start atd
-
- #rm -rf "$XDG_VIDEOS_DIR/recordings/tmp/"
-
- sudo pacman -Sc --noconfirm
+ paru -aSc --noconfirm
}
# basic daily stuff
@@ -38,100 +17,60 @@ fast () {
misc
}
-gall () {
- gallery-dl --download-archive "$XDG_DOCUMENTS_DIR/database/gallery-dl.sqlite3" -d "$XDG_PICTURES_DIR/anime/gallery-dl/" -i "$XDG_CONFIG_HOME/myconf/gallery_urls"
-}
-
-userjs () {
- kill $(pidof "$BROWSER")
- "$HOME/.mozilla/firefox/xxxxxxxx.fly/prefsCleaner.sh" -s
- "$HOME/.mozilla/firefox/xxxxxxxx.fly/updater.sh" -us
-}
-
-kg () {
- curlkg -u649b9e82272a348b -- "$XDG_MUSIC_DIR/not_pure/lan_lan/kg/"
- #curlkg -u64949d822c25328c -- "$XDG_MUSIC_DIR/not_pure/cheng_ruan/kg/"
-}
-
misc () {
- "$EDITOR" +PlugUpgrade +PlugClean! +PlugUpdate +qa
- tldr --update
- sudo hardcode-fixer
- sudo units_cur
- awk '!a[$0]++' "$XDG_DATA_HOME/sdcv_history" | sponge "$XDG_DATA_HOME/sdcv_history"
-
- # temperory solution before find a way of using git submodule or subtree with `cfg -l`
- #git --git-dir=/home/xyz/.mozilla/firefox/xxxxxxxx.fly/chrome/firefox-csshacks/.git/ --work-tree=/home/xyz/.mozilla/firefox/xxxxxxxx.fly/chrome/firefox-csshacks/ pull
-
- #userjs
- clean
-}
-
-ncm () {
- curlncm -a48860966 -- "$XDG_MUSIC_DIR/not_pure/lan_lan/ncm/artist/"
- #curlncm -a46703185 -- "$XDG_MUSIC_DIR/not_pure/cheng_ruan/ncm/artist/"
- #curlncm -a30382647 -- "$XDG_MUSIC_DIR/not_pure/qi_tian_sakura/ncm/artist/"
-
- curlncm -r793052426 -- "$XDG_MUSIC_DIR/not_pure/lan_lan/ncm/djradio/"
- #curlncm -r792968433 -- "$XDG_MUSIC_DIR/not_pure/cheng_ruan/ncm/djradio/"
- #curlncm -r792042397 -- "$XDG_MUSIC_DIR/not_pure/qi_tian_sakura/ncm/djradio/"
+ "$EDITOR" +PlugClean! +PlugUpdate +qa
+ rustup update
}
pac () {
pacpacs="$(sudo pacman --noconfirm -Syu | tee /dev/tty | grep '^Packages' | cut -d' ' -f3-)"
- aurpacs="$(paru --noconfirm -aSyu | tee /dev/tty | grep '^Aur' | cut -d' ' -f3-)"
+ aurpacs="$(paru --noconfirm -aSu | tee /dev/tty | grep '^Aur' | cut -d' ' -f3-)"
# part steal from aur comment
# sometimes "ERROR: Failure while downloading": https://github.com/neovim/neovim/issues/15709
# echo 1, printf 1 and yes 1 all works? not sure why
# aur neovim-nightly-bin has some issue on 12/26/2021? switch to community repo neovim temporary
#rm -rf ~/.cache/paru/clone/neovim-nightly-bin/ && echo 1 | PARU_PAGER=cat paru --rebuild --redownload neovim-nightly-bin
- sudo pacman -Fy
+ pacman -Qqme > "$XDG_CONFIG_HOME/myconf/pacman_Qqme"
+ pacman -Qqne > "$XDG_CONFIG_HOME/myconf/pacman_Qqne"
+ systemctl list-unit-files --state=enabled > "$XDG_CONFIG_HOME/myconf/sye"
+ systemctl --user list-unit-files --state=enabled > "$XDG_CONFIG_HOME/myconf/syue"
# pacdiff default use pacman database, so no need `sudo -E` for find, but will be a little bit slower
log="$log
updated pacman packages: $pacpacs
updated aur packages: $aurpacs
pacdiff: $(pacdiff -o | tr '\n' ' ')
+checkrebuild: $(checkrebuild)
"
}
-qb () {
- rm -r -- "$HOME/programs/qbittorrent_search_plugins/"
- curlqb "$HOME/programs/qbittorrent_search_plugins/"
-}
-
refl () {
- sudo reflector --verbose --save /etc/pacman.d/mirrorlist --score 50 --fastest 45
+ # why not use http:
+ # https://www.reddit.com/r/archlinux/comments/kx149z/should_i_use_http_mirrors/
+ # https://www.reddit.com/r/archlinux/comments/ej4k4d/is_it_safe_to_use_not_secured_http_pacman_mirrors/
+ # rsync may need to change XferCommand in /etc/pacman.conf
+ # https://www.reddit.com/r/archlinux/comments/mynw6e/rsync_mirrors_with_pacman/
+ # need --delay so no super out of sync mirrors
+ sudo reflector --verbose --save /etc/pacman.d/mirrorlist --country us --protocol https --delay 1 --latest 25 --score 25 --fastest 10
}
usb () {
- cfg -l push usb
cfg -s push
- git --git-dir="$XDG_DOCUMENTS_DIR/notes/.git/" --work-tree="$XDG_DOCUMENTS_DIR/notes/" push usb
- git --git-dir="$HOME/programs/reminders/.git/" --work-tree="$HOME/programs/reminders/" push usb
- # not sure if useful or not
- sync
}
if [ $# -eq 0 ]; then
fast
else
- while getopts acfgjkmnpqru opt; do
+ while getopts acfmpru opt; do
case $opt in
a)all;;
c)clean;;
f)fast;;
- g)gall;;
- j)userjs;;
- k)kg;;
m)misc;;
- n)ncm;;
p)pac;;
- q)qb;;
r)refl;;
u)usb;;
\?)exit 1;;
esac
done
fi
-
-printf '%s' "$log"
+[ "$log" ] && printf '%s' "$log" | tee "$XDG_DOCUMENTS_DIR/logs/upd.log"
diff --git a/home/xyz/.local/bin/wh b/home/xyz/.local/bin/wh
index 4206c363..d20f0de6 100755
--- a/home/xyz/.local/bin/wh
+++ b/home/xyz/.local/bin/wh
@@ -8,4 +8,4 @@ sgr0="$(tput sgr0)"
for cmd in type whatis whereis which "pacman -Qo --color always"; do
printf '\n%s\n%s\n' "$setaf$cmd $*$sgr0" "$($cmd "$@" 2>&1)"
#printf '\n\033[0;34m%s\033[0m\n%s\n' "$setaf$cmd $*$sgr0" "$($cmd "$@" 2>&1)"
-done | $PAGER
+done | "$PAGER"
diff --git a/home/xyz/.profile b/home/xyz/.profile
index f2cc4d20..b4dd4240 100644
--- a/home/xyz/.profile
+++ b/home/xyz/.profile
@@ -3,6 +3,7 @@
export XDG_CONFIG_HOME="$HOME/.config/"
export XDG_CACHE_HOME="$HOME/.cache/"
export XDG_DATA_HOME="$HOME/.local/share/"
+export XDG_STATE_HOME="$HOME/.local/state/"
. "$XDG_CONFIG_HOME/user-dirs.dirs"
export XDG_DESKTOP_DIR
@@ -18,72 +19,43 @@ PATH="$(find "$HOME/.local/bin" -type d -exec printf '%s:' '{}' \+)$PATH"
export PATH
export HISTSIZE=15000
export HISTFILESIZE=15000
+export HISTCONTROL=ignorespace
+# sqlite uses VISUAL for the edit() SQL function default text editor
+# https://sqlite.org/cli.html
+export VISUAL=nvim
export EDITOR=nvim
-export BROWSER=firefox
+export PAGER=less
# -X seems can keep the output if exit less?
# -F is useful when sdcv need user to manually select similar word, after selection if no -F less will not quit if one screen
# but other situation seems less use -F as default?
# steal from sdcv arch wiki
-export PAGER=less
+# CALCURSE_PAGER less can't use -F, else ? and > hotkey will only blink the text
export LESS=-FRXi
-export SDCV_PAGER="$PAGER"
-export SDCV_HISTSIZE=10000
-# CALCURSE_PAGER less can't use -F, else ? and > hotkey will only blink the text
-#export CALCURSE_PAGER=less
-# not posix
export MANPAGER='nvim +Man!'
-export MANSECT='1p:1:n:l:8:3p:3:0p:0:2:5:4:9:6:7'
+# This MANSECT prioritize POSIX manpages. After use it for a long time, I think it is not suitable for me any more.
+#export MANSECT='1p:1:n:l:8:3p:3:0p:0:2:5:4:9:6:7'
export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/ssh-agent.socket"
export INPUTRC="$XDG_CONFIG_HOME/.inputrc"
-#export QT_QPA_PLATFORMTHEME=qt5ct
-#export QT_QPA_PLATFORMTHEME=gtk2
-export QT_QPA_PLATFORMTHEME=qt6ct
-#export QT_STYLE_OVERRIDE=kvantum
-#export SXHKD_SHELL=sh
+# Thanks to https://github.com/trialuser02/qt6gtk2/pull/5
# enable color for `tree` command, not forced
export CLICOLOR=1
# for pacdiff, without using aur neovim-drop-in or neovim-symlinks
export DIFFPROG='nvim -d'
export MAKEFLAGS="-j$(nproc --all)"
-export DOTREMINDERS="$HOME/programs/reminders/.reminders"
-export GTK_IM_MODULE=fcitx
-export QT_IM_MODULE=fcitx
-export XMODIFIERS=@im=fcitx
# use sudo find for some files or dirs that has no permission ex: ~/.cache/paru/clone/
#export FZF_DEFAULT_COMMAND="fd --no-ignore --hidden --exclude .git"
#export FZF_CTRL_T_COMMAND="fd --absolute-path --no-ignore --hidden --exclude .git"
#export FZF_ALT_C_COMMAND="fd --no-ignore --hidden --type d --exclude .git"
-export FZF_DEFAULT_COMMAND="sudo find . -mindepth 1 -path '*/\.git' -prune -o -print"
+export FZF_DEFAULT_COMMAND="find . -mindepth 1 -path '*/\.git' -prune -o -print"
# https://askubuntu.com/questions/444551/get-absolute-path-of-files-using-find-command
# following two lines if use "" on the outermost, will not perfom expected, not sure why
-export FZF_CTRL_T_COMMAND='sudo find "$PWD" -mindepth 1 -path "*/\.git" -prune -o -print'
+export FZF_CTRL_T_COMMAND='find "$PWD" -mindepth 1 -path "*/\.git" -prune -o -print'
#export FZF_CTRL_T_COMMAND='sudo find "$(pwd)" -path "*/\.git" -prune -o -print'
# ~+ is bashism
#export FZF_CTRL_T_COMMAND="sudo find ~+ -path '*/\.git' -prune -o -print"
-export FZF_ALT_C_COMMAND="sudo find . -mindepth 1 -path '*/\.git' -prune -o -type d -print"
-
-export SCR_WIDTH=1600
-export SCR_HEIGHT=900
-
-# for clipmenu
-# set clipmenud to store clipboard only, don't store selection (primary)
-#export CM_SELECTIONS="clipboard"
-# X11, copy / close program / paste to another program, if 0 will paste nothing
-#export CM_OWN_CLIPBOARD=1
-#export CM_MAX_CLIPS=8
-
-# GDK_SCALE and GDK_DPI_SCALE should be use at the same time
-# more see bookmarks about dpi
-# not sure if correct
-#export GDK_SCALE=1.36
-#export GDK_DPI_SCALE=0.73
-# correct but not sure if fits me
-#export GDK_SCALE=2
-#export GDK_DPI_SCALE=0.5
-
-playerctld daemon
+export FZF_ALT_C_COMMAND="find . -mindepth 1 -path '*/\.git' -prune -o -type d -print"
# must source .bashrc after export _ZO_ECHO=1 and INPUTRC=..., else these two env will has no effect, don't know why
# here `. ~/.bashrc` same as `source ~/.bashrc`, see `source filename` in `man bash`, and `. file` in `man dash`
@@ -91,9 +63,3 @@ playerctld daemon
# https://github.com/koalaman/shellcheck/wiki/SC3046
#[[ -f ~/.bashrc ]] && . ~/.bashrc
[ -f "$HOME/.bashrc" ] && . "$HOME/.bashrc"
-
-# startx when login, should be put after environmental variables for .xinitrc to use
-# use `[ "$XDG_VTNR" ]` to avoid "-bash: [: : integer expression expected" warning/error message, when `sudo su - xyz` or ssh into a remote server, not sure if best practice or not
-#if [ -z "$DISPLAY" ] && [ "$XDG_VTNR" ] && [ "$XDG_VTNR" -eq 1 ]; then
-# exec startx
-#fi