[misc] refactory
This commit is contained in:
parent
d1263edd4e
commit
7b160826f6
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -11,3 +11,5 @@ Thunar/config/accels.scm
|
||||||
nvim/config/autoload
|
nvim/config/autoload
|
||||||
nvim/config/plugged
|
nvim/config/plugged
|
||||||
nvim/config/.*
|
nvim/config/.*
|
||||||
|
repos/
|
||||||
|
repo/
|
||||||
|
|
11
README.md
11
README.md
|
@ -1 +1,12 @@
|
||||||
TODO
|
TODO
|
||||||
|
# dotfiles
|
||||||
|
|
||||||
|
* openurl copy move to dmenu
|
||||||
|
* auto install dict.sh
|
||||||
|
|
||||||
|
|
||||||
|
# How to use
|
||||||
|
|
||||||
|
1. fork this repo
|
||||||
|
2. run installation script base on your need
|
||||||
|
3. customize to your taste and sync to your own repo
|
||||||
|
|
2
apps/docker-arm.sh
Executable file → Normal file
2
apps/docker-arm.sh
Executable file → Normal file
|
@ -1,7 +1,7 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
DIR=$(readlink -f "$(dirname "$0")")
|
DIR=$(dirname "$(readlink -f "$0")")
|
||||||
. "$DIR/../env.sh"
|
. "$DIR/../env.sh"
|
||||||
|
|
||||||
|
|
||||||
|
|
2
apps/docker.sh
Executable file → Normal file
2
apps/docker.sh
Executable file → Normal file
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
DIR=$(readlink -f "$(dirname "$0")")
|
DIR=$(dirname "$(readlink -f "$0")")
|
||||||
. "$DIR/../env.sh"
|
. "$DIR/../env.sh"
|
||||||
|
|
||||||
|
|
||||||
|
|
2
apps/install.sh
Executable file → Normal file
2
apps/install.sh
Executable file → Normal file
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
DIR=$(readlink -f "$(dirname "$0")")
|
DIR=$(dirname "$(readlink -f "$0")")
|
||||||
. "$DIR/../env.sh"
|
. "$DIR/../env.sh"
|
||||||
|
|
||||||
|
|
||||||
|
|
2
apps/k8s.sh
Executable file → Normal file
2
apps/k8s.sh
Executable file → Normal file
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
DIR=$(readlink -f "$(dirname "$0")")
|
DIR=$(dirname "$(readlink -f "$0")")
|
||||||
. "$DIR/../env.sh"
|
. "$DIR/../env.sh"
|
||||||
|
|
||||||
|
|
||||||
|
|
2
apps/keepassxc.sh
Executable file → Normal file
2
apps/keepassxc.sh
Executable file → Normal file
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
DIR=$(readlink -f "$(dirname "$0")")
|
DIR=$(dirname "$(readlink -f "$0")")
|
||||||
. "$DIR/../env.sh"
|
. "$DIR/../env.sh"
|
||||||
|
|
||||||
|
|
||||||
|
|
2
apps/nextcloud.sh
Executable file → Normal file
2
apps/nextcloud.sh
Executable file → Normal file
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
DIR=$(readlink -f "$(dirname "$0")")
|
DIR=$(dirname "$(readlink -f "$0")")
|
||||||
. "$DIR/../env.sh"
|
. "$DIR/../env.sh"
|
||||||
|
|
||||||
|
|
||||||
|
|
2
autologin/install.sh
Executable file → Normal file
2
autologin/install.sh
Executable file → Normal file
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
DIR=$(readlink -f "$(dirname "$0")")
|
DIR=$(dirname "$(readlink -f "$0")")
|
||||||
. "$DIR/../env.sh"
|
. "$DIR/../env.sh"
|
||||||
|
|
||||||
echo 'Please enter autologin username (empty to skip): '
|
echo 'Please enter autologin username (empty to skip): '
|
||||||
|
|
0
bak/config/polybar/launch.sh
Executable file → Normal file
0
bak/config/polybar/launch.sh
Executable file → Normal file
0
bak/config/sxhkd/launch.sh
Executable file → Normal file
0
bak/config/sxhkd/launch.sh
Executable file → Normal file
40
bin/br
40
bin/br
|
@ -1,21 +1,25 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
if [ "$#" -lt 2 ]; then
|
# rule 1: use single quote '
|
||||||
echo "Usage: $0 <target> <replacement>"
|
# rule 2: //// for literal /
|
||||||
exit 1
|
|
||||||
|
set -e
|
||||||
|
FILES=$(awk '{print}')
|
||||||
|
COL=$(tput cols)
|
||||||
|
PAT=$1
|
||||||
|
STR=$2
|
||||||
|
export COL PAT STR
|
||||||
|
|
||||||
|
echo "$FILES" | while IFS= read -r FILE; do
|
||||||
|
bin/fr "$FILE"
|
||||||
|
done | less
|
||||||
|
|
||||||
|
printf "Are you sure [y/N]? "
|
||||||
|
read -r YN < /dev/tty
|
||||||
|
if [ "$YN" = 'y' ]; then
|
||||||
|
echo "$FILES" | while IFS= read -r FILE; do
|
||||||
|
TMP=$(mktemp)
|
||||||
|
REP=1 bin/fr "$FILE" > "$TMP"
|
||||||
|
mv "$TMP" "$FILE"
|
||||||
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
REDFG=$(printf '\033[31m')
|
|
||||||
BLUBG=$(printf '\033[42m')
|
|
||||||
ag --color "$1" . | sed -E "s/$1/\\0$REDFG$BLUBG$2/g"
|
|
||||||
echo Are they ok for you?
|
|
||||||
read -r YN
|
|
||||||
|
|
||||||
case "$YN" in
|
|
||||||
y|Y)
|
|
||||||
ag "$1" . -l -0 | xargs -0 sed -Ei "s/$1/$2/g"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
exit
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
74
bin/fr
Executable file
74
bin/fr
Executable file
|
@ -0,0 +1,74 @@
|
||||||
|
#!/bin/gawk -f
|
||||||
|
|
||||||
|
BEGIN {
|
||||||
|
PAT = "(" ENVIRON["PAT"] ")"
|
||||||
|
STR = ENVIRON["STR"]
|
||||||
|
REP = ENVIRON["REP"]
|
||||||
|
COL = ENVIRON["COL"]
|
||||||
|
OLD = "\033[31m"
|
||||||
|
NEW = "\033[32m"
|
||||||
|
LNN = "\033[30m\033[47m"
|
||||||
|
LNH = "\033[30m\033[41m"
|
||||||
|
RST = "\033[0m"
|
||||||
|
CTX = 2
|
||||||
|
#print "PAT:" PAT
|
||||||
|
#print "STR:" STR
|
||||||
|
}
|
||||||
|
|
||||||
|
function min(a, b) {
|
||||||
|
return a > b ? b : a
|
||||||
|
}
|
||||||
|
|
||||||
|
function fileend() {
|
||||||
|
if (REP) exit
|
||||||
|
split(buffer, lines, "\n")
|
||||||
|
if (!length(lines)) exit
|
||||||
|
printf "\033[42m\033[30m%s%" COL-length(filename) "s\033[0m\n", filename, " "
|
||||||
|
pad = length(length(lines) - 1)
|
||||||
|
for (i in lines) {
|
||||||
|
if (!match(lines[i], /([[:digit:]]+)(:|-)(.*)$/, m))
|
||||||
|
continue
|
||||||
|
linno = m[1]
|
||||||
|
found = m[2] == ":"
|
||||||
|
line = m[3]
|
||||||
|
print (found ? LNH : LNN) sprintf(" %"pad"d ", linno) RST line
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
!REP && FNR == 1 {
|
||||||
|
if (buffer) fileend()
|
||||||
|
filename = FILENAME
|
||||||
|
delete before
|
||||||
|
buffer = ""
|
||||||
|
printed = 0
|
||||||
|
}
|
||||||
|
|
||||||
|
!REP {
|
||||||
|
delete data
|
||||||
|
line = gensub(PAT, OLD "\\1" NEW STR RST, "g", $0)
|
||||||
|
found = index(line, OLD)
|
||||||
|
fmted = FNR (found ? ":" : "-") line
|
||||||
|
if (found) {
|
||||||
|
for (i = min(FNR-printed-1, CTX); i > 0; i--) {
|
||||||
|
if (before[i]) buffer = buffer "\n" before[i]
|
||||||
|
}
|
||||||
|
buffer = buffer "\n" fmted
|
||||||
|
printed = FNR
|
||||||
|
keep = CTX
|
||||||
|
} else if (keep-- > 0) {
|
||||||
|
buffer = buffer "\n" fmted
|
||||||
|
printed = FNR
|
||||||
|
}
|
||||||
|
|
||||||
|
for (i = CTX; i > 1; i--) {
|
||||||
|
before[i] = before[i - 1]
|
||||||
|
}
|
||||||
|
before[1] = fmted
|
||||||
|
}
|
||||||
|
|
||||||
|
END { fileend() }
|
||||||
|
|
||||||
|
REP {
|
||||||
|
print gensub(PAT, STR, "g", $0)
|
||||||
|
}
|
2
deeplearning/install.sh
Executable file → Normal file
2
deeplearning/install.sh
Executable file → Normal file
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
DIR=$(readlink -f "$(dirname "$0")")
|
DIR=$(dirname "$(readlink -f "$0")")
|
||||||
. "$DIR/../env.sh"
|
. "$DIR/../env.sh"
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,5 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
DIR=$(readlink -f $(dirname $0))
|
|
||||||
|
|
||||||
killall -q dunst
|
killall -q dunst
|
||||||
while pgrep -x dunst >/dev/null; do sleep 1; done
|
while pgrep -x dunst >/dev/null; do sleep 1; done
|
||||||
dunst -config $DIR/dunstrc &
|
dunst &
|
7
dunst/install.sh
Executable file → Normal file
7
dunst/install.sh
Executable file → Normal file
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
DIR=$(readlink -f "$(dirname "$0")")
|
DIR=$(dirname "$(readlink -f "$0")")
|
||||||
. "$DIR/../env.sh"
|
. "$DIR/../env.sh"
|
||||||
|
|
||||||
# install nvim
|
# install nvim
|
||||||
|
@ -14,5 +14,6 @@ case "$PM" in
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# symlink configuration
|
# symlink configuration
|
||||||
lnsf "$DIR/config/dunstrc" "$XDG_CONFIG_HOME/dunst/dunstrc"
|
lnsf "$DIR/content/dunstrc" "$XDG_CONFIG_HOME/dunst/dunstrc"
|
||||||
lnsf "$DIR/config/launch.sh" "$XDG_CONFIG_HOME/dunst/launch.sh"
|
sudo cp -f "$DIR/content/dunstctl" "$PREFIX/bin"
|
||||||
|
sudo chmod +x "$PREFIX/bin/dunstctl"
|
||||||
|
|
23
env.sh
Executable file → Normal file
23
env.sh
Executable file → Normal file
|
@ -3,9 +3,14 @@
|
||||||
set -e
|
set -e
|
||||||
PM=n/a
|
PM=n/a
|
||||||
XDG_CONFIG_HOME=${XDG_CONFIG_HOME-"$HOME/.config"}
|
XDG_CONFIG_HOME=${XDG_CONFIG_HOME-"$HOME/.config"}
|
||||||
|
PREFIX=/usr/local
|
||||||
PDIR=$(dirname "${DIR-$0}")
|
PDIR=$(dirname "${DIR-$0}")
|
||||||
|
GITHUB_PROXY=${GITHUB_PROXY-$HTTPS_PROXY}
|
||||||
echo "dir: $DIR"
|
echo "dir: $DIR"
|
||||||
echo "parent dir: $PDIR"
|
echo "parent dir: $PDIR"
|
||||||
|
echo "prefix dir: $PREFIX"
|
||||||
|
|
||||||
|
sudo mkdir -p $PREFIX
|
||||||
|
|
||||||
if command -v pacman > /dev/null; then
|
if command -v pacman > /dev/null; then
|
||||||
PM=pacman
|
PM=pacman
|
||||||
|
@ -31,7 +36,7 @@ in_china () {
|
||||||
|
|
||||||
lnsf () {
|
lnsf () {
|
||||||
[ "$#" -ne 2 ] && echo "lnsf <target> <symlink>" && return 1
|
[ "$#" -ne 2 ] && echo "lnsf <target> <symlink>" && return 1
|
||||||
TARGET=$(readlink -f "$1")
|
TARGET=$(readlink -f "$1") || echo failed: readlink -f "$1" && return 1
|
||||||
SYMLNK=$2
|
SYMLNK=$2
|
||||||
[ -z "$TARGET" ] && echo "$1 not exists" && return 1
|
[ -z "$TARGET" ] && echo "$1 not exists" && return 1
|
||||||
SYMDIR=$(dirname "$SYMLNK")
|
SYMDIR=$(dirname "$SYMLNK")
|
||||||
|
@ -55,6 +60,22 @@ eqv () {
|
||||||
[ "$VERSION" = "$VERSION2" ]
|
[ "$VERSION" = "$VERSION2" ]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
intorepo() {
|
||||||
|
ODIR=$(pwd)
|
||||||
|
REPO=$2
|
||||||
|
if [ ! -d "$REPO" ]; then
|
||||||
|
HTTPS_PROXY=$GITHUB_PROXY git clone --depth 1 "$1" "$REPO"
|
||||||
|
cd "$REPO"
|
||||||
|
else
|
||||||
|
cd "$REPO"
|
||||||
|
git pull
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
exitrepo() {
|
||||||
|
cd "$ODIR"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
# install basic common utilities
|
# install basic common utilities
|
||||||
case "$PM" in
|
case "$PM" in
|
||||||
|
|
2
fish/install.sh
Executable file → Normal file
2
fish/install.sh
Executable file → Normal file
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
DIR=$(readlink -f "$(dirname "$0")")
|
DIR=$(dirname "$(readlink -f "$0")")
|
||||||
. "$DIR/../env.sh"
|
. "$DIR/../env.sh"
|
||||||
|
|
||||||
# install fish shell
|
# install fish shell
|
||||||
|
|
0
gui/freetype2.sh
Executable file → Normal file
0
gui/freetype2.sh
Executable file → Normal file
2
gui/install.sh
Executable file → Normal file
2
gui/install.sh
Executable file → Normal file
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
DIR=$(readlink -f "$(dirname "$0")")
|
DIR=$(dirname "$(readlink -f "$0")")
|
||||||
. "$DIR/../env.sh"
|
. "$DIR/../env.sh"
|
||||||
|
|
||||||
# install basic gui stuff, including fonts/system utilties/keyring etc
|
# install basic gui stuff, including fonts/system utilties/keyring etc
|
||||||
|
|
2
gui/sshd.sh
Executable file → Normal file
2
gui/sshd.sh
Executable file → Normal file
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
DIR=$(readlink -f "$(dirname "$0")")
|
DIR=$(dirname "$(readlink -f "$0")")
|
||||||
. "$DIR/../env.sh"
|
. "$DIR/../env.sh"
|
||||||
|
|
||||||
# install sshd
|
# install sshd
|
||||||
|
|
2
gui/theme.sh
Executable file → Normal file
2
gui/theme.sh
Executable file → Normal file
|
@ -1,7 +1,7 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
DIR=$(readlink -f "$(dirname "$0")")
|
DIR=$(dirname "$(readlink -f "$0")")
|
||||||
. "$DIR/../env.sh"
|
. "$DIR/../env.sh"
|
||||||
|
|
||||||
# for better looking
|
# for better looking
|
||||||
|
|
2
gui/updatenerdfonticons.sh
Executable file → Normal file
2
gui/updatenerdfonticons.sh
Executable file → Normal file
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
DIR=$(readlink -f "$(dirname "$0")")
|
DIR=$(dirname "$(readlink -f "$0")")
|
||||||
. "$DIR/../env.sh"
|
. "$DIR/../env.sh"
|
||||||
|
|
||||||
[ -z "$1" ] && echo Usage: $0 path/to/nerdfont.git/bin/scrips/lib && exit 1
|
[ -z "$1" ] && echo Usage: $0 path/to/nerdfont.git/bin/scrips/lib && exit 1
|
||||||
|
|
2
kvm/install.sh
Executable file → Normal file
2
kvm/install.sh
Executable file → Normal file
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
DIR=$(readlink -f "$(dirname "$0")")
|
DIR=$(dirname "$(readlink -f "$0")")
|
||||||
. "$DIR/../env.sh"
|
. "$DIR/../env.sh"
|
||||||
|
|
||||||
# tips
|
# tips
|
||||||
|
|
2
nodejs/install.sh
Executable file → Normal file
2
nodejs/install.sh
Executable file → Normal file
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
DIR=$(readlink -f "$(dirname "$0")")
|
DIR=$(dirname "$(readlink -f "$0")")
|
||||||
. "$DIR/../env.sh"
|
. "$DIR/../env.sh"
|
||||||
|
|
||||||
# install specific version
|
# install specific version
|
||||||
|
|
2
nvim/install.sh
Executable file → Normal file
2
nvim/install.sh
Executable file → Normal file
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
DIR=$(readlink -f "$(dirname "$0")")
|
DIR=$(dirname "$(readlink -f "$0")")
|
||||||
. "$DIR/../env.sh"
|
. "$DIR/../env.sh"
|
||||||
|
|
||||||
# check dependencies
|
# check dependencies
|
||||||
|
|
0
optim/bbr.sh
Executable file → Normal file
0
optim/bbr.sh
Executable file → Normal file
2
optim/mirrors.sh
Executable file → Normal file
2
optim/mirrors.sh
Executable file → Normal file
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
DIR=$(readlink -f "$(dirname "$0")")
|
DIR=$(dirname "$(readlink -f "$0")")
|
||||||
. "$DIR/../env.sh"
|
. "$DIR/../env.sh"
|
||||||
|
|
||||||
|
|
||||||
|
|
0
optim/ubuntu-desk-boot.sh
Executable file → Normal file
0
optim/ubuntu-desk-boot.sh
Executable file → Normal file
|
@ -1,11 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
DIR=$(readlink -f $(dirname $0))
|
|
||||||
|
|
||||||
killall -q picom
|
|
||||||
while pgrep -x picom >/dev/null; do sleep 1; done
|
|
||||||
picom -b --config $DIR/picom.conf --experimental-backends \
|
|
||||||
--blur-method dual_kawase --blur-strength 6 \
|
|
||||||
--no-fading-openclose
|
|
||||||
sleep 1
|
|
||||||
! pgrep -x picom && picom -b --config $DIR/picom.conf --no-fading-openclose
|
|
|
@ -1,9 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
DIR=$(readlink -f $(dirname $0))
|
|
||||||
|
|
||||||
if pgrep -x picom > /dev/null; then
|
|
||||||
killall -q picom
|
|
||||||
else
|
|
||||||
$DIR/launch.sh
|
|
||||||
fi
|
|
36
picom/content/picomdaemon
Executable file
36
picom/content/picomdaemon
Executable file
|
@ -0,0 +1,36 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
stop() {
|
||||||
|
echo stop
|
||||||
|
killall -q picom || true
|
||||||
|
while pgrep -x picom >/dev/null; do sleep 1; done
|
||||||
|
}
|
||||||
|
|
||||||
|
start() {
|
||||||
|
echo start
|
||||||
|
picom -b --experimental-backends \
|
||||||
|
--blur-method dual_kawase --blur-strength 6 \
|
||||||
|
--no-fading-openclose
|
||||||
|
sleep 1
|
||||||
|
! pgrep -x picom >/dev/null && echo 'fallback' && picom -b --no-fading-openclose
|
||||||
|
}
|
||||||
|
|
||||||
|
toggle() {
|
||||||
|
if pgrep -x picom > /dev/null; then
|
||||||
|
stop
|
||||||
|
else
|
||||||
|
start
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
case $1 in
|
||||||
|
toggle)
|
||||||
|
toggle
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
stop
|
||||||
|
start
|
||||||
|
;;
|
||||||
|
esac
|
31
picom/install.sh
Executable file → Normal file
31
picom/install.sh
Executable file → Normal file
|
@ -1,11 +1,11 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
DIR=$(readlink -f "$(dirname "$0")")
|
DIR=$(dirname "$(readlink -f "$0")")
|
||||||
. "$DIR/../env.sh"
|
. "$DIR/../env.sh"
|
||||||
|
|
||||||
|
|
||||||
# install ranger
|
# install dpes
|
||||||
case "$PM" in
|
case "$PM" in
|
||||||
apt)
|
apt)
|
||||||
# install build tools
|
# install build tools
|
||||||
|
@ -20,24 +20,13 @@ case "$PM" in
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# build and install picom
|
# build and install picom
|
||||||
VERSION=next
|
intorepo https://github.com/yshui/picom.git "$DIR/repo"
|
||||||
VERSION_PATH=$XDG_CONFIG_HOME/picom/version
|
meson --buildtype=release . build
|
||||||
if [ "$VERSION" = "next" ] || ! eqv "$VERSION_PATH" "$VERSION"; then
|
sudo ninja -C build install
|
||||||
echo Downloading picom $VERSION
|
exitrepo
|
||||||
[ ! -f /tmp/picom-$VERSION.zip ] && \
|
sudo cp -f "$DIR/content/picomdaemon" "$PREFIX/bin"
|
||||||
curl "https://github.com/yshui/picom/archive/$VERSION.zip" -Lo /tmp/picom-$VERSION.zip
|
sudo chmod +x "$PREFIX/bin/picomdaemon"
|
||||||
unzip /tmp/picom-$VERSION.zip -d /tmp
|
echo 'picom installed'
|
||||||
FD=$(unzip -l /tmp/picom-$VERSION.zip | awk 'NR==5{print $4}')
|
|
||||||
cd "/tmp/$FD"
|
|
||||||
meson --buildtype=release . build
|
|
||||||
sudo ninja -C build install
|
|
||||||
cd -
|
|
||||||
mkdir -p "$(dirname "$VERSION_PATH")"
|
|
||||||
echo "$VERSION" > "$VERSION_PATH"
|
|
||||||
sudo rm -rf /tmp/picom-$VERSION*
|
|
||||||
fi
|
|
||||||
|
|
||||||
# configuration
|
# configuration
|
||||||
lnsf "$DIR/config/launch.sh" "$XDG_CONFIG_HOME/picom/launch.sh"
|
lnsf "$DIR/content/picom.conf" "$XDG_CONFIG_HOME/picom/picom.conf"
|
||||||
lnsf "$DIR/config/toggle.sh" "$XDG_CONFIG_HOME/picom/toggle.sh"
|
|
||||||
lnsf "$DIR/config/picom.conf" "$XDG_CONFIG_HOME/picom/picom.conf"
|
|
||||||
|
|
2
player/install.sh
Executable file → Normal file
2
player/install.sh
Executable file → Normal file
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
DIR=$(readlink -f "$(dirname "$0")")
|
DIR=$(dirname "$(readlink -f "$0")")
|
||||||
. "$DIR/../env.sh"
|
. "$DIR/../env.sh"
|
||||||
|
|
||||||
|
|
||||||
|
|
2
python/install.sh
Executable file → Normal file
2
python/install.sh
Executable file → Normal file
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
DIR=$(readlink -f "$(dirname "$0")")
|
DIR=$(dirname "$(readlink -f "$0")")
|
||||||
. "$DIR/../env.sh"
|
. "$DIR/../env.sh"
|
||||||
|
|
||||||
# config pip mirror for CHINA
|
# config pip mirror for CHINA
|
||||||
|
|
0
python/py3.sh
Executable file → Normal file
0
python/py3.sh
Executable file → Normal file
0
ranger/config/scope.sh
Executable file → Normal file
0
ranger/config/scope.sh
Executable file → Normal file
2
ranger/install.sh
Executable file → Normal file
2
ranger/install.sh
Executable file → Normal file
|
@ -1,7 +1,7 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
DIR=$(readlink -f "$(dirname "$0")")
|
DIR=$(dirname "$(readlink -f "$0")")
|
||||||
. "$DIR/../env.sh"
|
. "$DIR/../env.sh"
|
||||||
|
|
||||||
# install ranger
|
# install ranger
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
# start compositor daemon
|
# start compositor daemon
|
||||||
"$HOME/.config/picom/launch.sh"
|
picomdaemon
|
||||||
|
|
||||||
# start desktop notification daemon
|
# start desktop notification daemon
|
||||||
"$HOME/.config/dunst/launch.sh"
|
dunstdaemon
|
||||||
|
|
||||||
# start dwmbar daemon
|
# start dwmbar daemon
|
||||||
"$HOME/.config/dwm/statusbar"
|
statusbar
|
||||||
|
|
||||||
# disable screen saver / turn off monitor if inactived for 300 secs
|
# disable screen saver / turn off monitor if inactived for 300 secs
|
||||||
xset s off
|
xset s off
|
||||||
|
|
|
@ -1,135 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
# symbola
|
|
||||||
#export ICON_RCD=🎥
|
|
||||||
#export ICON_MSC=♬
|
|
||||||
#export ICON_MTD=🔉
|
|
||||||
#export ICON_VOL=🔊
|
|
||||||
#export ICON_NIC=🖧
|
|
||||||
#export ICON_WFI=📡
|
|
||||||
#export ICON_MEM=📈
|
|
||||||
#export ICON_TMP=🌡
|
|
||||||
#export ICON_PLG=🔌
|
|
||||||
#export ICON_BAT=🔋
|
|
||||||
#export ICON_DAT=⏲
|
|
||||||
|
|
||||||
# nerdfont
|
|
||||||
export ICON_RCD='辶'
|
|
||||||
export ICON_MSC=''
|
|
||||||
export ICON_MTD='ﱝ '
|
|
||||||
export ICON_VOL=' '
|
|
||||||
export ICON_NIC=' '
|
|
||||||
export ICON_WFI=' '
|
|
||||||
export ICON_MEM=' '
|
|
||||||
export ICON_TMP=''
|
|
||||||
export ICON_PLG=' '
|
|
||||||
export ICON_BA0=' '
|
|
||||||
export ICON_BA1=' '
|
|
||||||
export ICON_BA2=' '
|
|
||||||
export ICON_BA3=' '
|
|
||||||
export ICON_BA4=' '
|
|
||||||
export ICON_DAT=' '
|
|
||||||
|
|
||||||
MPD=$(which mpc && echo yes)
|
|
||||||
|
|
||||||
statusbar() {
|
|
||||||
|
|
||||||
echo -n " "
|
|
||||||
|
|
||||||
# recording
|
|
||||||
[ -f /tmp/recording.pid ] && echo -n "$ICON_RCD "
|
|
||||||
|
|
||||||
# mpd
|
|
||||||
[ -n "$MPD" ] && mpc | awk '
|
|
||||||
NR == 1 {
|
|
||||||
SONG = $0
|
|
||||||
}
|
|
||||||
NR == 2 {
|
|
||||||
PLAYING = $1
|
|
||||||
}
|
|
||||||
END {
|
|
||||||
if (PLAYING == "[playing]")
|
|
||||||
printf "%s %s ", ENVIRON["ICON_MSC"], SONG
|
|
||||||
}
|
|
||||||
'
|
|
||||||
|
|
||||||
# volume
|
|
||||||
amixer get Master | awk 'END {
|
|
||||||
ICO = $NF == "[off]" ? ENVIRON["ICON_MTD"] : ENVIRON["ICON_VOL"]
|
|
||||||
match($0, / \[([0-9]+%)\] /, m)
|
|
||||||
VOL = m[1]
|
|
||||||
printf "%s %s ", ICO, VOL
|
|
||||||
}'
|
|
||||||
|
|
||||||
# network
|
|
||||||
for NIC in /sys/class/net/e*; do
|
|
||||||
grep -q 'up' $NIC/operstate && awk '{
|
|
||||||
printf "%s %s ",ENVIRON["ICON_NIC"],($0 >= 1000 ? $0 / 1000 "G" : $0 "M")
|
|
||||||
}' $NIC/speed
|
|
||||||
done
|
|
||||||
|
|
||||||
# wifi
|
|
||||||
awk 'NR > 2 {
|
|
||||||
printf "%s %i%% ", ENVIRON["ICON_WFI"], $3*100/70
|
|
||||||
}' /proc/net/wireless
|
|
||||||
|
|
||||||
# cpu temperature
|
|
||||||
awk '{
|
|
||||||
printf "%s %i°C ", ENVIRON["ICON_TMP"], $0/1000
|
|
||||||
}' /sys/class/thermal/thermal_zone0/temp
|
|
||||||
|
|
||||||
# memory usage
|
|
||||||
free | awk 'NR == 2 {
|
|
||||||
printf "%s %i%% ", ENVIRON["ICON_MEM"], $3/$2*100
|
|
||||||
}'
|
|
||||||
|
|
||||||
# battery
|
|
||||||
if [ -f /sys/class/power_supply/BAT0/capacity ]; then
|
|
||||||
grep -q '1' /sys/class/power_supply/AC/online && export PLUGGED=yes
|
|
||||||
awk '{
|
|
||||||
if (ENVIRON["PLUGGED"] == "yes")
|
|
||||||
ICON=ENVIRON["ICON_PLG"]
|
|
||||||
else if ($0 > 90)
|
|
||||||
ICON=ENVIRON["ICON_BA4"]
|
|
||||||
else if ($0 > 75)
|
|
||||||
ICON=ENVIRON["ICON_BA3"]
|
|
||||||
else if ($0 > 50)
|
|
||||||
ICON=ENVIRON["ICON_BA2"]
|
|
||||||
else if ($0 > 25)
|
|
||||||
ICON=ENVIRON["ICON_BA1"]
|
|
||||||
else
|
|
||||||
ICON=ENVIRON["ICON_BA0"]
|
|
||||||
printf "%s %s%% ", ICON, $0
|
|
||||||
}' /sys/class/power_supply/BAT0/capacity
|
|
||||||
fi
|
|
||||||
|
|
||||||
# datetime
|
|
||||||
echo -n "$ICON_DAT $(date +'%m-%d %H:%M %a') "
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
start() {
|
|
||||||
while :; do
|
|
||||||
! pgrep slock 1>/dev/null && xsetroot -name "$(statusbar)"
|
|
||||||
sleep 1
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
restart() {
|
|
||||||
FP=$(readlink -f $0)
|
|
||||||
pkill -f "$FP loop"
|
|
||||||
$FP loop &
|
|
||||||
}
|
|
||||||
|
|
||||||
case "$1" in
|
|
||||||
loop)
|
|
||||||
start
|
|
||||||
;;
|
|
||||||
dryrun)
|
|
||||||
statusbar
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
restart
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
37
suckless/install.sh
Executable file → Normal file
37
suckless/install.sh
Executable file → Normal file
|
@ -1,6 +1,7 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
DIR=$(readlink -f "$(dirname "$0")")
|
set -e
|
||||||
|
DIR=$(dirname "$(readlink -f "$0")")
|
||||||
. "$DIR/../env.sh"
|
. "$DIR/../env.sh"
|
||||||
|
|
||||||
"$PDIR/fish/install.sh"
|
"$PDIR/fish/install.sh"
|
||||||
|
@ -36,19 +37,23 @@ case "$PM" in
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# clone / compile utilities and dwm itself
|
# clone / compile utilities and dwm itself
|
||||||
mkdir -p ~/Projects/suckless
|
REPOS="$DIR/suckless/repos"
|
||||||
|
mkdir -p "$REPOS"
|
||||||
|
|
||||||
[ ! -d ~/Projects/suckless/st ] && git clone https://gitee.com/klesh/st.git ~/Projects/suckless/st
|
installrepo () {
|
||||||
cd ~/Projects/suckless/st && sudo rm -f config.h && sudo make clean install
|
ODIR=$(pwd)
|
||||||
|
REPO="$DIR/suckless/repos/$2"
|
||||||
|
[ ! -d "$REPO" ] && git clone --depth "$1" "$REPO"
|
||||||
|
cd "$REPO"
|
||||||
|
make && sudo make install
|
||||||
|
cd "$ODIR"
|
||||||
|
}
|
||||||
|
|
||||||
[ ! -d ~/Projects/suckless/dmenu ] &&git clone https://gitee.com/klesh/dmenu.git ~/Projects/suckless/dmenu
|
installrepo https://gitee.com/klesh/st.git st
|
||||||
cd ~/Projects/suckless/dmenu && sudo rm -f config.h && sudo make clean install
|
installrepo https://gitee.com/klesh/dmenu.git dmenu
|
||||||
|
installrepo https://gitee.com/klesh/slock.git slock
|
||||||
[ ! -d ~/Projects/suckless/slock ] &&git clone https://gitee.com/klesh/slock.git ~/Projects/suckless/slock
|
installrepo https://github.com/klesh/dict.sh.git dict.sh
|
||||||
cd ~/Projects/suckless/slock && sudo rm -f config.h && sudo make clean install
|
installrepo https://gitee.com/klesh/dwm.git dwm
|
||||||
|
|
||||||
[ ! -d ~/Projects/suckless/dwm ] &&git clone https://gitee.com/klesh/dwm.git ~/Projects/suckless/dwm
|
|
||||||
cd ~/Projects/suckless/dwm && sudo rm -f config.h && sudo make clean install
|
|
||||||
|
|
||||||
# config xinit to start for dwm
|
# config xinit to start for dwm
|
||||||
rm ~/.xinitrc
|
rm ~/.xinitrc
|
||||||
|
@ -70,14 +75,10 @@ export SSH_AUTH_SOCK=$(/usr/bin/gnome-keyring-daemon --start --components=pkcs11
|
||||||
autorandr --change --force
|
autorandr --change --force
|
||||||
|
|
||||||
# restart dwm if it existed without error
|
# restart dwm if it existed without error
|
||||||
echo $$(date "+%Y%m%d-%H%M%S") '=============== xrdb -query' >> /tmp/xinit.log
|
xrdb -query > /tmp/dwm.log
|
||||||
xrdb -query >> /tmp/dwm.log
|
|
||||||
echo $$(date "+%Y%m%d-%H%M%S") '=============== enter dwm' >> /tmp/xinit.log
|
|
||||||
while :; do
|
while :; do
|
||||||
ssh-agent dwm 2>>/tmp/dwm.log || break
|
ssh-agent dwm 2>>/tmp/dwm.log || break
|
||||||
echo $$(date "+%Y%m%d-%H%M%S") '=============== restart dwm' >> /tmp/xinit.log
|
|
||||||
done
|
done
|
||||||
echo $$(date "+%Y%m%d-%H%M%S") '=============== exit xinit' >> /tmp/xinit.log
|
|
||||||
EOT
|
EOT
|
||||||
|
|
||||||
cat <<'EOT' > ~/.profile
|
cat <<'EOT' > ~/.profile
|
||||||
|
@ -85,6 +86,7 @@ cat <<'EOT' > ~/.profile
|
||||||
|
|
||||||
export PATH=$HOME/dotfiles/bin:$HOME/.local/bin:$PATH
|
export PATH=$HOME/dotfiles/bin:$HOME/.local/bin:$PATH
|
||||||
export VIM_MODE=enhanced
|
export VIM_MODE=enhanced
|
||||||
|
export DMENU_DEFAULT_OPTS='-i -c -fn monospace:13 -nb #222222 -nf #bbbbbb -sb #5b97f7 -sf #eeeeee -l 20'
|
||||||
|
|
||||||
# auto startx
|
# auto startx
|
||||||
[ -z "$DISPLAY" ] && [ -n "$XDG_VTNR" ] && [ "$XDG_VTNR" -eq "1" ] \
|
[ -z "$DISPLAY" ] && [ -n "$XDG_VTNR" ] && [ "$XDG_VTNR" -eq "1" ] \
|
||||||
|
@ -97,5 +99,4 @@ EOT
|
||||||
[ -L "$XDG_CONFIG_HOME/dwm/autostart" ] && rm "$XDG_CONFIG_HOME/dwm/autostart"
|
[ -L "$XDG_CONFIG_HOME/dwm/autostart" ] && rm "$XDG_CONFIG_HOME/dwm/autostart"
|
||||||
mkdir -p "$XDG_CONFIG_HOME/dwm"
|
mkdir -p "$XDG_CONFIG_HOME/dwm"
|
||||||
cp "$DIR/config/dwm/autostart" "$XDG_CONFIG_HOME/dwm/autostart"
|
cp "$DIR/config/dwm/autostart" "$XDG_CONFIG_HOME/dwm/autostart"
|
||||||
lnsf "$DIR/config/dwm/statusbar" "$XDG_CONFIG_HOME/dwm/statusbar"
|
|
||||||
lnsf "$DIR/config/autorandr/postswitch" "$XDG_CONFIG_HOME/autorandr/postswitch"
|
lnsf "$DIR/config/autorandr/postswitch" "$XDG_CONFIG_HOME/autorandr/postswitch"
|
||||||
|
|
2
thunar/install.sh
Executable file → Normal file
2
thunar/install.sh
Executable file → Normal file
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
DIR=$(readlink -f "$(dirname "$0")")
|
DIR=$(dirname "$(readlink -f "$0")")
|
||||||
. "$DIR/../env.sh"
|
. "$DIR/../env.sh"
|
||||||
|
|
||||||
# install ranger
|
# install ranger
|
||||||
|
|
2
tmux/install.sh
Executable file → Normal file
2
tmux/install.sh
Executable file → Normal file
|
@ -1,7 +1,7 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
DIR=$(readlink -f "$(dirname "$0")")
|
DIR=$(dirname "$(readlink -f "$0")")
|
||||||
. "$DIR/../env.sh"
|
. "$DIR/../env.sh"
|
||||||
|
|
||||||
TMUX_VER=3.1b
|
TMUX_VER=3.1b
|
||||||
|
|
0
win/wsl.sh
Executable file → Normal file
0
win/wsl.sh
Executable file → Normal file
Loading…
Reference in New Issue
Block a user