From d4f798f07f84267cba93aeac62d0242aa8cfefc4 Mon Sep 17 00:00:00 2001 From: hok7z Date: Sun, 14 May 2023 12:06:12 +0300 Subject: [PATCH] Update dotfiles --- .config/fish/config.fish | 2 + .config/hypr/hyprland.conf | 12 +- .config/lf/colors | 174 ++++++++++++ .config/lf/icons | 357 +++++++++++++++++++++++++ .config/lf/lfrc | 168 ++++++++++++ .config/nvim/lua/core/options.lua | 2 +- .config/nvim/lua/core/plugins.lua | 4 + .config/nvim/lua/lsp/init.lua | 2 +- .config/nvim/lua/lsp/servers/pylsp.lua | 2 +- .config/nvim/lua/plugins/cmp.lua | 17 +- .config/nvim/lua/plugins/nvim-tree.lua | 5 - 11 files changed, 722 insertions(+), 23 deletions(-) create mode 100644 .config/lf/colors create mode 100644 .config/lf/icons create mode 100644 .config/lf/lfrc diff --git a/.config/fish/config.fish b/.config/fish/config.fish index 40ddcac..b512527 100644 --- a/.config/fish/config.fish +++ b/.config/fish/config.fish @@ -16,6 +16,8 @@ if status is-interactive set -x PF_INFO "ascii title os kernel wm shell pkgs memory" set -x TERM "xterm" + set -x EDITOR "nvim" + set -x XDG_DATA_HOME $HOME/.local/share set srcdir "$HOME/.cache/" set pkgdir "$HOME/.npm/" diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf index b50bf6f..2b43d53 100644 --- a/.config/hypr/hyprland.conf +++ b/.config/hypr/hyprland.conf @@ -15,9 +15,9 @@ monitor=,1920x1080,auto,1 # Execute your favorite apps at launch # exec-once = waybar & hyprpaper & firefox -# exec-once = hyprpaper -exec-once = waybar +exec-once = light -S 50 exec-once = swww init +exec-once = waybar exec-once = kotatogram-desktop exec-once = dunst -config ~/.config/dunst/dunstrc exec-once = /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 & @@ -48,8 +48,8 @@ general { gaps_out = 10 border_size = 3 - col.active_border = rgb(88c0d0) 45deg - col.inactive_border = rgb(2e3440) + col.active_border = rgb(88c0d0) 45deg + col.inactive_border = rgb(2e3440) layout = dwindle } @@ -144,8 +144,8 @@ binde= ,F3, exec, pactl set-sink-volume @DEFAULT_SINK@ +1% bind = $mainMod, b, exec, foot -e bluetuith bind = $mainMod, RETURN, exec, foot -bind = $mainMod, N, exec, nemo -bind = $mainMod, d, exec, wofi --show drun -I +bind = $mainMod, N, exec, foot -e lf +bind = $mainMod, d, exec, wofi --show drun -I -i bind = ,Print,exec,makescreenshot # not forget install xdg-desktop-portal 1.14.6 diff --git a/.config/lf/colors b/.config/lf/colors new file mode 100644 index 0000000..b65d3f0 --- /dev/null +++ b/.config/lf/colors @@ -0,0 +1,174 @@ +# vim:ft=dircolors +# (This is not a dircolors file but it helps to highlight colors and comments) + +# default values from dircolors +# (entries with a leading # are not implemented in lf) +# #no 00 # NORMAL +# fi 00 # FILE +# #rs 0 # RESET +# di 01;34 # DIR +# ln 01;36 # LINK +# #mh 00 # MULTIHARDLINK +# pi 40;33 # FIFO +# so 01;35 # SOCK +# #do 01;35 # DOOR +# bd 40;33;01 # BLK +# cd 40;33;01 # CHR +# or 40;31;01 # ORPHAN +# #mi 00 # MISSING +# su 37;41 # SETUID +# sg 30;43 # SETGID +# #ca 30;41 # CAPABILITY +# tw 30;42 # STICKY_OTHER_WRITABLE +# ow 34;42 # OTHER_WRITABLE +# st 37;44 # STICKY +# ex 01;32 # EXEC + +# default values from lf (with matching order) +# ln 01;36 # LINK +# or 31;01 # ORPHAN +# tw 01;34 # STICKY_OTHER_WRITABLE +# ow 01;34 # OTHER_WRITABLE +# st 01;34 # STICKY +# di 01;34 # DIR +# pi 33 # FIFO +# so 01;35 # SOCK +# bd 33;01 # BLK +# cd 33;01 # CHR +# su 01;32 # SETUID +# sg 01;32 # SETGID +# ex 01;32 # EXEC +# fi 00 # FILE + +# file types (with matching order) +ln 01;36 # LINK +or 31;01 # ORPHAN +tw 34 # STICKY_OTHER_WRITABLE +ow 34 # OTHER_WRITABLE +st 01;34 # STICKY +di 01;34 # DIR +pi 33 # FIFO +so 01;35 # SOCK +bd 33;01 # BLK +cd 33;01 # CHR +su 01;32 # SETUID +sg 01;32 # SETGID +ex 01;32 # EXEC +fi 00 # FILE + +# archives or compressed (dircolors defaults) +*.tar 01;31 +*.tgz 01;31 +*.arc 01;31 +*.arj 01;31 +*.taz 01;31 +*.lha 01;31 +*.lz4 01;31 +*.lzh 01;31 +*.lzma 01;31 +*.tlz 01;31 +*.txz 01;31 +*.tzo 01;31 +*.t7z 01;31 +*.zip 01;31 +*.z 01;31 +*.dz 01;31 +*.gz 01;31 +*.lrz 01;31 +*.lz 01;31 +*.lzo 01;31 +*.xz 01;31 +*.zst 01;31 +*.tzst 01;31 +*.bz2 01;31 +*.bz 01;31 +*.tbz 01;31 +*.tbz2 01;31 +*.tz 01;31 +*.deb 01;31 +*.rpm 01;31 +*.jar 01;31 +*.war 01;31 +*.ear 01;31 +*.sar 01;31 +*.rar 01;31 +*.alz 01;31 +*.ace 01;31 +*.zoo 01;31 +*.cpio 01;31 +*.7z 01;31 +*.rz 01;31 +*.cab 01;31 +*.wim 01;31 +*.swm 01;31 +*.dwm 01;31 +*.esd 01;31 + +# image formats (dircolors defaults) +*.jpg 01;35 +*.jpeg 01;35 +*.mjpg 01;35 +*.mjpeg 01;35 +*.gif 01;35 +*.bmp 01;35 +*.pbm 01;35 +*.pgm 01;35 +*.ppm 01;35 +*.tga 01;35 +*.xbm 01;35 +*.xpm 01;35 +*.tif 01;35 +*.tiff 01;35 +*.png 01;35 +*.svg 01;35 +*.svgz 01;35 +*.mng 01;35 +*.pcx 01;35 +*.mov 01;35 +*.mpg 01;35 +*.mpeg 01;35 +*.m2v 01;35 +*.mkv 01;35 +*.webm 01;35 +*.ogm 01;35 +*.mp4 01;35 +*.m4v 01;35 +*.mp4v 01;35 +*.vob 01;35 +*.qt 01;35 +*.nuv 01;35 +*.wmv 01;35 +*.asf 01;35 +*.rm 01;35 +*.rmvb 01;35 +*.flc 01;35 +*.avi 01;35 +*.fli 01;35 +*.flv 01;35 +*.gl 01;35 +*.dl 01;35 +*.xcf 01;35 +*.xwd 01;35 +*.yuv 01;35 +*.cgm 01;35 +*.emf 01;35 +*.ogv 01;35 +*.ogx 01;35 + +# audio formats (dircolors defaults) +*.aac 00;36 +*.au 00;36 +*.flac 00;36 +*.m4a 00;36 +*.mid 00;36 +*.midi 00;36 +*.mka 00;36 +*.mp3 00;36 +*.mpc 00;36 +*.ogg 00;36 +*.ra 00;36 +*.wav 00;36 +*.oga 00;36 +*.opus 00;36 +*.spx 00;36 +*.xspf 00;36 diff --git a/.config/lf/icons b/.config/lf/icons new file mode 100644 index 0000000..8039c93 --- /dev/null +++ b/.config/lf/icons @@ -0,0 +1,357 @@ +# vim:ft=conf + +# These examples require Nerd Fonts or a compatible font to be used. +# See https://www.nerdfonts.com for more information. + +# default values from lf (with matching order) +# ln l # LINK +# or l # ORPHAN +# tw t # STICKY_OTHER_WRITABLE +# ow d # OTHER_WRITABLE +# st t # STICKY +# di d # DIR +# pi p # FIFO +# so s # SOCK +# bd b # BLK +# cd c # CHR +# su u # SETUID +# sg g # SETGID +# ex x # EXEC +# fi - # FILE + +# file types (with matching order) +ln  # LINK +or  # ORPHAN +tw t # STICKY_OTHER_WRITABLE +ow  # OTHER_WRITABLE +st t # STICKY +di  # DIR +pi p # FIFO +so s # SOCK +bd b # BLK +cd c # CHR +su u # SETUID +sg g # SETGID +ex  # EXEC +fi  # FILE + +# file extensions (vim-devicons) +*.styl  +*.sass  +*.scss  +*.htm  +*.html  +*.slim  +*.haml  +*.ejs  +*.css  +*.less  +*.md  +*.mdx  +*.markdown  +*.rmd  +*.json  +*.webmanifest  +*.js  +*.mjs  +*.jsx  +*.rb  +*.gemspec  +*.rake  +*.php  +*.py  +*.pyc  +*.pyo  +*.pyd  +*.coffee  +*.mustache  +*.hbs  +*.conf  +*.ini  +*.yml  +*.yaml  +*.toml  +*.bat  +*.mk  +*.jpg  +*.jpeg  +*.bmp  +*.png  +*.webp  +*.gif  +*.ico  +*.twig  +*.cpp  +*.c++  +*.cxx  +*.cc  +*.cp  +*.c  +*.cs  +*.h  +*.hh  +*.hpp  +*.hxx  +*.hs  +*.lhs  +*.nix  +*.lua  +*.java  +*.sh  +*.fish  +*.bash  +*.zsh  +*.ksh  +*.csh  +*.awk  +*.ps1  +*.ml λ +*.mli λ +*.diff  +*.db  +*.sql  +*.dump  +*.clj  +*.cljc  +*.cljs  +*.edn  +*.scala  +*.go  +*.dart  +*.xul  +*.sln  +*.suo  +*.pl  +*.pm  +*.t  +*.rss  +'*.f#'  +*.fsscript  +*.fsx  +*.fs  +*.fsi  +*.rs  +*.rlib  +*.d  +*.erl  +*.hrl  +*.ex  +*.exs  +*.eex  +*.leex  +*.heex  +*.vim  +*.ai  +*.psd  +*.psb  +*.ts  +*.tsx  +*.jl  +*.pp  +*.vue  +*.elm  +*.swift  +*.xcplayground  +*.tex ﭨ +*.r ﳒ +*.rproj 鉶 +*.sol ﲹ +*.pem  + +# file names (vim-devicons) (case-insensitive not supported in lf) +*gruntfile.coffee  +*gruntfile.js  +*gruntfile.ls  +*gulpfile.coffee  +*gulpfile.js  +*gulpfile.ls  +*mix.lock  +*dropbox  +*.ds_store  +*.gitconfig  +*.gitignore  +*.gitattributes  +*.gitlab-ci.yml  +*.bashrc  +*.zshrc  +*.zshenv  +*.zprofile  +*.vimrc  +*.gvimrc  +*_vimrc  +*_gvimrc  +*.bashprofile  +*favicon.ico  +*license  +*node_modules  +*react.jsx  +*procfile  +*dockerfile  +*docker-compose.yml  +*rakefile  +*config.ru  +*gemfile  +*makefile  +*cmakelists.txt  +*robots.txt ﮧ + +# file names (case-sensitive adaptations) +*Gruntfile.coffee  +*Gruntfile.js  +*Gruntfile.ls  +*Gulpfile.coffee  +*Gulpfile.js  +*Gulpfile.ls  +*Dropbox  +*.DS_Store  +*LICENSE  +*React.jsx  +*Procfile  +*Dockerfile  +*Docker-compose.yml  +*Rakefile  +*Gemfile  +*Makefile  +*CMakeLists.txt  + +# file patterns (vim-devicons) (patterns not supported in lf) +# .*jquery.*\.js$  +# .*angular.*\.js$  +# .*backbone.*\.js$  +# .*require.*\.js$  +# .*materialize.*\.js$  +# .*materialize.*\.css$  +# .*mootools.*\.js$  +# .*vimrc.*  +# Vagrantfile$  + +# file patterns (file name adaptations) +*jquery.min.js  +*angular.min.js  +*backbone.min.js  +*require.min.js  +*materialize.min.js  +*materialize.min.css  +*mootools.min.js  +*vimrc  +Vagrantfile  + +# archives or compressed (extensions from dircolors defaults) +*.tar  +*.tgz  +*.arc  +*.arj  +*.taz  +*.lha  +*.lz4  +*.lzh  +*.lzma  +*.tlz  +*.txz  +*.tzo  +*.t7z  +*.zip  +*.z  +*.dz  +*.gz  +*.lrz  +*.lz  +*.lzo  +*.xz  +*.zst  +*.tzst  +*.bz2  +*.bz  +*.tbz  +*.tbz2  +*.tz  +*.deb  +*.rpm  +*.jar  +*.war  +*.ear  +*.sar  +*.rar  +*.alz  +*.ace  +*.zoo  +*.cpio  +*.7z  +*.rz  +*.cab  +*.wim  +*.swm  +*.dwm  +*.esd  + +# image formats (extensions from dircolors defaults) +*.jpg  +*.jpeg  +*.mjpg  +*.mjpeg  +*.gif  +*.bmp  +*.pbm  +*.pgm  +*.ppm  +*.tga  +*.xbm  +*.xpm  +*.tif  +*.tiff  +*.png  +*.svg  +*.svgz  +*.mng  +*.pcx  +*.mov  +*.mpg  +*.mpeg  +*.m2v  +*.mkv  +*.webm  +*.ogm  +*.mp4  +*.m4v  +*.mp4v  +*.vob  +*.qt  +*.nuv  +*.wmv  +*.asf  +*.rm  +*.rmvb  +*.flc  +*.avi  +*.fli  +*.flv  +*.gl  +*.dl  +*.xcf  +*.xwd  +*.yuv  +*.cgm  +*.emf  +*.ogv  +*.ogx  + +# audio formats (extensions from dircolors defaults) +*.aac  +*.au  +*.flac  +*.m4a  +*.mid  +*.midi  +*.mka  +*.mp3  +*.mpc  +*.ogg  +*.ra  +*.wav  +*.oga  +*.opus  +*.spx  +*.xspf  + +# other formats +*.pdf  diff --git a/.config/lf/lfrc b/.config/lf/lfrc new file mode 100644 index 0000000..eb604e9 --- /dev/null +++ b/.config/lf/lfrc @@ -0,0 +1,168 @@ +set icons true +set ignorecase true + +set drawbox + +# interpreter for shell commands +set shell sh +set shellopts '-eu' + +set previewer ctpv +set cleaner ctpvclear +&ctpv -s $id +&ctpvquit $id + +cmd mkfile ${{ + printf "File Name: " + read ans + $EDITOR $ans +}} + +cmd edit-config ${{ + $EDITOR ~/.config/lf/lfrc + lf -remote "send $id source ~/.config/lf/lfrc" +}} + +cmd paste &{{ + set -- $(cat ~/.local/share/lf/files) + mode="$1" + shift + case "$mode" in + copy) + rsync -av --ignore-existing --progress -- "$@" . | + stdbuf -i0 -o0 -e0 tr '\r' '\n' | + while IFS= read -r line; do + lf -remote "send $id echo $line" + done + ;; + move) mv -n -- "$@" .;; + esac + rm ~/.local/share/lf/files + lf -remote "send clear" +}} + +cmd setwallpaper %swww img "$f" --transition-type right --transition-fps 60 + +cmd fzf_jump ${{ + res="$(find . | fzf --reverse --header='Jump to location' | sed 's/\\/\\\\/g;s/"/\\"/g')" + if [ -d "$res" ] ; then + cmd="cd" + elif [ -f "$res" ] ; then + cmd="select" + else + exit 0 + fi + lf -remote "send $id $cmd \"$res\"" +}} + +cmd fzf_search ${{ + res="$( \ + RG_PREFIX="rg --column --line-number --no-heading --color=always \ + --smart-case " + FZF_DEFAULT_COMMAND="$RG_PREFIX ''" \ + fzf --bind "change:reload:$RG_PREFIX {q} || true" \ + --ansi --layout=reverse --header 'Search in files' \ + | cut -d':' -f1 + )" + [ ! -z "$res" ] && lf -remote "send $id select \"$res\"" +}} + +cmd open &{{ + case "$f" in + *.pdf|*.epub) $(zathura "$f");; + *.avi|*.mp4|*.wmv|*.dat|*.3gp|*.ogv|*.mkv|*.mpg|*.mpeg|*.vob|*.fl[icv]|*.m2v|*.mov|*.webm|*.ts|*.mts|*.m4v|*.r[am]|*.qt|*.divx) $(mpv "$f");; + *.bmp|*.jpg|*.jpeg|*.png|*.xpm|*.webp|*.tiff|*.gif|*.jfif|*.ico) $(imv "$f") ;; + *) lf -remote "send $id \$$EDITOR \$fx";; + esac +}} + +cmd unarchive ${{ + set -f + case $f in + *.tar.bz|*.tar.bz2|*.tbz|*.tbz2) tar xjvf $f;; + *.tar.gz|*.tgz) tar xzvf $f;; + *.tar.xz|*.txz) tar xJvf $f;; + *.zip) unzip $f;; + *.rar) unrar x $f;; + *.7z) 7z x $f;; + esac +}} + +cmd tar ${{ + set -f + mkdir $1 + cp -r $fx $1 + tar czf $1.tar.gz $1 + rm -rf $1 +}} + +cmd zip ${{ + set -f + mkdir $1 + cp -r $fx $1 + zip -r $1.zip $1 + rm -rf $1 +}} + + +# Trash bindings +cmd trash ${{ + files=$(printf "$fx" | tr '\n' ';') + while [ "$files" ]; do + file=${files%%;*} + + trash-put "$(basename "$file")" + if [ "$files" = "$file" ]; then + files='' + else + files="${files#*;}" + fi + done +}} + +cmd restore_trash ${{ + trash-restore +}} + +map . set hidden! + +# move current file or selected files to trash folder +# (also see 'man mv' for backup/overwrite options) +cmd trash %set -f; mv $fx ~/.trash + +# make sure trash folder exists +%mkdir -p ~/.trash + +map dd trash +map dr restore_trash + +map y copy +map p paste +map x cut + +map f :fzf_jump +map gf :fzf_search + +map open + +map R reload + +map bg setwallpaper +map C edit-config + +map gh cd ~ +map gd cd ~/Downloads +map gD cd ~/Documents + +map gc cd ~/.config +map gr cd ~/repos + +map gp cd ~/Pictures +map gw cd ~/Pictures/wallpapers +map gs cd ~/Pictures/screenshots + +map gv cd ~/Videos +map gm cd ~/Music + +map gt cd ~/.local/share/Trash/files +map tC rm -rf ~/.local/share/Trash/files/* diff --git a/.config/nvim/lua/core/options.lua b/.config/nvim/lua/core/options.lua index 8ef3a65..3a542c1 100644 --- a/.config/nvim/lua/core/options.lua +++ b/.config/nvim/lua/core/options.lua @@ -25,7 +25,7 @@ opt.number = true opt.relativenumber = true vim.g.lsp_path = os.getenv("HOME") .. "/.local/share/nvim/mason/bin/" - +vim.lsp.set_log_level("debug") vim.g.mapleader = "," opt.list = true diff --git a/.config/nvim/lua/core/plugins.lua b/.config/nvim/lua/core/plugins.lua index a167c23..5afbb5b 100644 --- a/.config/nvim/lua/core/plugins.lua +++ b/.config/nvim/lua/core/plugins.lua @@ -117,6 +117,10 @@ require("lazy").setup({ { "hrsh7th/nvim-cmp", + -- load cmp on InsertEnter + event = "InsertEnter", + -- these dependencies will only be loaded when cmp loads + -- dependencies are always lazy-loaded unless specified otherwise dependencies = { "hrsh7th/cmp-nvim-lsp", "hrsh7th/cmp-path", diff --git a/.config/nvim/lua/lsp/init.lua b/.config/nvim/lua/lsp/init.lua index a230312..a1aa10f 100644 --- a/.config/nvim/lua/lsp/init.lua +++ b/.config/nvim/lua/lsp/init.lua @@ -50,7 +50,7 @@ vim.g.lsp_on_attach = function(client,bufnr) buf_set_keymap('n','[d','lua vim.diagnostic.goto_prev()',opts) buf_set_keymap('n',']d','lua vim.diagnostic.goto_next()',opts) buf_set_keymap('n','d','lua vim.diagnostic.open_float({border="rounded"})',opts) - buf_set_keymap('n','f','lua vim.lsp.buf.formatting()',opts) + buf_set_keymap('n','f','lua vim.lsp.buf.format()',opts) end local servers = mason_lsp.get_installed_servers() diff --git a/.config/nvim/lua/lsp/servers/pylsp.lua b/.config/nvim/lua/lsp/servers/pylsp.lua index 0e11004..cd0e347 100644 --- a/.config/nvim/lua/lsp/servers/pylsp.lua +++ b/.config/nvim/lua/lsp/servers/pylsp.lua @@ -10,7 +10,7 @@ return { pylsp = { plugins = { pycodestyle = { - ignore = {'W391','W293'}, + ignore = {'W391','W293',"E128","E124"}, maxLineLength = 90 } } diff --git a/.config/nvim/lua/plugins/cmp.lua b/.config/nvim/lua/plugins/cmp.lua index 7437803..ff73c8a 100644 --- a/.config/nvim/lua/plugins/cmp.lua +++ b/.config/nvim/lua/plugins/cmp.lua @@ -4,23 +4,21 @@ if not ok then return end - -cmp.setup { - mapping = { +cmp.setup({ + mapping = cmp.mapping.preset.insert({ [""] = cmp.mapping.select_next_item(), [""] = cmp.mapping.select_next_item(), + [""] = cmp.mapping.select_prev_item(), [""] = cmp.mapping.select_prev_item(), - [""] = cmp.mapping.select_prev_item(), [""] = cmp.mapping.complete(), [""] = cmp.mapping.confirm({select = false}), - }, - + }), + completion = { - autocomplete = true, + -- autocomplete = true, completeopt = "menu,menuone,noinsert", winhighlight = "Normal:Pmenu,FloatBorder:Pmenu,Search:None", }, - snippet = { expand = function(args) require('luasnip').lsp_expand(args.body) @@ -51,4 +49,5 @@ cmp.setup { { name = "emoji" }, { name = "calc" }, }, -} + +}) diff --git a/.config/nvim/lua/plugins/nvim-tree.lua b/.config/nvim/lua/plugins/nvim-tree.lua index e967b6e..23ceb83 100644 --- a/.config/nvim/lua/plugins/nvim-tree.lua +++ b/.config/nvim/lua/plugins/nvim-tree.lua @@ -10,9 +10,6 @@ nvim_tree.setup({ sort_by = "case_sensitive", view = { adaptive_size = true, - mappings = { - list = {{ key = "u", action = "dir_up" }}, - }, }, filters = { @@ -21,5 +18,3 @@ nvim_tree.setup({ }) keymap("n","",":NvimTreeToggle") -keymap("n","n",":NvimTreeFindFile") -keymap("n","","gh defx#do_action('cd',getcwd())")