[bugfix] fix some symlink issues

This commit is contained in:
Klesh Wong 2020-09-19 23:33:13 +08:00
parent 17c510b88c
commit 39b8219a26
25 changed files with 97 additions and 70 deletions

View File

@ -25,4 +25,4 @@ case "$PM" in
esac esac
# symlink configuration # symlink configuration
lnsf $DIR/config/zathura ~/.config/zathura lnsf $DIR/config/zathura $XDG_CONFIG_HOME/zathura

0
bak/config/polybar/launch.sh Normal file → Executable file
View File

0
bak/config/sxhkd/launch.sh Normal file → Executable file
View File

View File

@ -16,7 +16,8 @@ case "$PM" in
if [ "$DISTRIB_RELEASE" = "18.04" ] && [ "$(uname -m)" = 'x86_64' ]; then if [ "$DISTRIB_RELEASE" = "18.04" ] && [ "$(uname -m)" = 'x86_64' ]; then
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/cuda-ubuntu1804.pin
sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600 sudo mv cuda-ubuntu1804.pin /etc/apt/preferences.d/cuda-repository-pin-600
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub sudo apt-key adv --fetch-keys \
https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub
sudo add-apt-repository "deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/ /" sudo add-apt-repository "deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/ /"
sudo apt-get update sudo apt-get update
sudo apt-get -y install cuda sudo apt-get -y install cuda
@ -28,7 +29,8 @@ case "$PM" in
fi fi
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \
sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt update sudo apt update
sudo apt install -y nvidia-docker2 sudo apt install -y nvidia-docker2
;; ;;

View File

@ -1 +0,0 @@
/home/klesh/dotfiles/dunst/config

View File

@ -14,4 +14,5 @@ case "$PM" in
esac esac
# symlink configuration # symlink configuration
lnsf $DIR/config ~/.config/dunst lnsf $DIR/config/dunstrc $XDG_CONFIG_HOME/dunst/dunstrc
lnsf $DIR/config/launch.sh $XDG_CONFIG_HOME/dunst/launch.sh

27
env.sh
View File

