Smaller configuration (- asdf, flatpak, kitty, neovim)
This commit is contained in:
parent
3bd96b90b7
commit
fb1ec6b795
@ -1,21 +0,0 @@
|
|||||||
background #000000
|
|
||||||
foreground #ffffff
|
|
||||||
cursor #ffffff
|
|
||||||
selection_background #b4d5ff
|
|
||||||
color0 #000000
|
|
||||||
color8 #555753
|
|
||||||
color1 #cc0000
|
|
||||||
color9 #ef2929
|
|
||||||
color2 #4e9a06
|
|
||||||
color10 #8ae234
|
|
||||||
color3 #c4a000
|
|
||||||
color11 #fce94f
|
|
||||||
color4 #3465a4
|
|
||||||
color12 #729fcf
|
|
||||||
color5 #75507b
|
|
||||||
color13 #ad7fa8
|
|
||||||
color6 #06989a
|
|
||||||
color14 #34e2e2
|
|
||||||
color7 #d3d7cf
|
|
||||||
color15 #eeeeec
|
|
||||||
selection_foreground #000000
|
|
@ -1,55 +0,0 @@
|
|||||||
# vim:fileencoding=utf-8:ft=conf:foldmethod=marker
|
|
||||||
|
|
||||||
#: Colors {{{
|
|
||||||
|
|
||||||
# selection_foreground #FFFFFF
|
|
||||||
# selection_background #5294E2
|
|
||||||
|
|
||||||
#: Colors for selected text while grabbing.
|
|
||||||
|
|
||||||
#: }}}
|
|
||||||
|
|
||||||
#: Key shortcuts {{{
|
|
||||||
|
|
||||||
# map q quit
|
|
||||||
|
|
||||||
#: Exit the grabber without copying anything.
|
|
||||||
|
|
||||||
# map Enter confirm
|
|
||||||
map y confirm
|
|
||||||
|
|
||||||
#: Copy the selected region to clipboard and exit.
|
|
||||||
|
|
||||||
map h move left
|
|
||||||
map l move right
|
|
||||||
map k move up
|
|
||||||
map j move down
|
|
||||||
map Ctrl+b move page up
|
|
||||||
map Ctrl+f move page down
|
|
||||||
map 0 move first
|
|
||||||
map _ move first nonwhite
|
|
||||||
map $ move last nonwhite
|
|
||||||
map g move top
|
|
||||||
map G move bottom
|
|
||||||
map b move word left
|
|
||||||
map w move word right
|
|
||||||
|
|
||||||
#: Move the cursor around the screen.
|
|
||||||
#: This will scroll the buffer if needed and possible.
|
|
||||||
#: Note that due to https://github.com/kovidgoyal/kitty/issues/5469, the ctrl+d
|
|
||||||
#: shortcut will only work with kitty >= 0.26.2
|
|
||||||
|
|
||||||
map Ctrl+y scroll up
|
|
||||||
map Ctrl+e scroll down
|
|
||||||
|
|
||||||
#: Scroll the buffer, if possible.
|
|
||||||
#: Cursor stays in the same position relative to the screen.
|
|
||||||
|
|
||||||
map v set_mode visual
|
|
||||||
map Ctrl+v set_mode block
|
|
||||||
map Ctrl+Left_Bracket set_mode normal
|
|
||||||
map Escape set_mode normal
|
|
||||||
|
|
||||||
#: Change the selecting mode.
|
|
||||||
|
|
||||||
#: }}}
|
|
@ -1,174 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
# Copyright (C) 2018 Kovid Goyal <kovid at kovidgoyal.net>
|
|
||||||
#
|
|
||||||
# Distributed under terms of the GPLv3 license.
|
|
||||||
|
|
||||||
{ \unalias command; \unset -f command; } >/dev/null 2>&1
|
|
||||||
tdir=''
|
|
||||||
cleanup() {
|
|
||||||
[ -n "$tdir" ] && {
|
|
||||||
command rm -rf "$tdir"
|
|
||||||
tdir=''
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
die() {
|
|
||||||
cleanup
|
|
||||||
printf "\033[31m%s\033[m\n\r" "$*" > /dev/stderr;
|
|
||||||
exit 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
detect_network_tool() {
|
|
||||||
if command -v curl 2> /dev/null > /dev/null; then
|
|
||||||
fetch() {
|
|
||||||
command curl -fL "$1"
|
|
||||||
}
|
|
||||||
fetch_quiet() {
|
|
||||||
command curl -fsSL "$1"
|
|
||||||
}
|
|
||||||
elif command -v wget 2> /dev/null > /dev/null; then
|
|
||||||
fetch() {
|
|
||||||
command wget -O- "$1"
|
|
||||||
}
|
|
||||||
fetch_quiet() {
|
|
||||||
command wget --quiet -O- "$1"
|
|
||||||
}
|
|
||||||
else
|
|
||||||
die "Neither curl nor wget available, cannot download kitty"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
detect_os() {
|
|
||||||
arch=""
|
|
||||||
case "$(command uname)" in
|
|
||||||
'Darwin') OS="macos";;
|
|
||||||
'Linux')
|
|
||||||
OS="linux"
|
|
||||||
case "$(command uname -m)" in
|
|
||||||
amd64|x86_64) arch="x86_64";;
|
|
||||||
aarch64*) arch="arm64";;
|
|
||||||
armv8*) arch="arm64";;
|
|
||||||
*) die "kitty binaries not available for architecture $(command uname -m)";;
|
|
||||||
esac
|
|
||||||
;;
|
|
||||||
*) die "kitty binaries are not available for $(command uname)"
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
|
|
||||||
expand_tilde() {
|
|
||||||
tilde_less="${1#\~/}"
|
|
||||||
[ "$1" != "$tilde_less" ] && tilde_less="$HOME/$tilde_less"
|
|
||||||
printf '%s' "$tilde_less"
|
|
||||||
}
|
|
||||||
|
|
||||||
parse_args() {
|
|
||||||
dest='~/.local'
|
|
||||||
[ "$OS" = "macos" ] && dest="/Applications"
|
|
||||||
launch='y'
|
|
||||||
installer=''
|
|
||||||
while :; do
|
|
||||||
case "$1" in
|
|
||||||
dest=*) dest="${1#*=}";;
|
|
||||||
launch=*) launch="${1#*=}";;
|
|
||||||
installer=*) installer="${1#*=}";;
|
|
||||||
"") break;;
|
|
||||||
*) die "Unrecognized command line option: $1";;
|
|
||||||
esac
|
|
||||||
shift
|
|
||||||
done
|
|
||||||
dest=$(expand_tilde "${dest}")
|
|
||||||
[ "$launch" != "y" -a "$launch" != "n" ] && die "Unrecognized command line option: launch=$launch"
|
|
||||||
dest="$dest/kitty.app"
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
get_file_url() {
|
|
||||||
url="https://github.com/kovidgoyal/kitty/releases/download/$1/kitty-$2"
|
|
||||||
if [ "$OS" = "macos" ]; then
|
|
||||||
url="$url.dmg"
|
|
||||||
else
|
|
||||||
url="$url-$arch.txz"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
get_release_url() {
|
|
||||||
release_version=$(fetch_quiet "https://sw.kovidgoyal.net/kitty/current-version.txt")
|
|
||||||
[ $? -ne 0 -o -z "$release_version" ] && die "Could not get kitty latest release version"
|
|
||||||
get_file_url "v$release_version" "$release_version"
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
get_nightly_url() {
|
|
||||||
get_file_url "nightly" "nightly"
|
|
||||||
}
|
|
||||||
|
|
||||||
get_download_url() {
|
|
||||||
installer_is_file="n"
|
|
||||||
case "$installer" in
|
|
||||||
"nightly") get_nightly_url ;;
|
|
||||||
"") get_release_url ;;
|
|
||||||
*) installer_is_file="y" ;;
|
|
||||||
esac
|
|
||||||
}
|
|
||||||
|
|
||||||
download_installer() {
|
|
||||||
tdir=$(command mktemp -d "/tmp/kitty-install-XXXXXXXXXXXX")
|
|
||||||
[ "$installer_is_file" != "y" ] && {
|
|
||||||
printf '%s\n\n' "Downloading from: $url"
|
|
||||||
if [ "$OS" = "macos" ]; then
|
|
||||||
installer="$tdir/kitty.dmg"
|
|
||||||
else
|
|
||||||
installer="$tdir/kitty.txz"
|
|
||||||
fi
|
|
||||||
fetch "$url" > "$installer" || die "Failed to download: $url"
|
|
||||||
installer_is_file="y"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
linux_install() {
|
|
||||||
command mkdir "$tdir/mp"
|
|
||||||
command tar -C "$tdir/mp" "-xJof" "$installer" || die "Failed to extract kitty tarball"
|
|
||||||
printf "%s\n" "Installing to $dest"
|
|
||||||
command rm -rf "$dest" || die "Failed to delete $dest"
|
|
||||||
command mv "$tdir/mp" "$dest" || die "Failed to move kitty.app to $dest"
|
|
||||||
}
|
|
||||||
|
|
||||||
macos_install() {
|
|
||||||
command mkdir "$tdir/mp"
|
|
||||||
command hdiutil attach "$installer" "-mountpoint" "$tdir/mp" || die "Failed to mount kitty.dmg"
|
|
||||||
printf "%s\n" "Installing to $dest"
|
|
||||||
command rm -rf "$dest"
|
|
||||||
command mkdir -p "$dest" || die "Failed to create the directory: $dest"
|
|
||||||
command ditto -v "$tdir/mp/kitty.app" "$dest"
|
|
||||||
rc="$?"
|
|
||||||
command hdiutil detach "$tdir/mp"
|
|
||||||
[ "$rc" != "0" ] && die "Failed to copy kitty.app from mounted dmg"
|
|
||||||
}
|
|
||||||
|
|
||||||
exec_kitty() {
|
|
||||||
if [ "$OS" = "macos" ]; then
|
|
||||||
exec "open" "$dest"
|
|
||||||
else
|
|
||||||
exec "$dest/bin/kitty" "--detach"
|
|
||||||
fi
|
|
||||||
die "Failed to launch kitty"
|
|
||||||
}
|
|
||||||
|
|
||||||
main() {
|
|
||||||
detect_os
|
|
||||||
parse_args "$@"
|
|
||||||
detect_network_tool
|
|
||||||
get_download_url
|
|
||||||
download_installer
|
|
||||||
if [ "$OS" = "macos" ]; then
|
|
||||||
macos_install
|
|
||||||
else
|
|
||||||
linux_install
|
|
||||||
fi
|
|
||||||
cleanup
|
|
||||||
[ "$launch" = "y" ] && exec_kitty
|
|
||||||
exit 0
|
|
||||||
}
|
|
||||||
|
|
||||||
main "$@"
|
|
Binary file not shown.
Before Width: | Height: | Size: 33 KiB |
@ -1,213 +0,0 @@
|
|||||||
#: Kitty Settings
|
|
||||||
#
|
|
||||||
# $HOME/.local/kitty.app/share/doc/kitty/html/conf.html
|
|
||||||
|
|
||||||
#: Fonts {{{1
|
|
||||||
|
|
||||||
# kitty +list-fonts
|
|
||||||
# kitty --debug-font-fallback
|
|
||||||
|
|
||||||
font_family JetBrains Mono Regular
|
|
||||||
italic_font JetBrains Mono Italic
|
|
||||||
bold_font JetBrains Mono Bold
|
|
||||||
bold_italic_font JetBrains Mono Bold Italic
|
|
||||||
|
|
||||||
font_size 11.0
|
|
||||||
disable_ligatures cursor
|
|
||||||
|
|
||||||
# https://github.com/JetBrains/JetBrainsMono#opentype-features
|
|
||||||
# https://github.com/JetBrains/JetBrainsMono/wiki/OpenType-features#list-of-features
|
|
||||||
font_features JetBrainsMono-Regular zero
|
|
||||||
font_features JetBrainsMono-Italic zero
|
|
||||||
font_features JetBrainsMono-Bold zero
|
|
||||||
font_features JetBrainsMono-BoldItalic zero
|
|
||||||
|
|
||||||
# Nerd Fonts - https://github.com/ryanoasis/nerd-fonts/wiki/Glyph-Sets-and-Code-Points#overview
|
|
||||||
symbol_map U+23fb-U+23fe Symbols Nerd Font
|
|
||||||
symbol_map U+2665 Symbols Nerd Font
|
|
||||||
symbol_map U+26a1 Symbols Nerd Font
|
|
||||||
symbol_map U+2b58 Symbols Nerd Font
|
|
||||||
symbol_map U+e000-U+e00a Symbols Nerd Font
|
|
||||||
symbol_map U+e0a0-U+e0a2 Symbols Nerd Font
|
|
||||||
symbol_map U+e0a3 Symbols Nerd Font
|
|
||||||
symbol_map U+e0b0-U+e0b3 Symbols Nerd Font
|
|
||||||
symbol_map U+e0b4-U+e0c8 Symbols Nerd Font
|
|
||||||
symbol_map U+e0ca Symbols Nerd Font
|
|
||||||
symbol_map U+e0cc-U+e0d4 Symbols Nerd Font
|
|
||||||
symbol_map U+e200-U+e2a9 Symbols Nerd Font
|
|
||||||
symbol_map U+e300-U+e3e3 Symbols Nerd Font
|
|
||||||
symbol_map U+e5fa-U+e6b1 Symbols Nerd Font
|
|
||||||
symbol_map U+e700-U+e7c5 Symbols Nerd Font
|
|
||||||
symbol_map U+ea60-U+ebeb Symbols Nerd Font
|
|
||||||
symbol_map U+f000-U+f2e0 Symbols Nerd Font
|
|
||||||
symbol_map U+f300-U+f372 Symbols Nerd Font
|
|
||||||
symbol_map U+f400-U+f532 Symbols Nerd Font
|
|
||||||
symbol_map U+f500-U+fd46 Symbols Nerd Font
|
|
||||||
symbol_map U+f0001-U+f1af0 Symbols Nerd Font
|
|
||||||
|
|
||||||
#: Cursor customization {{{1
|
|
||||||
|
|
||||||
|
|
||||||
#: Scrollback {{{1
|
|
||||||
|
|
||||||
scrollback_lines 10000
|
|
||||||
|
|
||||||
|
|
||||||
#: Mouse {{{1
|
|
||||||
|
|
||||||
show_hyperlink_targets yes
|
|
||||||
|
|
||||||
#: Mouse Actions {{{1
|
|
||||||
#
|
|
||||||
# $HOME/.local/kitty.app/share/doc/kitty/html/conf.html#conf-kitty-mouse-mousemap
|
|
||||||
#
|
|
||||||
# `mouse_map button-name event-type modes action`
|
|
||||||
# - left, middle, right + keyboard modifiers
|
|
||||||
# - click, press, release, doubleclick, doublepress, triplepress (+click_interval)
|
|
||||||
# - grabbed, ungrabbed
|
|
||||||
#
|
|
||||||
# See also `kitty --debug-input`
|
|
||||||
|
|
||||||
# Don't process link
|
|
||||||
mouse_map left click ungrabbed mouse_handle_click selection prompt
|
|
||||||
|
|
||||||
|
|
||||||
#: Performance tuning {{{1
|
|
||||||
|
|
||||||
|
|
||||||
#: Terminal bell {{{1
|
|
||||||
|
|
||||||
enable_audio_bell no
|
|
||||||
visual_bell_duration 0.05
|
|
||||||
visual_bell_color #900
|
|
||||||
|
|
||||||
|
|
||||||
#: Window layout {{{1
|
|
||||||
|
|
||||||
enabled_layouts grid, splits, stack, tall:bias=70;full_size=2
|
|
||||||
|
|
||||||
|
|
||||||
#: Tab bar {{{1
|
|
||||||
|
|
||||||
tab_bar_style fade
|
|
||||||
tab_fade 0.80 0.85 0.90 0.95
|
|
||||||
tab_bar_min_tabs 1
|
|
||||||
active_tab_foreground #000
|
|
||||||
active_tab_background #FAA
|
|
||||||
active_tab_font_style bold
|
|
||||||
inactive_tab_background #644
|
|
||||||
inactive_tab_foreground #799
|
|
||||||
inactive_tab_font_style italic
|
|
||||||
|
|
||||||
#: Color scheme {{{1
|
|
||||||
|
|
||||||
# BEGIN_KITTY_THEME
|
|
||||||
include Tango Dark.conf
|
|
||||||
# END_KITTY_THEME
|
|
||||||
|
|
||||||
background_opacity 1.00
|
|
||||||
cursor #f41
|
|
||||||
selection_background none
|
|
||||||
selection_foreground none
|
|
||||||
|
|
||||||
dynamic_background_opacity yes
|
|
||||||
# Also use `kitty @ set-background-opacity [options] OPACITY`
|
|
||||||
|
|
||||||
|
|
||||||
#: Advanced {{{1
|
|
||||||
|
|
||||||
|
|
||||||
#: OS specific tweaks {{{1
|
|
||||||
|
|
||||||
editor vi
|
|
||||||
|
|
||||||
#: }}}1
|
|
||||||
|
|
||||||
|
|
||||||
#: Kitten
|
|
||||||
#
|
|
||||||
# $HOME/.local/kitty.app/share/doc/kitty/html/kittens_intro.html
|
|
||||||
|
|
||||||
# Unicode input —— kitty_mod+u
|
|
||||||
|
|
||||||
kitten_alias hints hints --alphabet="_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
|
|
||||||
|
|
||||||
# kitty_grab
|
|
||||||
# https://github.com/yurikhan/kitty_grab
|
|
||||||
map kitty_mod+PRINT_SCREEN kitten kitty_grab/grab.py
|
|
||||||
|
|
||||||
#: Keyboard shortcuts
|
|
||||||
#
|
|
||||||
# $HOME/.local/kitty.app/share/doc/kitty/html/actions.html
|
|
||||||
# $HOME/.local/kitty.app/share/doc/kitty/html/conf.html#keyboard-shortcuts
|
|
||||||
# $HOME/.local/kitty.app/share/doc/kitty/html/launch.html
|
|
||||||
|
|
||||||
#: Clipboard {{{1
|
|
||||||
|
|
||||||
#: Scrolling {{{1
|
|
||||||
|
|
||||||
#: Window management {{{1
|
|
||||||
|
|
||||||
map kitty_mod+enter launch --location=split --cwd=current
|
|
||||||
map kitty_mod+! detach_window ask
|
|
||||||
|
|
||||||
map alt+left neighboring_window left
|
|
||||||
map alt+right neighboring_window right
|
|
||||||
map alt+down neighboring_window down
|
|
||||||
map alt+up neighboring_window up
|
|
||||||
|
|
||||||
map kitty_mod+l>h move_window left
|
|
||||||
map kitty_mod+l>j move_window down
|
|
||||||
map kitty_mod+l>k move_window up
|
|
||||||
map kitty_mod+l>l move_window right
|
|
||||||
|
|
||||||
#: Tab management {{{1
|
|
||||||
|
|
||||||
map kitty_mod+; move_tab_forward
|
|
||||||
map kitty_mod+t new_tab_with_cwd
|
|
||||||
|
|
||||||
#: Layout management {{{1
|
|
||||||
|
|
||||||
map kitty_mod+l>g toggle_layout grid
|
|
||||||
map kitty_mod+l>s toggle_layout splits
|
|
||||||
map kitty_mod+l>v toggle_layout tall
|
|
||||||
map kitty_mod+l>z toggle_layout stack
|
|
||||||
|
|
||||||
# $HOME/.local/kitty.app/share/doc/kitty/html/layouts.html#the-splits-layout
|
|
||||||
|
|
||||||
map kitty_mod+l>shift+h layout_action move_to_screen_edge left
|
|
||||||
map kitty_mod+l>shift+j layout_action move_to_screen_edge bottom
|
|
||||||
map kitty_mod+l>shift+k layout_action move_to_screen_edge top
|
|
||||||
map kitty_mod+l>shift+l layout_action move_to_screen_edge right
|
|
||||||
|
|
||||||
map kitty_mod+l>/ layout_action rotate
|
|
||||||
|
|
||||||
#: Font sizes {{{1
|
|
||||||
|
|
||||||
#map kitty_mod+backspace change_font_size all 0
|
|
||||||
map kitty_mod+equal change_font_size current +0.5
|
|
||||||
map kitty_mod+minus change_font_size current -0.5
|
|
||||||
|
|
||||||
#: Select and act on visible text {{{1
|
|
||||||
|
|
||||||
# $HOME/.local/kitty.app/share/doc/kitty/html/marks.html
|
|
||||||
# map ctrl+p scroll_to_mark prev
|
|
||||||
# map ctrl+n scroll_to_mark next
|
|
||||||
map kitty_mod+m>m create_marker
|
|
||||||
map kitty_mod+m>shift+m remove_marker
|
|
||||||
map kitty_mod+m>a toggle_marker regex 1 "[+-]?\\d\\s?\\d*(,\\d)?\\sMB" 2 "[+-]?\\d\\s?\\d*(,\\d)?\\skB" 3 "[+-]?\\d\\s?\\d*(,\\d)?\\sB"
|
|
||||||
map kitty_mod+m>e toggle_marker iregex 1 \\bERROR\\b 2 \\bWARNING\\b 3 \\bNOTE\\b
|
|
||||||
map kitty_mod+m>n toggle_marker iregex 1 "(^\\[\\d+/\\d+\\]|\\bERROR\\b)" 2 "\\bWARNING\\b" 3 "\S+\.[ch]pp"
|
|
||||||
map kitty_mod+m>u toggle_marker regex 3 https?://\\S+
|
|
||||||
mark1_background #d00
|
|
||||||
mark2_background #c90
|
|
||||||
mark3_background #0d0
|
|
||||||
|
|
||||||
#: Miscellaneous {{{1
|
|
||||||
|
|
||||||
map kitty_mod+f3 set_background_opacity -0.05
|
|
||||||
map kitty_mod+f4 set_background_opacity +0.05
|
|
||||||
|
|
||||||
#: }}}1
|
|
||||||
|
|
||||||
#: vim:foldmethod=marker:foldlevel=0
|
|
@ -1,80 +0,0 @@
|
|||||||
# Documentation:
|
|
||||||
# https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md
|
|
||||||
|
|
||||||
customCommands:
|
|
||||||
|
|
||||||
# files
|
|
||||||
- key: "z"
|
|
||||||
command: "cz commit"
|
|
||||||
description: "commit with commitizen"
|
|
||||||
context: "files"
|
|
||||||
loadingText: "opening commitizen commit tool"
|
|
||||||
subprocess: true
|
|
||||||
|
|
||||||
- key: "<c-z>"
|
|
||||||
command: "cz commit --retry"
|
|
||||||
description: "retry commitizen"
|
|
||||||
context: "files"
|
|
||||||
loadingText: "retrying commitizen commit"
|
|
||||||
subprocess: true
|
|
||||||
|
|
||||||
# remotes
|
|
||||||
- key: "<c-p>"
|
|
||||||
command: "git remote prune {{.SelectedRemote.Name}}"
|
|
||||||
context: "remotes"
|
|
||||||
loadingText: "Pruning..."
|
|
||||||
description: "prune deleted remote branches"
|
|
||||||
|
|
||||||
git:
|
|
||||||
autoFetch: true
|
|
||||||
autoRefresh: true
|
|
||||||
diffContextSize: 4
|
|
||||||
log:
|
|
||||||
order: 'date-order'
|
|
||||||
showWholeGraph: true
|
|
||||||
paging:
|
|
||||||
colorArg: always
|
|
||||||
pager: delta --features="lazygit my-style"
|
|
||||||
# https://dandavison.github.io/delta/
|
|
||||||
# https://github.com/dandavison/delta/releases
|
|
||||||
|
|
||||||
gui:
|
|
||||||
authorColors:
|
|
||||||
"Michel D'HOOGE": '#5ae615'
|
|
||||||
branchColors:
|
|
||||||
'main': '#1cdddd'
|
|
||||||
expandFocusedSidePanel: true
|
|
||||||
experimentalShowBranchHeads: true
|
|
||||||
mainPanelSplitMode: 'horizontal'
|
|
||||||
nerdFontsVersion: "3"
|
|
||||||
scrollHeight: 10
|
|
||||||
scrollPastBottom: false
|
|
||||||
showBottomLine: false
|
|
||||||
sidePanelWidth: .25
|
|
||||||
theme:
|
|
||||||
selectedLineBgColor: [reverse]
|
|
||||||
selectedRangeBgColor: [reverse]
|
|
||||||
timeFormat: '02 Jan 15:04'
|
|
||||||
|
|
||||||
keybinding:
|
|
||||||
# https://github.com/jesseduffield/lazygit/blob/master/docs/keybindings/Keybindings_en.md
|
|
||||||
# https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md#default
|
|
||||||
universal:
|
|
||||||
refresh: "<f5>"
|
|
||||||
nextTab: ')'
|
|
||||||
prevTab: '('
|
|
||||||
nextScreenMode: '+'
|
|
||||||
prevScreenMode: '='
|
|
||||||
increaseRenameSimilarityThreshold: ']'
|
|
||||||
decreaseRenameSimilarityThreshold: '['
|
|
||||||
|
|
||||||
notARepository: 'skip'
|
|
||||||
|
|
||||||
os:
|
|
||||||
editPreset: 'nvim'
|
|
||||||
|
|
||||||
refresher:
|
|
||||||
refreshInterval: 30
|
|
||||||
fetchInterval: 3600
|
|
||||||
|
|
||||||
# vi:nospell
|
|
@ -1,3 +0,0 @@
|
|||||||
set runtimepath^=~/.vim runtimepath+=~/.vim/after
|
|
||||||
let &packpath = &runtimepath
|
|
||||||
source ~/.vimrc
|
|
68
.gitconfig
68
.gitconfig
@ -1,68 +0,0 @@
|
|||||||
[alias]
|
|
||||||
br = branch
|
|
||||||
co = checkout
|
|
||||||
root = rev-parse --show-toplevel
|
|
||||||
st = status
|
|
||||||
tree = log --oneline --graph --decorate --all
|
|
||||||
|
|
||||||
[core]
|
|
||||||
pager = delta
|
|
||||||
|
|
||||||
[delta]
|
|
||||||
features = "my-style"
|
|
||||||
|
|
||||||
[delta "kitty"]
|
|
||||||
navigate = true
|
|
||||||
side-by-side = true
|
|
||||||
line-numbers-minus-style = "black #aa0000"
|
|
||||||
line-numbers-plus-style = "black #00aa00"
|
|
||||||
|
|
||||||
[delta "lazygit"]
|
|
||||||
paging = never
|
|
||||||
|
|
||||||
[delta "my-style"]
|
|
||||||
dark = true
|
|
||||||
line-numbers = true
|
|
||||||
line-numbers-minus-style = red
|
|
||||||
line-numbers-plus-style = green
|
|
||||||
minus-style = "syntax #440000"
|
|
||||||
plus-emph-style = "syntax #007700"
|
|
||||||
plus-style = "syntax #004400"
|
|
||||||
syntax-theme = Coldark-Dark
|
|
||||||
|
|
||||||
[diff]
|
|
||||||
colorMoved = default
|
|
||||||
|
|
||||||
[gui]
|
|
||||||
spellingdictionary = en
|
|
||||||
fontdiff = -family Hack -size 10 -weight normal -slant roman -underline 0 -overstrike 0
|
|
||||||
|
|
||||||
[guitool "Add to .gitignore"]
|
|
||||||
cmd = echo \"$FILENAME\" >> .gitignore & git add .gitignore
|
|
||||||
needsfile = yes
|
|
||||||
noconsole = yes
|
|
||||||
|
|
||||||
[guitool "clang-format"]
|
|
||||||
cmd = clang-format -style=file -i $FILENAME
|
|
||||||
needsfile = yes
|
|
||||||
noconsole = yes
|
|
||||||
|
|
||||||
[guitool "gvim"]
|
|
||||||
cmd = gvim $FILENAME
|
|
||||||
needsfile = yes
|
|
||||||
noconsole = yes
|
|
||||||
|
|
||||||
[init]
|
|
||||||
defaultBranch = main
|
|
||||||
|
|
||||||
[interactive]
|
|
||||||
diffFilter = delta --color-only
|
|
||||||
|
|
||||||
[merge]
|
|
||||||
conflictstyle = diff3
|
|
||||||
|
|
||||||
[pull]
|
|
||||||
ff = only
|
|
||||||
|
|
||||||
[user]
|
|
||||||
useConfigOnly = true
|
|
@ -1,10 +0,0 @@
|
|||||||
[Desktop Entry]
|
|
||||||
Version=1.0
|
|
||||||
Type=Application
|
|
||||||
Name=Kitty
|
|
||||||
GenericName=Terminal emulator
|
|
||||||
Comment=Fast, feature-rich, GPU based terminal
|
|
||||||
TryExec=/opt/kitty.app/bin/kitty
|
|
||||||
Exec=/opt/kitty.app/bin/kitty
|
|
||||||
Icon=/home/user/.config/kitty/kitty-light.png
|
|
||||||
Categories=System;TerminalEmulator;
|
|
@ -1,10 +0,0 @@
|
|||||||
[Desktop Entry]
|
|
||||||
Version=1.0
|
|
||||||
Type=Application
|
|
||||||
Name=Kitty
|
|
||||||
GenericName=Terminal emulator
|
|
||||||
Comment=Fast, feature-rich, GPU based terminal
|
|
||||||
TryExec=/home/user/.local/kitty.app/bin/kitty
|
|
||||||
Exec=/home/user/.local/kitty.app/bin/kitty
|
|
||||||
Icon=/home/user/.config/kitty/kitty-light.png
|
|
||||||
Categories=System;TerminalEmulator;
|
|
@ -1,12 +0,0 @@
|
|||||||
[Desktop Entry]
|
|
||||||
Name=Neovim ($HOME/bin)
|
|
||||||
GenericName=Text Editor
|
|
||||||
TryExec=/opt/neovim/bin/nvim.appimage
|
|
||||||
Exec=/opt/neovim/bin/nvim.appimage %F
|
|
||||||
Terminal=true
|
|
||||||
Type=Application
|
|
||||||
Keywords=Text;editor;
|
|
||||||
Icon=nvim
|
|
||||||
Categories=Utility;TextEditor;
|
|
||||||
StartupNotify=false
|
|
||||||
MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;
|
|
@ -1,12 +0,0 @@
|
|||||||
[Desktop Entry]
|
|
||||||
Name=Neovim ($HOME/bin)
|
|
||||||
GenericName=Text Editor
|
|
||||||
TryExec=/home/user/bin/nvim.appimage
|
|
||||||
Exec=/home/user/bin/nvim.appimage %F
|
|
||||||
Terminal=true
|
|
||||||
Type=Application
|
|
||||||
Keywords=Text;editor;
|
|
||||||
Icon=nvim
|
|
||||||
Categories=Utility;TextEditor;
|
|
||||||
StartupNotify=false
|
|
||||||
MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;
|
|
Binary file not shown.
Before Width: | Height: | Size: 5.7 KiB |
@ -1,11 +0,0 @@
|
|||||||
[Desktop Entry]
|
|
||||||
NoDisplay=true
|
|
||||||
Version=1.0
|
|
||||||
Encoding=UTF-8
|
|
||||||
Type=X-XFCE-Helper
|
|
||||||
X-XFCE-Category=WebBrowser
|
|
||||||
X-XFCE-CommandsWithParameter=flatpak run org.mozilla.firefox -ProfileManager "%s"
|
|
||||||
Icon=firefox
|
|
||||||
Name=firefox flatpak
|
|
||||||
X-XFCE-Commands=flatpak run org.mozilla.firefox -ProfileManager
|
|
||||||
|
|
@ -1,11 +0,0 @@
|
|||||||
[Desktop Entry]
|
|
||||||
NoDisplay=true
|
|
||||||
Version=1.0
|
|
||||||
Encoding=UTF-8
|
|
||||||
Type=X-XFCE-Helper
|
|
||||||
X-XFCE-Category=TerminalEmulator
|
|
||||||
X-XFCE-CommandsWithParameter=/opt/kitty.app/bin/kitty "%s"
|
|
||||||
Icon=kitty
|
|
||||||
Name=kitty (/opt)
|
|
||||||
X-XFCE-Commands=/opt/kitty.app/bin/kitty
|
|
||||||
|
|
@ -1,11 +0,0 @@
|
|||||||
[Desktop Entry]
|
|
||||||
NoDisplay=true
|
|
||||||
Version=1.0
|
|
||||||
Encoding=UTF-8
|
|
||||||
Type=X-XFCE-Helper
|
|
||||||
X-XFCE-Category=MailReader
|
|
||||||
X-XFCE-CommandsWithParameter=flatpak run org.mozilla.Thunderbird --ProfileManager "%s"
|
|
||||||
Icon=thunderbird
|
|
||||||
Name=thunderbird flatpak
|
|
||||||
X-XFCE-Commands=flatpak run org.mozilla.Thunderbird --ProfileManager
|
|
||||||
|
|
150
.tmux.conf
150
.tmux.conf
@ -1,150 +0,0 @@
|
|||||||
# => Use C-b R to reload that file
|
|
||||||
#
|
|
||||||
# To override what a plugin does, set config after the call to TPM
|
|
||||||
|
|
||||||
|
|
||||||
#***
|
|
||||||
#** Plugins
|
|
||||||
#*
|
|
||||||
# https://github.com/tmux-plugins/list
|
|
||||||
#
|
|
||||||
|
|
||||||
# TODO
|
|
||||||
# https://github.com/erikw/tmux-powerline/issues/189
|
|
||||||
|
|
||||||
## Copy
|
|
||||||
# - easymotion (normale mode: C-b S / copy mode: s / S S / S j / S k / S n),
|
|
||||||
# - path, filenames, URLs: C-b Q
|
|
||||||
# - URLs in browser: C-b P
|
|
||||||
# - Lines: C-b W
|
|
||||||
set -g @plugin 'CrispyConductor/tmux-copy-toolkit'
|
|
||||||
set -g @copytk-label-chars "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
|
|
||||||
set -g @copytk-color-labelchar "black:cyan"
|
|
||||||
set -g @copytk-color-highlight "cyan:blue"
|
|
||||||
|
|
||||||
## Sensible Defaults
|
|
||||||
#
|
|
||||||
set -g @plugin 'tmux-plugins/tmux-sensible'
|
|
||||||
|
|
||||||
|
|
||||||
#***
|
|
||||||
#** TPM
|
|
||||||
#*
|
|
||||||
#
|
|
||||||
set -g @plugin 'tmux-plugins/tpm'
|
|
||||||
if "test ! -d ~/.tmux/plugins/tpm" \
|
|
||||||
"run 'git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm && ~/.tmux/plugins/tpm/bin/install_plugins'"
|
|
||||||
run '~/.tmux/plugins/tpm/tpm'
|
|
||||||
|
|
||||||
|
|
||||||
#***
|
|
||||||
#** Options
|
|
||||||
#*
|
|
||||||
#
|
|
||||||
set-option -g mode-keys vi
|
|
||||||
set-option -g mouse on
|
|
||||||
set-option -g repeat-time 800
|
|
||||||
set-option -g status-keys vi
|
|
||||||
|
|
||||||
|
|
||||||
#***
|
|
||||||
#** Root Keys
|
|
||||||
#*
|
|
||||||
#
|
|
||||||
|
|
||||||
# Start copy mode with Shift-PageUp
|
|
||||||
bind-key -T root S-PPage { copy-mode -e; send-keys PPage }
|
|
||||||
|
|
||||||
|
|
||||||
#***
|
|
||||||
#** Prefix Keys
|
|
||||||
#*
|
|
||||||
|
|
||||||
# Re-usable keys:
|
|
||||||
# 'it
|
|
||||||
# $&().
|
|
||||||
|
|
||||||
bind-key ? list-keys -T prefix
|
|
||||||
bind-key M-k { send-keys -R; clear-history } # Clear current pane
|
|
||||||
bind-key M-m command-prompt -p "man page:" { split-window -fh man '%%' }
|
|
||||||
bind-key M-M split-window -fh man tmux
|
|
||||||
|
|
||||||
|
|
||||||
###
|
|
||||||
## Buffers
|
|
||||||
#
|
|
||||||
# - Delete the most recently copied buffer of text.
|
|
||||||
# = Choose which buffer to paste interactively from a list.
|
|
||||||
|
|
||||||
|
|
||||||
###
|
|
||||||
## Panes
|
|
||||||
#
|
|
||||||
# ; Move to the previously active pane [last-pane]
|
|
||||||
# m Mark the current pane [select-pane -m]
|
|
||||||
# M Clear the marked pane [select-pane -M]
|
|
||||||
# o Select the next pane in the current window [select-pane -t :.+]
|
|
||||||
# q Briefly display pane indexes [display-panes]
|
|
||||||
|
|
||||||
bind-key -r C-h select-pane -L
|
|
||||||
bind-key -r C-Left select-pane -L
|
|
||||||
bind-key -r C-j select-pane -D
|
|
||||||
bind-key -r C-Down select-pane -D
|
|
||||||
bind-key -r C-k select-pane -U
|
|
||||||
bind-key -r C-Up select-pane -U
|
|
||||||
bind-key -r C-l select-pane -R
|
|
||||||
bind-key -r C-Right select-pane -R
|
|
||||||
|
|
||||||
bind-key -r H resize-pane -L 5
|
|
||||||
bind-key -r Left resize-pane -L
|
|
||||||
bind-key -r J resize-pane -D 5
|
|
||||||
bind-key -r Down resize-pane -D
|
|
||||||
bind-key -r K resize-pane -U 5
|
|
||||||
bind-key -r Up resize-pane -U
|
|
||||||
bind-key -r L resize-pane -R 5
|
|
||||||
bind-key -r Right resize-pane -R
|
|
||||||
|
|
||||||
bind-key \\ split-window -fh -c "#{pane_current_path}"
|
|
||||||
bind-key _ split-window -fv -c "#{pane_current_path}"
|
|
||||||
bind-key '%' split-window -h -c "#{pane_current_path}"
|
|
||||||
bind-key '"' split-window -v -c "#{pane_current_path}"
|
|
||||||
|
|
||||||
#bind-key j command-prompt -p "join pane from:" "join-pane -h -s '%%'"
|
|
||||||
#bind-key s command-prompt -p "send pane to:" "join-pane -h -t '%%'"
|
|
||||||
#bind-key j "join-pane -s !" will join the last active pane/window to the current window.
|
|
||||||
|
|
||||||
|
|
||||||
###
|
|
||||||
## Windows
|
|
||||||
#
|
|
||||||
# , Rename the current window.
|
|
||||||
# . Prompt for an index to move the current window.
|
|
||||||
# l Move to the previously selected window.
|
|
||||||
|
|
||||||
|
|
||||||
###
|
|
||||||
## Layouts: default shortcuts adapted to Azerty keyboards
|
|
||||||
#
|
|
||||||
bind-key -N "M-1" "M-&" select-layout even-horizontal
|
|
||||||
bind-key -N "M-3" 'M-"' select-layout main-horizontal
|
|
||||||
bind-key -N "M-4" "M-'" select-layout main-vertical
|
|
||||||
bind-key -N "M-5" "M-(" select-layout tiled
|
|
||||||
|
|
||||||
|
|
||||||
###
|
|
||||||
## Sessions
|
|
||||||
#
|
|
||||||
# D Choose a client to detach.
|
|
||||||
# L Switch the attached client back to the last session.
|
|
||||||
# r Force redraw of the attached client.
|
|
||||||
# f Prompt to search for text in open windows.
|
|
||||||
|
|
||||||
|
|
||||||
#***
|
|
||||||
#** Copy-mode Keys
|
|
||||||
#*
|
|
||||||
|
|
||||||
# TODO Better Buffers select
|
|
||||||
bind-key -T copy-mode-vi Space send-keys -X page-down
|
|
||||||
bind-key -T copy-mode-vi v send-keys -X begin-selection
|
|
||||||
bind-key -T copy-mode-vi S-NPage send-keys -X page-down
|
|
6
.zimrc
6
.zimrc
@ -18,7 +18,7 @@ zmodule completion
|
|||||||
# https://github.com/zimfw/asdf
|
# https://github.com/zimfw/asdf
|
||||||
#
|
#
|
||||||
# Run `zimfw clean-dumpfile; compinit` to force loading the completion
|
# Run `zimfw clean-dumpfile; compinit` to force loading the completion
|
||||||
zmodule asdf
|
#zmodule asdf
|
||||||
|
|
||||||
# fzf
|
# fzf
|
||||||
# → Using a modified version (in .zshrc)
|
# → Using a modified version (in .zshrc)
|
||||||
@ -41,7 +41,7 @@ zmodule b4b4r07/enhancd
|
|||||||
zmodule jeffreytse/zsh-vi-mode
|
zmodule jeffreytse/zsh-vi-mode
|
||||||
|
|
||||||
# Loads the "inner function" & binds alt-H key
|
# Loads the "inner function" & binds alt-H key
|
||||||
zmodule run-help
|
#zmodule run-help
|
||||||
|
|
||||||
# Fast Syntax Highlighting
|
# Fast Syntax Highlighting
|
||||||
#
|
#
|
||||||
@ -52,4 +52,4 @@ zmodule zdharma-continuum/fast-syntax-highlighting
|
|||||||
zmodule asciiship
|
zmodule asciiship
|
||||||
|
|
||||||
# Exposes git status information (used by asciiship)
|
# Exposes git status information (used by asciiship)
|
||||||
zmodule git-info
|
#zmodule git-info
|
||||||
|
11
.zshrc
11
.zshrc
@ -56,7 +56,7 @@ if [[ -e "${XDG_CONFIG_HOME}/asdf-direnv/zshrc" ]]; then
|
|||||||
# Don't modify next line, it is searched by "direnv s$etup"
|
# Don't modify next line, it is searched by "direnv s$etup"
|
||||||
source "${XDG_CONFIG_HOME:-$HOME/.config}/asdf-direnv/zshrc"
|
source "${XDG_CONFIG_HOME:-$HOME/.config}/asdf-direnv/zshrc"
|
||||||
else
|
else
|
||||||
echo "asdf: direnv plugin not set!"
|
# echo "asdf: direnv plugin not set!"
|
||||||
# asdf plugin add direnv
|
# asdf plugin add direnv
|
||||||
# asdf install direnv latest
|
# asdf install direnv latest
|
||||||
# asdf direnv setup --version latest
|
# asdf direnv setup --version latest
|
||||||
@ -132,8 +132,8 @@ if [[ -f $ALT_HISTORY_FILE ]]; then
|
|||||||
return $ret
|
return $ret
|
||||||
}
|
}
|
||||||
zle -N fzf-alt-history-widget
|
zle -N fzf-alt-history-widget
|
||||||
bindkey -M vicmd '^[[114;13u' fzf-alt-history-widget
|
bindkey -M vicmd '\er' fzf-alt-history-widget
|
||||||
bindkey -M viins '^[[114;13u' fzf-alt-history-widget
|
bindkey -M viins '\er' fzf-alt-history-widget
|
||||||
fi
|
fi
|
||||||
|
|
||||||
### Ripgrep
|
### Ripgrep
|
||||||
@ -276,7 +276,7 @@ n()
|
|||||||
local -x NNN_ARCHIVE='\.(7z|bz2|cbz|cbr|gz|tar|tbz|tgz|xz|zip|zst)$'
|
local -x NNN_ARCHIVE='\.(7z|bz2|cbz|cbr|gz|tar|tbz|tgz|xz|zip|zst)$'
|
||||||
local -x NNN_BMS="d:~/Downloads;q:~/QubesIncoming"
|
local -x NNN_BMS="d:~/Downloads;q:~/QubesIncoming"
|
||||||
local -x NNN_OPENER="${XDG_CONFIG_HOME}/nnn/plugins/nuke"
|
local -x NNN_OPENER="${XDG_CONFIG_HOME}/nnn/plugins/nuke"
|
||||||
local -x NNN_OPTS='ABeGo'
|
local -x NNN_OPTS='ABeo'
|
||||||
local -x NNN_ORDER="t:$HOME/Downloads"
|
local -x NNN_ORDER="t:$HOME/Downloads"
|
||||||
local -x NNN_PLUG=${(j:;:)nnn_plug}
|
local -x NNN_PLUG=${(j:;:)nnn_plug}
|
||||||
local -x NNN_TMPFILE="${XDG_CONFIG_HOME}/nnn/cd-on-quit"
|
local -x NNN_TMPFILE="${XDG_CONFIG_HOME}/nnn/cd-on-quit"
|
||||||
@ -494,7 +494,8 @@ HISTORY_IGNORE="(?|??|???|cd [a-zA-Z]*|* --help|#*|builtin *|run-help *)"
|
|||||||
###
|
###
|
||||||
|
|
||||||
# `bindkey | grep -v self-insert` to print existing bindings
|
# `bindkey | grep -v self-insert` to print existing bindings
|
||||||
# `showkey -a` to print keys
|
# `showkey -a` to print keys (package: kbd)
|
||||||
|
# ^V to print keys
|
||||||
|
|
||||||
# Undo (useful to cancel completion -- borrowed from emacs keymap)
|
# Undo (useful to cancel completion -- borrowed from emacs keymap)
|
||||||
bindkey -M vicmd "^_" undo
|
bindkey -M vicmd "^_" undo
|
||||||
|
10
bin/.envrc
10
bin/.envrc
@ -1,10 +0,0 @@
|
|||||||
# See `direnv stdlib` for special functions provided by _direnv_.
|
|
||||||
use asdf
|
|
||||||
|
|
||||||
# Python virtual env
|
|
||||||
layout python3
|
|
||||||
|
|
||||||
if (($(echo $(direnv_layout_dir)/python* | wc --words) > 1)); then
|
|
||||||
log_error "Found several python environments"
|
|
||||||
du -sh .direnv/*
|
|
||||||
fi
|
|
@ -1,2 +0,0 @@
|
|||||||
python 3.12.7
|
|
||||||
direnv 2.35.0
|
|
@ -1,21 +0,0 @@
|
|||||||
lastversion==3.5.0
|
|
||||||
|
|
||||||
appdirs==1.4.4
|
|
||||||
beautifulsoup4==4.12.3
|
|
||||||
CacheControl==0.12.11
|
|
||||||
certifi==2024.2.2
|
|
||||||
charset-normalizer==3.3.2
|
|
||||||
distro==1.9.0
|
|
||||||
feedparser==6.0.11
|
|
||||||
idna==3.6
|
|
||||||
lockfile==0.12.2
|
|
||||||
msgpack==1.0.7
|
|
||||||
packaging==23.2
|
|
||||||
python-dateutil==2.8.2
|
|
||||||
PyYAML==6.0.1
|
|
||||||
requests==2.31.0
|
|
||||||
sgmllib3k==1.0.0
|
|
||||||
six==1.16.0
|
|
||||||
soupsieve==2.5
|
|
||||||
tqdm==4.66.2
|
|
||||||
urllib3==1.26.18
|
|
@ -1,188 +0,0 @@
|
|||||||
#!/bin/zsh
|
|
||||||
#
|
|
||||||
|
|
||||||
# zsh colors
|
|
||||||
#
|
|
||||||
autoload colors && colors
|
|
||||||
|
|
||||||
# Proxy
|
|
||||||
#
|
|
||||||
proxy=$(systemctl list-sockets --quiet "*proxy*" | head -1 | cut -d' ' -f1)
|
|
||||||
if [ -n "${proxy}" ]; then
|
|
||||||
echo "${bg[yellow]}${fg[black]} Using proxy ${fg_bold[black]}${proxy} \n"
|
|
||||||
export ALL_PROXY="${proxy}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# asdf, direnv, python & lastversion
|
|
||||||
#
|
|
||||||
# - https://github.com/dvershinin/lastversion
|
|
||||||
#
|
|
||||||
cd $(dirname $0)
|
|
||||||
eval $(asdf exec direnv export zsh)
|
|
||||||
|
|
||||||
# Print Age
|
|
||||||
#
|
|
||||||
function print_age
|
|
||||||
{
|
|
||||||
program=$1
|
|
||||||
|
|
||||||
echo "\n${bg[red]}${fg[black]}>>>> ${program} ${reset_color}"
|
|
||||||
|
|
||||||
# Already installed
|
|
||||||
#
|
|
||||||
if (( ${+commands[$program]} )); then
|
|
||||||
echo "\n${bg[cyan]} Installation Age ${reset_color}"
|
|
||||||
|
|
||||||
prog_out=$(${program} -V)
|
|
||||||
|
|
||||||
# Extract version from program's output
|
|
||||||
current_version=$(lastversion format "${prog_out}")
|
|
||||||
|
|
||||||
# Highlight program's version
|
|
||||||
echo ${prog_out} | grep --colour=always -F "${current_version}"
|
|
||||||
lsd -lh --date=relative =${program}
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo
|
|
||||||
}
|
|
||||||
|
|
||||||
# Debian Package
|
|
||||||
#
|
|
||||||
function debian
|
|
||||||
{
|
|
||||||
program=$1
|
|
||||||
repository=$2
|
|
||||||
apt_name=${3:-$1}
|
|
||||||
current_version="0.0.0"
|
|
||||||
|
|
||||||
echo "\n${bg[red]}${fg[black]}>>>> ${program} ${reset_color}"
|
|
||||||
|
|
||||||
# Already installed
|
|
||||||
#
|
|
||||||
if (( ${+commands[$program]} )); then
|
|
||||||
echo "\n${bg[cyan]} Installed ${reset_color}"
|
|
||||||
|
|
||||||
prog_out=$(${program} --version)
|
|
||||||
|
|
||||||
# Extract version from program's output
|
|
||||||
current_version=$(lastversion format "${prog_out}")
|
|
||||||
|
|
||||||
# Highlight program's version
|
|
||||||
echo ${prog_out} | grep --colour=always -F "${current_version}"
|
|
||||||
\ls -lh =${program}
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Repository
|
|
||||||
#
|
|
||||||
echo "\n${bg[cyan]} ${repository} ${reset_color}"
|
|
||||||
|
|
||||||
# Retrieve latest repository version
|
|
||||||
repo_version=$(lastversion ${repository} --newer-than ${current_version})
|
|
||||||
|
|
||||||
# Check last result code
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
echo "${fg[red]}${repo_version}${fg[cyan]} > ${current_version}${reset_color}\n"
|
|
||||||
|
|
||||||
echo "${fg[cyan]}${repository}/releases/latest${reset_color}"
|
|
||||||
lastversion ${repository} --assets --filter="." \
|
|
||||||
| rg --color=always --passthru --regexp="${filter}"
|
|
||||||
|
|
||||||
else
|
|
||||||
echo "${fg[green]}${repo_version}"
|
|
||||||
fi
|
|
||||||
echo -n ${reset_color}
|
|
||||||
|
|
||||||
|
|
||||||
# Debian Package
|
|
||||||
apt_list=$(apt list ${apt_name} 2>/dev/null)
|
|
||||||
deb_version=$(lastversion format "${apt_list}" 2>/dev/null)
|
|
||||||
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
echo "\n${bg[cyan]} Debian package ${reset_color}"
|
|
||||||
|
|
||||||
deb_version=$(lastversion "${deb_version}" --newer-than ${current_version})
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
echo "${fg[red]}${deb_version} ${fg[cyan]} > ${current_version}${reset_color}\n"
|
|
||||||
else
|
|
||||||
echo "${fg[green]}${deb_version}"
|
|
||||||
fi
|
|
||||||
echo -n ${reset_color}
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo
|
|
||||||
}
|
|
||||||
|
|
||||||
# Archive
|
|
||||||
#
|
|
||||||
function archive
|
|
||||||
{
|
|
||||||
program=$1
|
|
||||||
repository=$2
|
|
||||||
current_version=${3:-"0.0.0"}
|
|
||||||
|
|
||||||
echo "\n${bg[red]}${fg[black]}>>>> ${program} ${reset_color}"
|
|
||||||
|
|
||||||
# Already installed
|
|
||||||
#
|
|
||||||
if (( ${+commands[$program]} )); then
|
|
||||||
echo "\n${bg[cyan]} Installed ${reset_color}"
|
|
||||||
|
|
||||||
prog_out=$(${program} --version)
|
|
||||||
|
|
||||||
# Extract version from program's output
|
|
||||||
current_version=$(lastversion format "$(echo ${prog_out} | head -1)" 2>/dev/null)
|
|
||||||
if [ -e ${current_version} ]; then
|
|
||||||
current_version=$(lastversion format "$(echo ${prog_out} | grep -o 'version=[0-9.]\+')")
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Highlight program's version
|
|
||||||
echo ${prog_out} | grep --colour=always -F "${current_version}"
|
|
||||||
\ls -lh =${program}
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Repository
|
|
||||||
#
|
|
||||||
echo "\n${bg[cyan]} ${repository} ${reset_color}"
|
|
||||||
|
|
||||||
# Retrieve latest repository version
|
|
||||||
repo_version=$(lastversion ${repository} --newer-than ${current_version})
|
|
||||||
|
|
||||||
# Check last result code
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
echo "${fg[red]}${repo_version}${fg[cyan]} > ${current_version}${reset_color}\n"
|
|
||||||
|
|
||||||
echo "${fg[cyan]}${repository}/releases/latest${reset_color}"
|
|
||||||
lastversion ${repository} --assets --filter="." \
|
|
||||||
| rg --color=always --passthru --regexp="${filter}"
|
|
||||||
|
|
||||||
else
|
|
||||||
echo "${fg[green]}${repo_version}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo ${reset_color}
|
|
||||||
}
|
|
||||||
|
|
||||||
###
|
|
||||||
|
|
||||||
filter='([^/]+amd64\.deb|\w+\.txt)$'
|
|
||||||
|
|
||||||
debian bat 'https://github.com/sharkdp/bat'
|
|
||||||
debian delta 'https://github.com/dandavison/delta' git-delta
|
|
||||||
debian lsd 'https://github.com/lsd-rs/lsd'
|
|
||||||
|
|
||||||
filter='(Linux_x86_64|\w*\.appimage$|\w+\.appimage\.\w+sum$|\w+\.txt$)'
|
|
||||||
|
|
||||||
archive lazygit https://github.com/jesseduffield/lazygit
|
|
||||||
archive nvim https://github.com/neovim/neovim
|
|
||||||
|
|
||||||
print_age nnn
|
|
||||||
|
|
||||||
# Fonts
|
|
||||||
setopt nullglob
|
|
||||||
fonts=( $(echo /opt/fonts/**/*NerdFont* $HOME/.fonts/**/*NerdFont*) )
|
|
||||||
if (( ${#fonts} )); then
|
|
||||||
font_version=$(lastversion format "$(strings ${fonts[1]} | grep -o 'Nerd Fonts [0-9.]\+')")
|
|
||||||
fi
|
|
||||||
|
|
||||||
filter='((JetBrainsMono|NerdFontsSymbolsOnly)\.tar\.xz|\w+\.txt)$'
|
|
||||||
archive "Nerd Fonts" https://github.com/ryanoasis/nerd-fonts "${font_version}"
|
|
Loading…
Reference in New Issue
Block a user