Smaller configuration (- asdf, flatpak, kitty, neovim)

This commit is contained in:
Michel 2024-11-13 12:32:21 +01:00
parent 3bd96b90b7
commit fb1ec6b795
23 changed files with 9 additions and 1070 deletions

View File

@ -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

View File

@ -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.
#: }}}

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -1,3 +0,0 @@
set runtimepath^=~/.vim runtimepath+=~/.vim/after
let &packpath = &runtimepath
source ~/.vimrc

View File

@ -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

View File

@ -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;

View File

@ -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;

View File

@ -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++;

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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
View File

@ -18,7 +18,7 @@ zmodule completion
# https://github.com/zimfw/asdf
#
# Run `zimfw clean-dumpfile; compinit` to force loading the completion
zmodule asdf
#zmodule asdf
# fzf
# → Using a modified version (in .zshrc)
@ -41,7 +41,7 @@ zmodule b4b4r07/enhancd
zmodule jeffreytse/zsh-vi-mode
# Loads the "inner function" & binds alt-H key
zmodule run-help
#zmodule run-help
# Fast Syntax Highlighting
#
@ -52,4 +52,4 @@ zmodule zdharma-continuum/fast-syntax-highlighting
zmodule asciiship
# Exposes git status information (used by asciiship)
zmodule git-info
#zmodule git-info

11
.zshrc
View File

@ -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"
source "${XDG_CONFIG_HOME:-$HOME/.config}/asdf-direnv/zshrc"
else
echo "asdf: direnv plugin not set!"
# echo "asdf: direnv plugin not set!"
# asdf plugin add direnv
# asdf install direnv latest
# asdf direnv setup --version latest
@ -132,8 +132,8 @@ if [[ -f $ALT_HISTORY_FILE ]]; then
return $ret
}
zle -N fzf-alt-history-widget
bindkey -M vicmd '^[[114;13u' fzf-alt-history-widget
bindkey -M viins '^[[114;13u' fzf-alt-history-widget
bindkey -M vicmd '\er' fzf-alt-history-widget
bindkey -M viins '\er' fzf-alt-history-widget
fi
### Ripgrep
@ -276,7 +276,7 @@ n()
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_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_PLUG=${(j:;:)nnn_plug}
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
# `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)
bindkey -M vicmd "^_" undo

View File

@ -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

View File

@ -1,2 +0,0 @@
python 3.12.7
direnv 2.35.0

View File

@ -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

View File

@ -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}"