@ -5,6 +5,7 @@ ROOT=$(readlink -f $(dirname "${BASH_SOURCE[0]}"))
PM=n/a PM=n/a
DEFAULT_SHELL=$(getent passwd $USER | cut -d: -f7) DEFAULT_SHELL=$(getent passwd $USER | cut -d: -f7)
FISH=$(which fish) FISH=$(which fish)
XDG_CONFIG_HOME=${XDG_CONFIG_HOME-"$HOME/.config"}
if which pacman > /dev/null; then if which pacman > /dev/null; then
PM=pacman PM=pacman
@ -29,14 +30,17 @@ in-china () {
} }
lnsf () { lnsf () {
[ "$#" -ne 2 ] && echo "lnsf <src> <symlink>" [ "$#" -ne 2 ] && echo "lnsf <target> <symlink>" && return -1
[ ! -L "$2" ] && rm -rf $2 local TARGET=$(readlink -f $1)
SYM_DIR=$(dirname $2) local SYMLNK=$2
if [ -n "$SYM_DIR" ]; then [ -z "$TARGET" ] && echo "$1 not exists" && return -1
[ ! -d "$SYM_DIR" ] && rm -rf "$SYM_DIR" local SYMDIR=$(dirname $SYMLNK)
mkdir -p "$SYM_DIR" if [ -n "$SYMDIR" ] && [ -L $SYMDIR ]; then
rm -rf $SYMDIR
mkdir -p $SYMDIR
fi fi
ln -sf $1 $2 [ ! -L $SYMLNK ] && rm -rf $SYMLNK
ln -sf $TARGET $SYMLNK
} }
fish-is-default-shell () { fish-is-default-shell () {
@ -47,6 +51,14 @@ has-bluetooth () {
dmesg | grep -i bluetooth dmesg | grep -i bluetooth
} }
eqv () {
local VERSION_PATH=$1
local VERSION=$2
[ ! -f $VERSION_PATH ] && return -1
local VERSION2=$(cat "$VERSION_PATH")
[ "$VERSION" = "$VERSION2" ]
}
# install basic common utilities # install basic common utilities
case "$PM" in case "$PM" in
@ -69,3 +81,4 @@ case "$PM" in
man sudo man sudo
;; ;;
esac esac

View File

@ -1,4 +1,6 @@
set -gx EDITOR vim #!/usr/bin/env fish
set -gx EDITOR nvim
set -gx PGDATA /usr/local/var/postgres set -gx PGDATA /usr/local/var/postgres
set -gx LESS "-SRXF" set -gx LESS "-SRXF"
set -gx LS_COLORS 'ow=34;42;40' set -gx LS_COLORS 'ow=34;42;40'

View File

@ -24,11 +24,10 @@ if ! fish-is-default-shell; then
fi fi
# symlink config # symlink config
[ -L ~/.config/fish ] && rm -rf ~/.config/fish [ -L $XDG_CONFIG_HOME/fish ] && rm -rf $XDG_CONFIG_HOME/fish
lnsf $DIR/config/config.fish ~/.config/fish/config.fish lnsf $DIR/config/config.fish $XDG_CONFIG_HOME/fish/config.fish
lnsf $DIR/config/functions/fish_prompt.fish ~/.config/fish/functions/fish_prompt.fish lnsf $DIR/config/functions/fish_prompt.fish $XDG_CONFIG_HOME/fish/functions/fish_prompt.fish
lnsf $DIR/config/functions/fish_right_prompt.fish ~/.config/fish/functions/fish_right_prompt.fish lnsf $DIR/config/functions/fish_right_prompt.fish $XDG_CONFIG_HOME/fish/functions/fish_right_prompt.fish
lnsf $DIR/config/functions/fisher.fish ~/.config/fish/functions/fisher.fish lnsf $DIR/config/functions/fisher.fish $XDG_CONFIG_HOME/fish/functions/fisher.fish
source ~/.config/fish/config.fish

View File

@ -11,7 +11,7 @@ case "$PM" in
fonts-cascadia-code \ fonts-cascadia-code \
ttf-dejavu \ ttf-dejavu \
fonts-urw-base35 \ fonts-urw-base35 \
fonts-noto-cjk \ fonts-wqy-microhei \
gucharmap gucharmap
# network manager # network manager
sudo apt install \ sudo apt install \
@ -31,7 +31,7 @@ case "$PM" in
freetype2 \ freetype2 \
ttf-cascadia-code \ ttf-cascadia-code \
ttf-dejavu \ ttf-dejavu \
noto-fonts-cjk \ wqy-microhei \
gucharmap gucharmap
# clipboard # clipboard
sudo pacman -S --needed \ sudo pacman -S --needed \

View File

@ -16,5 +16,5 @@ case "$PM" in
esac esac
# configuration # configuration
lnsf $DIR/config/gtk-3.0/settings.ini ~/.config/gtk-3.0/settings.ini lnsf $DIR/config/gtk-3.0/settings.ini $XDG_CONFIG_HOME/gtk-3.0/settings.ini
lnsf $DIR/config/qt5ct/qt5ct.conf ~/.config/qt5ct/qt5ct.conf lnsf $DIR/config/qt5ct/qt5ct.conf $XDG_CONFIG_HOME/qt5ct/qt5ct.conf

View File

@ -19,5 +19,5 @@ case "$PM" in
esac esac
# symlink configuration # symlink configuration
lnsf $DIR/config/init.vim ~/.config/nvim/init.vim lnsf $DIR/config/init.vim $XDG_CONFIG_HOME/nvim/init.vim
lnsf $DIR/config/init.vim ~/.vimrc lnsf $DIR/config/init.vim ~/.vimrc

View File

@ -1 +0,0 @@
/home/klesh/dotfiles/picom/config

View File

@ -20,14 +20,23 @@ case "$PM" in
;; ;;
esac esac
# build and install picom-next # build and install picom
curl 'https://github.com/yshui/picom/archive/next.zip' -sLo /tmp/picom-next.zip VERSION=next
unzip /tmp/picom-next.zip -d /tmp VERSION_PATH=$XDG_CONFIG_HOME/picom/version
pushd /tmp/picom-next if [ "$VERSION" = "next" ] || ! eqv "$VERSION_PATH" "$VERSION"; then
meson --buildtype=release . build echo Downloading picom $VERSION
sudo ninja -C build install rm -rf /tmp/picom.zip
popd curl "https://github.com/yshui/picom/archive/$VERSION.zip" -Lo /tmp/picom-$VERSION.zip
sudo rm -rf /tmp/picom* unzip /tmp/picom-$VERSION.zip -d /tmp
pushd /tmp/picom-$VERSION
meson --buildtype=release . build
sudo ninja -C build install
popd
echo "$VERSION" > "$VERSION_PATH"
sudo rm -rf /tmp/picom-$VERSION*
fi
# configuration # configuration
lnsf $DIR/config ~/.config/picom lnsf $DIR/config/launch.sh $XDG_CONFIG_HOME/picom/launch.sh
lnsf $DIR/config/toggle.sh $XDG_CONFIG_HOME/picom/toggle.sh
lnsf $DIR/config/picom.conf $XDG_CONFIG_HOME/picom/picom.conf

View File

@ -14,11 +14,11 @@ case "$PM" in
;; ;;
esac esac
# symlink configuration
lnsf $DIR/config/mpd $XDG_CONFIG_HOME/mpd
lnsf $DIR/config/ncmpcpp $XDG_CONFIG_HOME/ncmpcpp
lnsf $DIR/config/mpv $XDG_CONFIG_HOME/mpv
# enable for current user # enable for current user
systemctl --user enable mpd systemctl --user enable mpd
systemctl --user start mpd systemctl --user start mpd
# symlink configuration
lnsf $DIR/config/mpd ~/.config/mpd
lnsf $DIR/config/ncmpcpp ~/.config/ncmpcpp
lnsf $DIR/config/mpv ~/.config/mpv

1
postswitch Symbolic link
View File

@ -0,0 +1 @@
/home/klesh/.config/autorandr/postswitch

View File

@ -10,8 +10,8 @@ case "$PM" in
sudo pip3 install ranger-fm ueberzug sudo pip3 install ranger-fm ueberzug
;; ;;
pacman) pacman)
sudo pacman -S --needed ranger ueberzug sudo pip install ranger-fm ueberzug
;; ;;
esac esac
lnsf $DIR/config ~/.config/ranger lnsf $DIR/config $XDG_CONFIG_HOME/ranger

