mirror of
https://github.com/Phantop/dotfiles
synced 2024-12-23 21:56:45 +00:00
Better setup, compression, ydl
This commit is contained in:
parent
9707d44d4b
commit
062c9714b1
|
@ -46,7 +46,7 @@ a invid 'tmux new -s 0 -d "docker-compose -f ~/.config/invid.yml up --build"'
|
||||||
a launcher 'rofi -combi-modi "drun,run" -show combi -modi "combi,window"'
|
a launcher 'rofi -combi-modi "drun,run" -show combi -modi "combi,window"'
|
||||||
a listen 'pactl list | grep loop && pactl unload-module module-loopback || pactl load-module module-loopback'
|
a listen 'pactl list | grep loop && pactl unload-module module-loopback || pactl load-module module-loopback'
|
||||||
a symlinks 'fd -td -d1 . $D -x sh -c "rm ~/{/}; rmdir ~/{/}; ln -s {} ~/{/}"'
|
a symlinks 'fd -td -d1 . $D -x sh -c "rm ~/{/}; rmdir ~/{/}; ln -s {} ~/{/}"'
|
||||||
a ydl 'youtube-dl -ciw --write-sub --write-auto-sub --embed-subs --sub-lang=en -o "%(title)s.%(ext)s"'
|
a ydl 'yt-dlp -ciw --write-sub --write-auto-sub --embed-subs --sub-lang=en -o "%(title)s.%(ext)s"'
|
||||||
|
|
||||||
a compress '7z a -m0=flzma2 -mx9 -mmt=8 -mfb=273 -md=256m -ms=on (realpath $argv[1]).7z'
|
a compress '7z a -m0=flzma2 -mx9 -mmt=8 -mfb=273 -md=256m -ms=on (realpath $argv[1]).7z'
|
||||||
a dwarf 'mkdwarfs -i . -o $PWD.dwarfs'
|
a dwarf 'mkdwarfs -i . -o $PWD.dwarfs'
|
||||||
|
|
|
@ -1,6 +1,14 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
fd -e pdf -x cpdfsqueeze {} {}
|
fd -e pdf -x cpdfsqueeze {} {}
|
||||||
|
fd -e pdf -x qpdf --stream-data=compress --replace-input --compress-streams=y --recompress-flate --compression-level=9 --optimize-images {}
|
||||||
|
|
||||||
fd -e png -x oxipng
|
fd -e png -x oxipng
|
||||||
fd -e{epub,zip,cbz,jar,docx,odt,apk} -x advzip -z4
|
fd -e png -X pinga pingo -s9
|
||||||
fd -ejp{e,}g -x jpegoptim
|
fd -ejp{e,}g -x jpegoptim
|
||||||
fd -e webp -x cwebp -z 9 -mt {} -o {}
|
fd -e webp -x cwebp -z 9 -mt {} -o {}
|
||||||
|
|
||||||
|
fd -e{epub,zip,cbz,jar,docx,odt,apk} -x advzip -z4
|
||||||
|
fd -t f -x advdef -z4
|
||||||
|
|
||||||
|
fd -e mp3 -x mp3packer
|
||||||
|
fd -e mp3 -x rename -- -vbr ''
|
||||||
|
|
|
@ -1,44 +1,42 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
gnome="$(echo eog file-roller gnome-{calendar,photos,mpv,terminal} nautilus rhythmbox)"
|
alias s=sudo se="sudo eopkg -y" g=git
|
||||||
sudo eopkg rm -y firefox $gnome hexchat onboard thunderbird
|
|
||||||
|
|
||||||
|
gnome="$(echo eog file-roller gnome-{calendar,photos,mpv,terminal} nautilus rhythmbox)"
|
||||||
audio="audacious audacious-plugins audacity opus-tools quodlibet spek"
|
audio="audacious audacious-plugins audacity opus-tools quodlibet spek"
|
||||||
dev="ccache docker-compose git-extras llvm-clang neovim parallel solbuild tig upx"
|
dev="ccache docker-compose git-extras llvm-clang neovim parallel solbuild tig upx"
|
||||||
gui="bleachbit caja gmic-gimp engrampa keepassxc kitty lutris vorta"
|
gui="bleachbit caja gmic-gimp engrampa keepassxc kitty lutris vorta"
|
||||||
media="avidemux gaupol jpegoptim mpv playerctl usbmuxd viewnior zathura-poppler"
|
media="avidemux gaupol jpegoptim mpv playerctl usbmuxd viewnior zathura-poppler"
|
||||||
rice="adapta-gtk-theme ant-dracula-gtk-theme font-ubuntu-ttf rofi starship stow"
|
rice="ant-dracula-gtk-theme font-ubuntu-ttf rofi starship stow"
|
||||||
term="advancecomp autojump fd fish fzf innoextract most ncdu p7zip ranger ripgrep tmux"
|
term="advancecomp autojump fd fish fzf innoextract most ncdu p7zip ranger ripgrep tmux"
|
||||||
sys="corectrl ifuse linux-tools-cpupower python-wheel rsync tlp"
|
sys="corectrl ifuse linux-tools-cpupower python-wheel rsync tlp"
|
||||||
web="arcanist aria2 nicotine-plus qutebrowser openssh-server rclone subliminal syncthing-gtk"
|
web="arcanist aria2 nicotine-plus qutebrowser openssh-server rclone subliminal syncthing-gtk"
|
||||||
|
|
||||||
sudo eopkg up -y
|
se up
|
||||||
sudo eopkg it -y -c system.devel $audio $dev $gui $media $rice $sys $term $web
|
se it -c system.devel $audio $dev $gui $media $rice $sys $term $web
|
||||||
|
se rm $gnome firefox hexchat onboard thunderbird
|
||||||
|
se rm --ignore-dependency plata-theme tracker
|
||||||
|
|
||||||
echo 'source ~/.config/bashrc' > ~/.bashrc
|
|
||||||
parallel stow --no-folding -d ~/.dotfiles/dot-{} -t ~/.{} . ::: config local
|
parallel stow --no-folding -d ~/.dotfiles/dot-{} -t ~/.{} . ::: config local
|
||||||
|
echo 'source ~/.config/bashrc' > ~/.parallel/will-cite > ~/.bashrc
|
||||||
|
|
||||||
mkdir -p ~/.config/mpv/shaders ~/.local/share/qutebrowser/pdfjs ~/.parallel/will-cite
|
un(){ F=$(mktemp); mkdir -p $2; curl https://api.github.com/repos/$1/releases |\
|
||||||
un(){ F=$(mktemp); curl https://api.github.com/repos/$1/releases | grep -om1 http.\*zip | wget -i- -O$F; unzip $F -d $2;}
|
grep -om1 http.\*zip | wget -i- -O$F; unzip $F -d $2;}
|
||||||
|
|
||||||
un bloc97/Anime4k ~/.config/mpv/shaders
|
un bloc97/Anime4k ~/.config/mpv/shaders
|
||||||
un mozilla/pdf.js ~/.local/share/qutebrowser/pdfjs
|
un mozilla/pdf.js ~/.local/share/qutebrowser/pdfjs
|
||||||
|
|
||||||
git g gh:junegunn/vim-plug ~/.config/nvim/autoload
|
|
||||||
nvim +PlugUpdate +q +q
|
|
||||||
|
|
||||||
pip3 install adblock pipx-in-pipx readability-lxml sh
|
pip3 install adblock pipx-in-pipx readability-lxml sh
|
||||||
parallel pipx install ::: deemix soundscrape tldr yt-dlp
|
parallel pipx install ::: deemix soundscrape tldr yt-dlp
|
||||||
|
|
||||||
sudo eopkg rm -y --ignore-dependency tracker
|
s usermod -aG docker $USER
|
||||||
sudo systemctl mask tracker-{store,miner-{fs,rss,apps},extra,writeback}
|
s systemctl enable --now docker
|
||||||
|
s systemctl mask tracker-{store,miner-{fs,rss,apps},extra,writeback}
|
||||||
|
|
||||||
sudo systemctl enable --now docker
|
g g p:appdwarf ~/.appdwarf
|
||||||
sudo usermod -aG docker $USER
|
g g p:solus-stuff ~/.solus
|
||||||
|
g g p:phantop.github.io ~/.site
|
||||||
|
g g p:haiku-icons ~/.local/share/icons/Haiku
|
||||||
|
g g h:junegunn/vim-plug ~/.config/nvim/autoload
|
||||||
|
nvim +PlugUpdate +q +q
|
||||||
|
|
||||||
git g p:appdwarf ~/.appdwarf
|
chsh -s $(which fish)
|
||||||
git g p:haiku-icons ~/.local/share/icons/Haiku
|
|
||||||
git g p:phantop.github.io ~/.site
|
|
||||||
git g p:solus-stuff ~/.solus
|
|
||||||
|
|
||||||
chsh -s /usr/bin/fish
|
|
||||||
fish -c "aliases;clean"
|
fish -c "aliases;clean"
|
||||||
|
|
5
dot-local/bin/undeflate
Executable file
5
dot-local/bin/undeflate
Executable file
|
@ -0,0 +1,5 @@
|
||||||
|
#!/bin/bash
|
||||||
|
fd -e pdf -x qpdf --stream-data=uncompress --replace-input --compress-streams=n --recompress-flate --compression-level=0 --optimize-images {}
|
||||||
|
fd -e{epub,zip,cbz,jar,docx,odt,apk} -x advzip -z0
|
||||||
|
fd -e png -x advpng -z0
|
||||||
|
fd -t f -x advdef -z
|
179
dot-local/bin/zzexe
Executable file
179
dot-local/bin/zzexe
Executable file
|
@ -0,0 +1,179 @@
|
||||||
|
#!/bin/sh
|
||||||
|
tab=' '
|
||||||
|
nl='
|
||||||
|
'
|
||||||
|
IFS=" $tab$nl"
|
||||||
|
|
||||||
|
decomp=0
|
||||||
|
res=0
|
||||||
|
while :; do
|
||||||
|
case $1 in
|
||||||
|
-d) decomp=1; shift;;
|
||||||
|
--) shift; break;;
|
||||||
|
*) break;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
if test $# -eq 0; then
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
tmp=
|
||||||
|
trap 'res=$?
|
||||||
|
test -n "$tmp" && rm -f "$tmp"
|
||||||
|
(exit $res); exit $res
|
||||||
|
' 0 1 2 3 5 10 13 15
|
||||||
|
|
||||||
|
mktemp_status=
|
||||||
|
|
||||||
|
for i do
|
||||||
|
case $i in
|
||||||
|
-*) file=./$i;;
|
||||||
|
*) file=$i;;
|
||||||
|
esac
|
||||||
|
if test ! -f "$file" || test ! -r "$file"; then
|
||||||
|
res=$?
|
||||||
|
printf >&2 '%s\n' "$0: $i is not a readable regular file"
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
if test $decomp -eq 0; then
|
||||||
|
if sed -e 1d -e 2q "$file" | grep "^skip=[0-9][0-9]*$" >/dev/null; then
|
||||||
|
printf >&2 '%s\n' "$0: $i is already zzexe'd"
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if test -u "$file"; then
|
||||||
|
printf >&2 '%s\n' "$0: $i has setuid permission, unchanged"
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
if test -g "$file"; then
|
||||||
|
printf >&2 '%s\n' "$0: $i has setgid permission, unchanged"
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
dir=`dirname "$file"` || dir=$TMPDIR
|
||||||
|
test -d "$dir" && test -w "$dir" && test -x "$dir" || dir=/tmp
|
||||||
|
test -n "$tmp" && rm -f "$tmp"
|
||||||
|
if test -z "$mktemp_status"; then
|
||||||
|
type mktemp >/dev/null 2>&1
|
||||||
|
mktemp_status=$?
|
||||||
|
fi
|
||||||
|
case $dir in
|
||||||
|
*/) ;;
|
||||||
|
*) dir=$dir/;;
|
||||||
|
esac
|
||||||
|
if test $mktemp_status -eq 0; then
|
||||||
|
tmp=`mktemp "${dir}zzexeXXXXXXXXX"`
|
||||||
|
else
|
||||||
|
tmp=${dir}zzexe$$
|
||||||
|
fi && { cp -p "$file" "$tmp" 2>/dev/null || cp "$file" "$tmp"; } || {
|
||||||
|
res=$?
|
||||||
|
printf >&2 '%s\n' "$0: cannot copy $file"
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
if test -w "$tmp"; then
|
||||||
|
writable=1
|
||||||
|
else
|
||||||
|
writable=0
|
||||||
|
chmod u+w "$tmp" || {
|
||||||
|
res=$?
|
||||||
|
printf >&2 '%s\n' "$0: cannot chmod $tmp"
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
fi
|
||||||
|
if test $decomp -eq 0; then
|
||||||
|
(cat <<'EOF' &&
|
||||||
|
#!/bin/sh
|
||||||
|
skip=49
|
||||||
|
|
||||||
|
tab=' '
|
||||||
|
nl='
|
||||||
|
'
|
||||||
|
IFS=" $tab$nl"
|
||||||
|
|
||||||
|
umask=`umask`
|
||||||
|
umask 77
|
||||||
|
|
||||||
|
zztmpdir=
|
||||||
|
trap 'res=$?
|
||||||
|
test -n "$zztmpdir" && rm -fr "$zztmpdir"
|
||||||
|
(exit $res); exit $res
|
||||||
|
' 0 1 2 3 5 10 13 15
|
||||||
|
|
||||||
|
case $TMPDIR in
|
||||||
|
/ | /*/) ;;
|
||||||
|
/*) TMPDIR=$TMPDIR/;;
|
||||||
|
*) TMPDIR=/tmp/;;
|
||||||
|
esac
|
||||||
|
if type mktemp >/dev/null 2>&1; then
|
||||||
|
zztmpdir=`mktemp -d "${TMPDIR}zztmpXXXXXXXXX"`
|
||||||
|
else
|
||||||
|
zztmpdir=${TMPDIR}zztmp$$; mkdir $zztmpdir
|
||||||
|
fi || { (exit 127); exit 127; }
|
||||||
|
|
||||||
|
zztmp=$zztmpdir/$0
|
||||||
|
case $0 in
|
||||||
|
-* | */*'
|
||||||
|
') mkdir -p "$zztmp" && rm -r "$zztmp";;
|
||||||
|
*/*) zztmp=$zztmpdir/`basename "$0"`;;
|
||||||
|
esac || { (exit 127); exit 127; }
|
||||||
|
|
||||||
|
case `printf 'X\n' | tail -n +1 2>/dev/null` in
|
||||||
|
X) tail_n=-n;;
|
||||||
|
*) tail_n=;;
|
||||||
|
esac
|
||||||
|
if tail $tail_n +$skip <"$0" | zstd -cd > "$zztmp"; then
|
||||||
|
umask $umask
|
||||||
|
chmod 700 "$zztmp"
|
||||||
|
(sleep 5; rm -fr "$zztmpdir") 2>/dev/null &
|
||||||
|
"$zztmp" ${1+"$@"}; res=$?
|
||||||
|
else
|
||||||
|
printf >&2 '%s\n' "Cannot decompress $0"
|
||||||
|
(exit 127); res=127
|
||||||
|
fi; exit $res
|
||||||
|
EOF
|
||||||
|
zstd -cv19 "$file") > "$tmp" || {
|
||||||
|
res=$?
|
||||||
|
printf >&2 '%s\n' "$0: compression not possible for $i, file unchanged."
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
else
|
||||||
|
# decompression
|
||||||
|
skip=44
|
||||||
|
skip_line=`sed -e 1d -e 2q "$file"`
|
||||||
|
case $skip_line in
|
||||||
|
skip=[0-9] | skip=[0-9][0-9] | skip=[0-9][0-9][0-9])
|
||||||
|
eval "$skip_line";;
|
||||||
|
esac
|
||||||
|
case `printf 'X\n' | tail -n +1 2>/dev/null` in
|
||||||
|
X) tail_n=-n;;
|
||||||
|
*) tail_n=;;
|
||||||
|
esac
|
||||||
|
tail $tail_n +$skip "$file" | zstd -cd > "$tmp" || {
|
||||||
|
res=$?
|
||||||
|
printf >&2 '%s\n' "$0: $i probably not in zzexe format, file unchanged."
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
fi
|
||||||
|
test $writable -eq 1 || chmod u-w "$tmp" || {
|
||||||
|
res=$?
|
||||||
|
printf >&2 '%s\n' "$0: $tmp: cannot chmod"
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
ln -f "$file" "$file~" 2>/dev/null || {
|
||||||
|
# Hard links may not work. Fall back on rm+cp so that $file always exists.
|
||||||
|
rm -f "$file~" && cp -p "$file" "$file~"
|
||||||
|
} || {
|
||||||
|
res=$?
|
||||||
|
printf >&2 '%s\n' "$0: cannot backup $i as $i~"
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
mv -f "$tmp" "$file" || {
|
||||||
|
res=$?
|
||||||
|
printf >&2 '%s\n' "$0: cannot rename $tmp to $i"
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
tmp=
|
||||||
|
done
|
||||||
|
(exit $res); exit $res
|
Loading…
Reference in a new issue