View File

@ -0,0 +1,24 @@
#!/bin/bash
# set system dpi to the minimal dpi among all connected monitors
MIN_DPI=99999999
# loop through all connected monitors line by line
while IFS= read -r LINE; do
WIDTH_PX=$(echo $LINE | grep -oP '\d+(?=x\d+)')
[ -z "$WIDTH_PX" ] && continue
WIDTH_MM=$(echo $LINE | grep -oP '\d+(?=mm x)')
# calculate dpi of the monitor
DPI=$(bc <<< "$WIDTH_PX*25.4/$WIDTH_MM")
# update min dpi
if [ "$DPI" -lt "$MIN_DPI" ]; then
MIN_DPI=$DPI
fi
done <<< "$(xrandr | grep ' connected')"
# update dpi
echo setting dpi to $MIN_DPI
echo Xft.dpi: $MIN_DPI | xrdb -merge
nitrogen --restore

View File

@ -1 +0,0 @@
/home/klesh/dotfiles/suckless/config

View File

@ -32,7 +32,7 @@ case "$PM" in
gnome-keyring \ gnome-keyring \
xss-lock \ xss-lock \
nitrogen \ nitrogen \
lm-sensors \ i2c-tools \
trayer trayer
;; ;;
esac esac
@ -80,10 +80,12 @@ export SSH_AUTH_SOCK
autorandr --change --force autorandr --change --force
while :; do while :; do
ssh-agent dwm 2>/tmp/dwm.log || break ssh-agent dwm 2>/tmp/dwm.log || break
done done
EOT EOT
# config dwm # config dwm
lnsf $DIR/config ~/.config/dwm lnsf $DIR/config/dwm/autostart $XDG_CONFIG_HOME/dwm/autostart
lnsf $DIR/config/dwm/dwmbar $XDG_CONFIG_HOME/dwm/dwmbar
lnsf $DIR/config/autorandr/postswitch $XDG_CONFIG_HOME/autorandr/postswitch

View File

@ -1,23 +0,0 @@
#!/usr/bin/env fish
set connecteds (xrandr | grep ' connected')
set total (count $monitors)
set dpis
set min_dpi 100000
# set dpi to the lowest one
for connected in $connecteds
set name (echo $connected | awk -F' ' '{print $1}')
set x_res (echo $connected | grep -oP '\d+x\d+' | string split 'x' | head -n 1)
set x_wid (echo $connected | grep -oP '\d+mm' | head -n 1 | grep -oP '\d+')
set dpi (math -s0 "$x_res*25.4/$x_wid")
if test $dpi -lt $min_dpi
set min_dpi $dpi
end
end
echo setting dpi to $min_dpi
echo Xft.dpi: $min_dpi | xrdb -merge
nitrogen --restore

View File

@ -16,4 +16,4 @@ case "$PM" in
esac esac
# symlink configuration # symlink configuration
lnsf $DIR/Thunar/uca.xml ~/.config/Thunar/uca.xml lnsf $DIR/Thunar/uca.xml $XDG_CONFIG_HOME/Thunar/uca.xml

View File

@ -31,4 +31,4 @@ esac
# symlink configuration # symlink configuration
lnsf $DIR/tmux.conf ~/.tmux.conf lnsf $DIR/tmux.conf ~/.tmux.conf
lnsf $DIR/config ~/.config/tmux lnsf $DIR/config $XDG_CONFIG_HOME/tmux