This commit is contained in:
Sergey 2023-10-13 01:47:33 +04:00
parent f43e88e7ee
commit a4c819a30b
16 changed files with 603 additions and 163 deletions

View File

@ -1,4 +1,4 @@
#? Config file for btop v. 1.2.6
#? Config file for btop v. 1.2.13
#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes.
#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
@ -16,7 +16,7 @@ force_tty = False
#* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets.
#* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box.
#* Use withespace " " as separator between different presets.
#* Use whitespace " " as separator between different presets.
#* Example: "cpu:0:default,mem:0:tty,proc:1:default cpu:0:braille,proc:0:tty"
presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty"
@ -47,20 +47,20 @@ graph_symbol_net = "default"
graph_symbol_proc = "default"
#* Manually set which boxes to show. Available values are "cpu mem net proc", separate values with whitespace.
shown_boxes = "mem cpu net proc"
shown_boxes = "cpu mem proc net"
#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs.
update_ms = 2000
update_ms = 500
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
proc_sorting = "command"
proc_sorting = "cpu lazy"
#* Reverse sorting order, True or False.
proc_reversed = False
#* Show processes as a tree.
proc_tree = True
proc_tree = False
#* Use the cpu graph colors in the process list.
proc_colors = True
@ -74,12 +74,18 @@ proc_per_core = False
#* Show process memory as bytes instead of percent.
proc_mem_bytes = True
#* Show cpu graph for each process.
proc_cpu_graphs = True
#* Use /proc/[pid]/smaps for memory information in the process info box (very slow but more accurate)
proc_info_smaps = False
#* Show proc box on left side of screen instead of right.
proc_left = False
#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop).
proc_filter_kernel = False
#* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available.
#* Select from a list of detected attributes from the options menu.
cpu_graph_upper = "total"
@ -144,6 +150,9 @@ mem_graphs = True
#* Show mem box below net box instead of above.
mem_below_net = False
#* Count ZFS ARC in cached and available memory.
zfs_arc_cached = True
#* If swap memory should be shown in memory box.
show_swap = True
@ -159,6 +168,9 @@ only_physical = True
#* Read disks list from /etc/fstab. This also disables only_physical.
use_fstab = True
#* Setting this to True will hide all datasets, and only show ZFS pools. (IO stats will be calculated per-pool)
zfs_hide_datasets = False
#* Set to true to show available disk space for privileged users.
disk_free_priv = False
@ -166,7 +178,7 @@ disk_free_priv = False
show_io_stat = True
#* Toggles io mode for disks, showing big graphs for disk read/write speeds.
io_mode = False
io_mode = True
#* Set to True to show combined read/write io graphs in io mode.
io_graph_combined = False
@ -181,7 +193,7 @@ net_download = 100
net_upload = 100
#* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest.
net_auto = True
net_auto = False
#* Sync the auto scaling for download and upload to whichever currently has the highest scale.
net_sync = True

View File

@ -1,8 +1,8 @@
# aliases
alias sdr='screen -aAdr'
alias ls='exa'
alias la='exa -a'
alias ll='exa -laF'
alias ls='eza'
alias la='eza -a'
alias ll='eza -laF'
alias mkpasswd='head -c16 /dev/urandom | xxd -ps'
alias mc='mc -b'
alias cdp='cd (~/bin/cdp); clear'
@ -23,3 +23,6 @@ alias gitst='git st'
# alias 'bin/ledger'='noglob bin/ledger'
#
# alias icat='kitty +kitten icat'
alias dark="/usr/bin/kitty +kitten themes --reload-in=all Gruvbox Dark"
alias light="/usr/bin/kitty +kitten themes --reload-in=all Gruvbox Light"

View File

@ -3,3 +3,6 @@
# direnv
set -x DIRENV_LOG_FORMAT ""
direnv hook fish | source
# rbenv
status --is-interactive; and rbenv init - fish | source

View File

@ -13,9 +13,10 @@ SETUVAR __fish_initialized:3400
SETUVAR _fisher_edc_2F_bass_files:/home/krsh/\x2econfig/fish/functions/__bass\x2epy\x1e/home/krsh/\x2econfig/fish/functions/bass\x2efish
SETUVAR _fisher_franciscolourenco_2F_done_files:/home/krsh/\x2econfig/fish/conf\x2ed/done\x2efish
SETUVAR _fisher_jethrokuan_2F_fzf_files:/home/krsh/\x2econfig/fish/functions/__fzf_cd\x2efish\x1e/home/krsh/\x2econfig/fish/functions/__fzf_complete\x2efish\x1e/home/krsh/\x2econfig/fish/functions/__fzf_complete_preview\x2efish\x1e/home/krsh/\x2econfig/fish/functions/__fzf_find_file\x2efish\x1e/home/krsh/\x2econfig/fish/functions/__fzf_get_dir\x2efish\x1e/home/krsh/\x2econfig/fish/functions/__fzf_open\x2efish\x1e/home/krsh/\x2econfig/fish/functions/__fzf_parse_commandline\x2efish\x1e/home/krsh/\x2econfig/fish/functions/__fzf_reverse_isearch\x2efish\x1e/home/krsh/\x2econfig/fish/functions/__fzfcmd\x2efish\x1e/home/krsh/\x2econfig/fish/conf\x2ed/fzf\x2efish
SETUVAR _fisher_jorgebucaran_2F_fisher_files:/home/krsh/\x2econfig/fish/functions/fisher\x2efish\x1e/home/krsh/\x2econfig/fish/completions/fisher\x2efish
SETUVAR _fisher_jorgebucaran_2F_fisher_files:\x7e/\x2econfig/fish/functions/fisher\x2efish\x1e\x7e/\x2econfig/fish/completions/fisher\x2efish
SETUVAR _fisher_jorgebucaran_2F_spark_2E_fish_files:/home/krsh/\x2econfig/fish/functions/spark\x2efish\x1e/home/krsh/\x2econfig/fish/completions/spark\x2efish
SETUVAR _fisher_plugins:jorgebucaran/fisher\x1ejethrokuan/fzf\x1ejorgebucaran/spark\x2efish\x1efranciscolourenco/done\x1eedc/bass
SETUVAR _fisher_upgraded_to_4_4:\x1d
SETUVAR fish_color_autosuggestion:969896
SETUVAR fish_color_cancel:\x2dr
SETUVAR fish_color_command:7aa6da

View File

@ -1,30 +1,26 @@
# Beware! This file is rewritten by htop when settings are changed in the interface.
# The parser is also very primitive, and not human-friendly.
htop_version=3.1.2
config_reader_min_version=2
htop_version=3.2.2
config_reader_min_version=3
fields=0 48 17 18 38 39 40 2 46 47 49 1
sort_key=46
sort_direction=-1
tree_sort_key=47
tree_sort_direction=-1
hide_kernel_threads=0
hide_userland_threads=0
hide_running_in_container=0
shadow_other_users=1
show_thread_names=0
show_program_path=0
highlight_base_name=1
highlight_deleted_exe=1
shadow_distribution_path_prefix=0
highlight_megabytes=1
highlight_threads=1
highlight_changes=0
highlight_changes_delay_secs=5
find_comm_in_cmdline=1
strip_exe_from_cmdline=1
show_merged_command=0
tree_view=0
tree_view_always_by_pid=0
all_branches_collapsed=0
show_merged_command=1
header_margin=1
screen_tabs=0
detailed_cpu_time=1
cpu_count_from_one=0
show_cpu_usage=1
@ -40,3 +36,26 @@ column_meters_0=AllCPUs2 Memory Swap
column_meter_modes_0=1 1 1
column_meters_1=Tasks LoadAverage Uptime
column_meter_modes_1=2 2 2
tree_view=0
sort_key=47
tree_sort_key=47
sort_direction=-1
tree_sort_direction=-1
tree_view_always_by_pid=0
all_branches_collapsed=0
screen:Main=PID USER PRIORITY NICE M_VIRT M_RESIDENT M_SHARE STATE PERCENT_CPU PERCENT_MEM TIME Command
.sort_key=PERCENT_MEM
.tree_sort_key=PERCENT_MEM
.tree_view=0
.tree_view_always_by_pid=0
.sort_direction=-1
.tree_sort_direction=-1
.all_branches_collapsed=0
screen:I/O=PID USER IO_PRIORITY IO_RATE IO_READ_RATE IO_WRITE_RATE
.sort_key=IO_RATE
.tree_sort_key=PID
.tree_view=0
.tree_view_always_by_pid=0
.sort_direction=-1
.tree_sort_direction=1
.all_branches_collapsed=0

View File

@ -56,8 +56,8 @@ set $darkgray #282828
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
default_border normal 1
default_floating_border pixel 1
default_border pixel 2
default_floating_border pixel 2
hide_edge_borders smart
focus_follows_mouse no
@ -65,16 +65,17 @@ workspace_auto_back_and_forth no
workspace_layout default
for_window [class="(?i)firefox"] move container to workspace $ws1
for_window [title="(?i)Picture-in-Picture"] floating enable border none
for_window [class="(?i)telegram"] move container to workspace $ws2
for_window [class="mpv"] floating enable border none
for_window [class="(?i)zooout"] floating enable
for_window [class="(?i)netsurf"] floating enable
for_window [class="(?i)proton-bridge"] move container to workspace $ws9 floating enable border none
for_window [class="(?i)cadence"] move container to workspace $ws7 floating enable
for_window [class="(?i)catia"] move container to workspace $ws7 floating enable
for_window [class="(?i)reaper"] move container to workspace $ws7
for_window [class="(?i)renoise"] move container to workspace $ws7
# for_window [class="(?i)cadence"] move container to workspace $ws7 floating enable
# for_window [class="(?i)catia"] move container to workspace $ws7 floating enable
# for_window [class="(?i)reaper"] move container to workspace $ws7
# for_window [class="(?i)renoise"] move container to workspace $ws7
for_window [class="(?i)uvi"] floating enable
for_window [class="(?i)arturia"] floating enable
for_window [class="(?i)ilok"] floating enable
@ -93,7 +94,7 @@ for_window [class="Space"] floating enable
#### i3 appearance ####
#######################
# Gruvbox Theme brdr bg text indictr chld_brdr
client.focused $green $green $bg $green $green
client.focused $orange $orange $bg $green $orange
client.focused_inactive $blue $blue $bg $blue $blue
client.unfocused $bg $bg $bg $bg $bg
client.urgent $red $red $bg $red $red
@ -161,7 +162,7 @@ bindsym $mod+Shift+w layout toggle split
# toggle tiling / floating
bindsym $mod+Shift+space floating toggle
bindsym $mod+Shift+0 sticky toggle
bindsym $mod+Shift+equal sticky toggle
# Make the currently focused window a scratchpad
bindsym $mod+Shift+minus move scratchpad
@ -203,7 +204,15 @@ bindsym $mod+9 workspace $ws9
bindsym $mod+0 workspace $ws10
workspace $ws1 output primary
workspace $ws10 output LVDS1
workspace $ws2 output primary
workspace $ws3 output primary
workspace $ws4 output primary
workspace $ws5 output primary
workspace $ws6 output primary
workspace $ws7 output primary
workspace $ws8 output primary
workspace $ws9 output primary
workspace $ws10 output eDP-1-0
# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace $ws1
@ -215,6 +224,7 @@ bindsym $mod+Shift+6 move container to workspace $ws6
bindsym $mod+Shift+7 move container to workspace $ws7
bindsym $mod+Shift+8 move container to workspace $ws8
bindsym $mod+Shift+9 move container to workspace $ws9
bindsym $mod+Shift+0 move container to workspace $ws10
# reload the configuration file
# bindsym $mod+Shift+e reload
@ -284,7 +294,7 @@ bar {
# strip_workspace_numbers yes
output primary
tray_output primary
status_command i3status-rs-with-env ~/.config/i3status-rs/config.toml
status_command i3status-rs-with-env ~/.config/i3status-rust/config.toml
font pango:Iosevka Term, FontAwesome Bold 14px
colors {
background #000000
@ -300,14 +310,14 @@ bar {
}
# Backlight control
bindsym XF86MonBrightnessUp exec --no-startup-id sudo light -A 5
bindsym XF86MonBrightnessDown exec --no-startup-id sudo light -U 5
bindsym XF86MonBrightnessUp exec --no-startup-id doas /usr/bin/light -A 5
bindsym XF86MonBrightnessDown exec --no-startup-id doas /usr/bin/light -U 5
# bindsym XF86Search exec --no-startup-id suspend-and-lock
# Volume control
bindsym XF86AudioRaiseVolume exec --no-startup-id amixer -c 0 set Master 2dB+
bindsym XF86AudioLowerVolume exec --no-startup-id amixer -c 0 set Master 2dB-
bindsym XF86AudioMute exec --no-startup-id amixer -c 0 set Master toggle
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +5%
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -5%
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle
# bindsym XF86AudioPrev exec --no-startup-id mpc prev
# bindsym XF86AudioPlay exec --no-startup-id mpc toggle

View File

@ -1,6 +1,5 @@
include colors/gruvbox_dark.conf
shell fish
shell_integration no-sudo no-cursor
font_family Iosevka Custom Medium
font_size 12.0
@ -10,7 +9,6 @@ bold_italic_font Iosevka Custom Bold
adjust_line_height 98%
cursor_shape block
shell_integration no-cursor
scrollback_lines 2000
@ -30,9 +28,14 @@ draw_minimal_borders True
hide_window_decorations False
placement_strategy top-left
touch_scroll_multiplier 0
wheel_scroll_multiplier 0
wheel_scroll_min_lines 0
touch_scroll_min_lines 0
enable_audio_bell no
visual_bell_duration 0.2
visual_bell_color #fb4934
# visual_bell_color #fb4934
tab_bar_style separator
tab_separator " ┇ "
@ -67,3 +70,9 @@ map ctrl+alt+0 change_font_size all 0
# Would open the scrollback buffer in a new window when you press the F1 key
map ctrl+shift+f1 pipe @ansi window less +G -R
# BEGIN_KITTY_THEME
# Gruvbox Dark
include current-theme.conf
# END_KITTY_THEME

View File

@ -0,0 +1,78 @@
shell fish
font_family Iosevka Custom Medium
font_size 12.0
bold_font Iosevka Custom Bold
italic_font Iosevka Custom Medium
bold_italic_font Iosevka Custom Bold
adjust_line_height 98%
cursor_shape block
shell_integration no-cursor
scrollback_lines 2000
repaint_delay 10
input_delay 3
sync_to_monitor yes
remember_window_size no
window_padding_width 0
window_border_width 0
window_border_width 1
window_padding_width 0
window_margin_width 0
window_resize_step_cells 0
single_window_margin_width 0
draw_minimal_borders True
hide_window_decorations False
placement_strategy top-left
touch_scroll_multiplier 0
wheel_scroll_multiplier 0
wheel_scroll_min_lines 0
touch_scroll_min_lines 0
enable_audio_bell no
visual_bell_duration 0.2
# visual_bell_color #fb4934
tab_bar_style separator
tab_separator " ┇ "
term xterm-256color
map ctrl+shift+enter new_window_with_cwd
map ctrl+shift+t new_tab_with_cwd
map ctrl+shift+1 goto_tab 1
map ctrl+shift+2 goto_tab 2
map ctrl+shift+3 goto_tab 3
map ctrl+shift+4 goto_tab 4
map ctrl+shift+5 goto_tab 5
map ctrl+shift+6 goto_tab 6
map ctrl+shift+7 goto_tab 7
map ctrl+shift+8 goto_tab 8
map ctrl+shift+9 goto_tab 9
map ctrl+shift+equal no_op
map ctrl+shift+minus no_op
map ctrl+shift+backspace no_op
map ctrl+shift+w no_op
# Crutch to disable escaping space
# send_text all alt+space \x20\x7f
map ctrl+alt+equal change_font_size all +2.0
map ctrl+alt+minus change_font_size all -2.0
map ctrl+alt+0 change_font_size all 0
# Would open the scrollback buffer in a new window when you press the F1 key
map ctrl+shift+f1 pipe @ansi window less +G -R
# BEGIN_KITTY_THEME
# Gruvbox Light
include current-theme.conf
# END_KITTY_THEME

View File

@ -9,8 +9,10 @@ Plug 'tpope/vim-sensible'
" Plug 'ellisonleao/gruvbox.nvim'
Plug '~/Projects/libs/gruvbox.nvim'
Plug 'terryma/vim-multiple-cursors'
Plug 'Lokaltog/vim-easymotion'
" Plug 'terryma/vim-multiple-cursors'
Plug 'mg979/vim-visual-multi'
" Plug 'Lokaltog/vim-easymotion'
Plug 'ggandor/leap.nvim'
Plug 'simrat39/rust-tools.nvim'
" Plug 'vim-ruby/vim-ruby'
@ -42,7 +44,6 @@ Plug 'tomtom/tcomment_vim'
Plug 'majutsushi/tagbar', { 'on': 'TagbarToggle' }
Plug 'scrooloose/nerdtree'
Plug 'milkypostman/vim-togglelist' " <leader>l and <leader>q
" Snippets
@ -59,14 +60,18 @@ Plug 'tpope/vim-endwise'
Plug 'tpope/vim-rsi'
Plug 'tpope/vim-abolish'
Plug 'tpope/vim-eunuch'
Plug 'rstacruz/vim-closer'
Plug 'tpope/vim-rhubarb'
" Plug 'rstacruz/vim-closer' # bugged
Plug 'godlygeek/tabular'
" LSP
Plug 'neovim/nvim-lspconfig'
Plug 'tamago324/nlsp-settings.nvim'
Plug 'williamboman/nvim-lsp-installer'
Plug 'hrsh7th/cmp-nvim-lsp'
Plug 'folke/lsp-colors.nvim'
" Plug 'jose-elias-alvarez/null-ls.nvim'
Plug 'hrsh7th/cmp-buffer'
" Plug 'hrsh7th/cmp-path'
@ -77,22 +82,33 @@ Plug 'hrsh7th/nvim-cmp'
Plug 'saadparwaiz1/cmp_luasnip'
" Plug 'tpope/vim-dispatch'
Plug 'airblade/vim-gitgutter'
" Plug 'airblade/vim-gitgutter'
Plug 'lewis6991/gitsigns.nvim'
Plug 'tpope/vim-fugitive'
Plug 'kassio/neoterm'
Plug 'janko/vim-test'
" Plug 'janko/vim-test'
Plug 'nvim-neotest/neotest'
Plug 'olimorris/neotest-rspec'
Plug 'yssl/QFEnter'
" Tasks
Plug 'blindFS/vim-taskwarrior'
" Plug 'blindFS/vim-taskwarrior'
Plug 'powerman/vim-plugin-AnsiEsc'
Plug 'vimwiki/vimwiki'
Plug 'tbabej/taskwiki'
" Plug 'vimwiki/vimwiki'
" Plug 'tbabej/taskwiki'
Plug 'McAuleyPenney/tidy.nvim' " Remove whitespaces
Plug 'Chiel92/vim-autoformat'
Plug 'nvim-lua/plenary.nvim'
Plug 'nvim-telescope/telescope.nvim'
" Plug 'nvim-telescope/telescope.nvim'
Plug 'junegunn/fzf.vim'
Plug 'MunifTanjim/nui.nvim'
Plug 'nvim-neo-tree/neo-tree.nvim'
call plug#end()
@ -107,9 +123,10 @@ set termguicolors
" let g:gruvbox_contrast_light='medium'
colorscheme gruvbox
set background=dark
silent! map <F5> :set background=dark<CR>
silent! map <F6> :set background=light<CR>
" let neovim guess
" set background=dark
" silent! map <F5> :set background=dark<CR>
" silent! map <F6> :set background=light<CR>
" Required for operations modifying multiple buffers like rename.
set hidden
@ -133,6 +150,7 @@ let g:neosnippet#snippets_directory='$HOME/.config/nvim/bundle/vim-snippets/snip
lua << EOF
require('gitsigns').setup()
-- tree-sitter
@ -165,26 +183,39 @@ require'nvim-treesitter.configs'.setup {
}
-- telescope
require('telescope').setup{
-- require('telescope').setup{
-- -- defaults = {
-- -- layout_config = {
-- -- vertical = { width = 0.9 }
-- -- }
-- -- },
-- defaults = {
-- layout_config = {
-- vertical = { width = 0.9 }
-- preview = {
-- treesitter = false,
-- },
-- },
-- pickers = {
-- find_files = {
-- theme = "ivy",
-- },
-- live_grep = {
-- theme = "ivy",
-- }
-- },
pickers = {
find_files = {
theme = "ivy",
},
live_grep = {
theme = "ivy",
}
},
}
-- }
-- nvim-lspconfig
local nvim_lsp = require('lspconfig')
local nlspsettings = require("nlspsettings")
nlspsettings.setup({
config_home = vim.fn.stdpath('config') .. '/nlsp-settings',
local_settings_dir = ".nlsp-settings",
local_settings_root_markers_fallback = { '.git' },
append_default_schemas = true,
loader = 'json'
})
-- Use an on_attach function to only map the following keys
-- after the language server attaches to the current buffer
@ -192,6 +223,8 @@ local on_attach = function(client, bufnr)
local function buf_set_keymap(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end
local function buf_set_option(...) vim.api.nvim_buf_set_option(bufnr, ...) end
client.server_capabilities.semanticTokensProvider = nil
-- Enable completion triggered by <c-x><c-o>
buf_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc')
@ -236,16 +269,17 @@ local servers = {
'erlangls',
'eslint',
'gdscript',
-- 'ruby_ls',
'solargraph',
'stylelint_lsp',
'tsserver',
'zls',
}
-- Setup lspconfig.
local capabilities = vim.lsp.protocol.make_client_capabilities()
capabilities = require('cmp_nvim_lsp').update_capabilities(capabilities)
capabilities = require('cmp_nvim_lsp').default_capabilities(capabilities)
for _, lsp in ipairs(servers) do
nvim_lsp[lsp].setup {
@ -263,25 +297,25 @@ nvim_lsp.elixirls.setup{
capabilities = capabilities
}
nvim_lsp.rust_analyzer.setup({
cmd = { "rust-analyzer" },
on_attach = on_attach,
capabilities = capabilities,
settings = {
["rust-analyzer"] = {
assist = {
importGranularity = "module",
importPrefix = "by_self",
},
cargo = {
loadOutDirsFromCheck = true
},
procMacro = {
enable = true
},
}
}
})
-- nvim_lsp.rust_analyzer.setup({
-- cmd = { "rust-analyzer" },
-- on_attach = on_attach,
-- capabilities = capabilities,
-- settings = {
-- ["rust-analyzer"] = {
-- assist = {
-- importGranularity = "module",
-- importPrefix = "by_self",
-- },
-- cargo = {
-- loadOutDirsFromCheck = true
-- },
-- procMacro = {
-- enable = true
-- },
-- }
-- }
-- })
nvim_lsp.tailwindcss.setup({
on_attach = on_attach,
@ -293,36 +327,86 @@ nvim_lsp.tailwindcss.setup({
}
})
require('rust-tools').setup({
tools = { -- rust-tools options
autoSetHints = true,
hover_with_actions = true,
inlay_hints = {
-- show_parameter_hints = false,
-- parameter_hints_prefix = "",
-- other_hints_prefix = "",
},
},
-- require('rust-tools').setup({
-- tools = { -- rust-tools options
-- autoSetHints = true,
-- hover_with_actions = true,
-- inlay_hints = {
-- -- show_parameter_hints = false,
-- -- parameter_hints_prefix = "",
-- -- other_hints_prefix = "",
-- },
-- },
--
-- -- all the opts to send to nvim-lspconfig
-- -- these override the defaults set by rust-tools.nvim
-- -- see https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md#rust_analyzer
-- server = {
-- -- on_attach is a callback called when the language server attachs to the buffer
-- on_attach = on_attach,
-- settings = {
-- -- to enable rust-analyzer settings visit:
-- -- https://github.com/rust-analyzer/rust-analyzer/blob/master/docs/user/generated_config.adoc
-- ["rust-analyzer"] = {
-- -- enable clippy on save
-- checkOnSave = {
-- allTargets = false,
-- command = "clippy"
-- },
-- }
-- }
-- },
-- })
-- all the opts to send to nvim-lspconfig
-- these override the defaults set by rust-tools.nvim
-- see https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md#rust_analyzer
server = {
-- on_attach is a callback called when the language server attachs to the buffer
on_attach = on_attach,
settings = {
-- to enable rust-analyzer settings visit:
-- https://github.com/rust-analyzer/rust-analyzer/blob/master/docs/user/generated_config.adoc
["rust-analyzer"] = {
-- enable clippy on save
checkOnSave = {
allTargets = false,
command = "clippy"
},
}
}
},
-- textDocument/diagnostic support until 0.10.0 is released
_timers = {}
local function setup_diagnostics(client, buffer)
if require("vim.lsp.diagnostic")._enable then
return
end
local diagnostic_handler = function()
local params = vim.lsp.util.make_text_document_params(buffer)
client.request("textDocument/diagnostic", { textDocument = params }, function(err, result)
if err then
local err_msg = string.format("diagnostics error - %s", vim.inspect(err))
vim.lsp.log.error(err_msg)
end
local diagnostic_items = {}
if result then
diagnostic_items = result.items
end
vim.lsp.diagnostic.on_publish_diagnostics(
nil,
vim.tbl_extend("keep", params, { diagnostics = diagnostic_items }),
{ client_id = client.id }
)
end)
end
diagnostic_handler() -- to request diagnostics on buffer when first attaching
vim.api.nvim_buf_attach(buffer, false, {
on_lines = function()
if _timers[buffer] then
vim.fn.timer_stop(_timers[buffer])
end
_timers[buffer] = vim.fn.timer_start(200, diagnostic_handler)
end,
on_detach = function()
if _timers[buffer] then
vim.fn.timer_stop(_timers[buffer])
end
end,
})
end
nvim_lsp.ruby_ls.setup({
on_attach = function(client, buffer)
setup_diagnostics(client, buffer)
end,
})
-- Setup nvim-cmp.
local cmp = require('cmp')
@ -407,16 +491,193 @@ cmp.setup.cmdline(':', {
})
})
require("neo-tree").setup({
close_if_last_window = false, -- Close Neo-tree if it is the last window left in the tab
popup_border_style = "rounded",
enable_git_status = false,
enable_diagnostics = false,
sort_case_insensitive = false, -- used when sorting files and directories in the tree
sort_function = nil , -- use a custom function for sorting files and directories in the tree
-- sort_function = function (a,b)
-- if a.type == b.type then
-- return a.path > b.path
-- else
-- return a.type > b.type
-- end
-- end , -- this sorts files and directories descendantly
default_component_configs = {
container = {
enable_character_fade = false
},
indent = {
indent_size = 2,
padding = 1, -- extra padding on left hand side
-- indent guides
with_markers = true,
indent_marker = "│",
last_indent_marker = "└",
highlight = "NeoTreeIndentMarker",
-- expander config, needed for nesting files
with_expanders = nil, -- if nil and file nesting is enabled, will enable expanders
expander_collapsed = "",
expander_expanded = "",
expander_highlight = "NeoTreeExpander",
},
icon = {
folder_closed = "▸",
folder_open = "▾",
folder_empty = " ",
-- The next two settings are only a fallback, if you use nvim-web-devicons and configure default icons there
-- then these will never be used.
default = "",
highlight = "NeoTreeFileIcon"
},
modified = {
symbol = "[+]",
highlight = "NeoTreeModified",
},
name = {
trailing_slash = false,
use_git_status_colors = false,
highlight = "NeoTreeFileName",
},
git_status = {
symbols = {
-- Change type
added = "", -- or "✚", but this is redundant info if you use git_status_colors on the name
modified = "", -- or "", but this is redundant info if you use git_status_colors on the name
deleted = "✖",-- this can only be used in the git_status source
renamed = "",-- this can only be used in the git_status source
-- Status type
untracked = "",
ignored = "",
unstaged = "",
staged = "",
conflict = "",
}
},
},
filesystem = {
filtered_items = {
visible = false,
never_show = {
".git",
".keep",
".gitkeep",
},
},
window = {
mappings = {
["/"] = false,
["D"] = false,
},
},
},
window = {
position = "left",
width = 40,
mapping_options = {
noremap = true,
nowait = true,
},
mappings = {
["<F4>"] = "open",
["C"] = "cut_to_clipboard",
["i"] = "toggle_hidden",
["x"] = "close_node",
["X"] = "close_all_nodes",
["z"] = false,
["Z"] = false,
["c"] = { "copy", config = { show_path = "relative" }},
["m"] = { "move", config = { show_path = "relative" }},
["a"] = { "add", config = { show_path = "relative" }},
},
},
})
require('leap').set_default_keymaps()
require('neotest').setup({
icons = {
-- Ascii:
-- { "/", "|", "\\", "-", "/", "|", "\\", "-"},
-- Unicode:
-- { "", "🞅", "🞈", "🞉", "", "", "🞉", "🞈", "🞅", "", },
-- {"◴" ,"◷" ,"◶", "◵"},
-- {"◢", "◣", "◤", "◥"},
-- {"◐", "◓", "◑", "◒"},
-- {"◰", "◳", "◲", "◱"},
-- {"⣾", "⣽", "⣻", "⢿", "⡿", "⣟", "⣯", "⣷"},
-- {"⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"},
-- {"⠋", "⠙", "⠚", "⠞", "⠖", "⠦", "⠴", "⠲", "⠳", "⠓"},
-- {"⠄", "⠆", "⠇", "⠋", "⠙", "⠸", "⠰", "⠠", "⠰", "⠸", "⠙", "⠋", "⠇", "⠆"},
-- { "⠋", "⠙", "⠚", "⠒", "⠂", "⠂", "⠒", "⠲", "⠴", "⠦", "⠖", "⠒", "⠐", "⠐", "⠒", "⠓", "⠋" },
running_animated = {"⣷", "⣯", "⣟", "⡿", "⢿", "⣻", "⣽", "⣾"},
passed = " ",
running = " ",
failed = " ",
skipped = "-",
unknown = "🞅",
non_collapsible = "─",
collapsed = "─",
expanded = "╮",
child_prefix = "├",
final_child_prefix = "╰",
child_indent = "│",
final_child_indent = " ",
},
adapters = {
require('neotest-rspec')({
rspec_cmd = function()
return vim.tbl_flatten({
"rspec",
})
end
})
},
quickfix = {
enabled = false,
open = false
},
})
-- local null_ls = require("null-ls")
--
-- null_ls.setup({
-- sources = {
-- null_ls.builtins.formatting.stylua,
-- null_ls.builtins.completion.spell,
-- null_ls.builtins.diagnostics.eslint,
-- null_ls.builtins.diagnostics.rubocop,
-- },
-- })
-- map("n", "<Leader>tn", ":lua require('neotest').run.run()<CR>", { noremap = false, silent = false })
-- buf_set_keymap('n', '<Leader>tn', '<cmd>lua require('neotest').run.run()<CR>', opts)
-- buf_set_keymap('n', '<space>f', '<cmd>lua vim.lsp.buf.formatting()<CR>', opts)
-- nnoremap <Leader>tn :TestNearest<CR>
-- nnoremap <Leader>tf :TestFile<CR>
-- nnoremap <Leader>ts :TestSuite<CR>
EOF
" neotest keybindings
nnoremap <Leader>tn <cmd>lua require("neotest").run.run()<CR>
nnoremap <Leader>ts <cmd>lua require("neotest").run.stop()<CR>
nnoremap <Leader>tf <cmd>lua require("neotest").run.run(vim.fn.expand("%"))<CR>
nnoremap <Leader>tt <cmd>lua require("neotest").summary.open()<CR>
nnoremap <Leader>ta <cmd>lua require("neotest").run.attach()<CR>
nnoremap <Leader>to <cmd>lua require("neotest").output.open({ enter = true })<CR>
nnoremap <silent>[n <cmd>lua require("neotest").jump.prev({ status = "failed" })<CR>
nnoremap <silent>]n <cmd>lua require("neotest").jump.next({ status = "failed" })<CR>
" EditorConfig
let g:EditorConfig_exclude_patterns = ['fugitive://.*', 'scp://.*']
" NerdTREE
silent! nmap <C-g> :NERDTreeToggle<CR>
silent! map <F4> :NERDTreeFind<CR>
let g:NERDTreeMapActivateNode="<F4>"
let g:NERDTreeMapPreview="<F3>"
" NeoTree
silent! nmap <C-g> :NeoTreeShowToggle<CR>
silent! map <F4> :NeoTreeReveal<CR>
" Lightline
let g:lightline = {
@ -460,24 +721,16 @@ let g:neoterm_autoinsert = 1
let g:neoterm_default_mod = 'rightbelow'
let g:neoterm_size = '20'
" vim-test
" make test commands execute using neoterm
let test#strategy = "neoterm"
nnoremap <Leader>tn :TestNearest<CR>
nnoremap <Leader>tf :TestFile<CR>
nnoremap <Leader>ts :TestSuite<CR>
" Vim gitgutter
let g:gitgutter_enabled = 1
let g:gitgutter_signs = 1
let g:gitgutter_sign_added = '+'
let g:gitgutter_sign_modified = '~'
let g:gitgutter_sign_removed = '-'
let g:gitgutter_sign_removed_first_line = '-'
let g:gitgutter_sign_modified_removed = '~'
let g:gitgutter_highlight_linenrs = 1
let g:gitgutter_highlight_lines = 0
" let g:gitgutter_enabled = 1
" let g:gitgutter_signs = 1
" let g:gitgutter_sign_added = '+'
" let g:gitgutter_sign_modified = '~'
" let g:gitgutter_sign_removed = '-'
" let g:gitgutter_sign_removed_first_line = '-'
" let g:gitgutter_sign_modified_removed = '~'
" let g:gitgutter_highlight_linenrs = 1
" let g:gitgutter_highlight_lines = 1
" Replace current word with yanked or deleted text
" nnoremap S "_diwP
@ -514,15 +767,19 @@ let g:autoformat_retab = 1
let g:autoformat_remove_trailing_spaces = 1
" Vimwiki
let g:vimwiki_list = [{'path': '~/vimwiki/', 'syntax': 'markdown', 'ext': '.md'}]
" let g:vimwiki_list = [{'path': '~/vimwiki/', 'syntax': 'markdown', 'ext': '.md'}]
" FIXME: this is strange workaround for workaround for bug in kitty
autocmd FileType vimwiki nnoremap <Leader>wH <Plug>VimwikiGoBackLink
" autocmd FileType vimwiki nnoremap <Leader>wH <Plug>VimwikiGoBackLink
" vim-markdown
let g:markdown_syntax_conceal = 0
" Taskwiki
let g:taskwiki_markup_syntax = "markdown"
" let g:taskwiki_markup_syntax = "markdown"
" let g:taskwiki_source_tw_colors = "yes"
nnoremap <Leader>tR :TaskWikiBufferLoad<CR>
" nnoremap <Leader>tR :TaskWikiBufferLoad<CR>
set noswapfile
@ -588,6 +845,9 @@ set nojoinspaces
" Disable folding
set nofoldenable
" Disable mouse
set mouse=
" Disable some keys
noremap <Up> <NOP>
noremap <Down> <NOP>
@ -608,6 +868,8 @@ set splitright
set completeopt=menuone,noinsert,noselect
set signcolumn=yes
" Quicker window movement
nnoremap <C-j> <C-w>j
nnoremap <C-k> <C-w>k
@ -615,7 +877,19 @@ nnoremap <C-h> <C-w>h
nnoremap <C-l> <C-w>l
" telescope
nnoremap <C-p> <cmd>lua require('telescope.builtin').find_files()<CR>
nnoremap <leader>g <cmd>lua require('telescope.builtin').live_grep()<CR>
nnoremap <leader>b <cmd>lua require('telescope.builtin').buffers()<CR>
nnoremap <leader>h <cmd>lua require('telescope.builtin').help_tags()<CR>
" nnoremap <C-p> <cmd>lua require('telescope.builtin').find_files()<CR>
" nnoremap <leader>g <cmd>lua require('telescope.builtin').live_grep()<CR>
" nnoremap <leader>b <cmd>lua require('telescope.builtin').buffers()<CR>
" nnoremap <leader>h <cmd>lua require('telescope.builtin').help_tags()<CR>
" FZF
let g:fzf_layout = { 'down': '30%' }
let g:fzf_vim = {}
let g:fzf_vim.preview_window = ['right,50%', 'ctrl-/']
nnoremap <C-p> :FZF<CR>
nnoremap <leader>g :Rg<CR>
" LSP SEMANTIC HIGHLIGHTS
" hi @lsp.type.variable guifg=GruvboxFg1
" hi @lsp.type.class guifg=GruvboxYellow

View File

@ -12,7 +12,7 @@ transition=1
;brightness=0.9
; It is also possible to use different settings for day and night since version 1.8.
;brightness-day=1.0
brightness-night=0.7
brightness-night=0.8
; Set the screen gamma (for all colors, or each color channel individually)
;gamma=0.9
@ -35,8 +35,8 @@ adjustment-method=randr
; type 'redshift -l PROVIDER:help' to see the settings
; e.g. 'redshift -l manual:help'
[manual]
lat=41.70565241961369
lon=44.77003519848199
lat=41.738013
lon=44.622852
; Configuration of the adjustment-method
; type 'redshift -m METHOD:help' to see the settings

View File

@ -1,6 +1,5 @@
--prefer-free-formats
--mark-watched
-f bestvideo[height<=?1080]+bestaudio/best
-f bestvideo[height<=?1440]+bestaudio/best
--retries infinite
--socket-timeout 30
--external-downloader aria2c

1
envrc
View File

@ -1 +0,0 @@
export GEM_HOME=/home/krsh/.gem/ruby/2.7.0

View File

@ -47,3 +47,14 @@
[core]
hooksPath = /dev/null
[diff]
tool = kitty
guitool = kitty.gui
[difftool]
prompt = false
trustExitCode = true
[difftool "kitty"]
cmd = kitty +kitten diff $LOCAL $REMOTE
[difftool "kitty.gui"]
cmd = kitty kitty +kitten diff $LOCAL $REMOTE

View File

@ -24,6 +24,7 @@ report*.json
/.elixir_ls/
/.ignore/
.nlsp-settings/
.gitignore.local
.envrc.container

View File

@ -2,12 +2,18 @@
## arkenfox user.js updater for macOS and Linux
## version: 3.4
## version: 3.9
## Author: Pat Johnson (@overdodactyl)
## Additional contributors: @earthlng, @ema-pe, @claustromaniac
## Additional contributors: @earthlng, @ema-pe, @claustromaniac, @infinitewarp
## DON'T GO HIGHER THAN VERSION x.9 !! ( because of ASCII comparison in update_updater() )
# Check if running as root
if [ "${EUID:-"$(id -u)"}" -eq 0 ]; then
printf "You shouldn't run this with elevated privileges (such as with doas/sudo).\n"
exit 1
fi
readonly CURRDIR=$(pwd)
SCRIPT_FILE=$(readlink -f "${BASH_SOURCE[0]}" 2>/dev/null || greadlink -f "${BASH_SOURCE[0]}" 2>/dev/null)
@ -195,7 +201,7 @@ update_updater() {
echo -e "There is a newer version of updater.sh available. ${RED}Update and execute Y/N?${NC}"
read -p "" -n 1 -r
echo -e "\n\n"
[[ $REPLY =~ ^[Nn]$ ]] && return 0 # Update available, but user chooses not to update
[[ $REPLY =~ ^[Yy]$ ]] || return 0 # Update available, but user chooses not to update
fi
else
return 0 # No update available
@ -253,7 +259,7 @@ update_userjs() {
echo -e "This script will update to the latest user.js file and append any custom configurations from user-overrides.js. ${RED}Continue Y/N? ${NC}"
read -p "" -n 1 -r
echo -e "\n"
if [[ $REPLY =~ ^[Nn]$ ]]; then
if ! [[ $REPLY =~ ^[Yy]$ ]]; then
echo -e "${RED}Process aborted${NC}"
rm "$newfile"
return 1
@ -385,6 +391,17 @@ show_banner
update_updater "$@"
getProfilePath # updates PROFILE_PATH or exits on error
cd "$PROFILE_PATH" && update_userjs
cd "$PROFILE_PATH" || exit 1
# Check if any files have the owner/group as root/wheel.
if [ -n "$(find ./ -user 0 -o -group 0)" ]; then
printf 'It looks like this script was previously run with elevated privileges,
you will need to change ownership of the following files to your user:\n'
find . -user 0 -o -group 0
cd "$CURRDIR"
exit 1
fi
update_userjs
cd "$CURRDIR"

View File

@ -4,7 +4,7 @@ export BROWSER=browser
export TERMINAL=kitty
export XTERM=kitty
export LANGUAGE=en_US:en_GB:en
export LC_TIME=ru_RU.UTF-8
export LC_TIME=en_US.UTF-8
export COLORTERM=truecolor
export QT_QPA_PLATFORMTHEME=qt5ct
@ -13,7 +13,7 @@ unset QT_STYLE_OVERRIDE
export XDG_CONFIG_HOME=$HOME/.config
export XDG_DATA_HOME=$HOME/.local/share
export XDG_RUNTIME_DIR=/run/user/1000
export DOCKER_HOST=unix:///run/user/1000/podman/podman.sock
export DOCKER_HOST=unix:///var/run/docker.sock
# export VDPAU_DRIVER=radeonsi
@ -29,6 +29,10 @@ xinput set-prop "TPPS/2 IBM TrackPoint" "Evdev Wheel Emulation Axes" 6 7 4 5
xinput set-prop "Primax Kensington Eagle Trackball" "Evdev Middle Button Emulation" 1
# xinput map-to-output "Wacom Graphire2 4x5 Pen stylus" DP-0
# xinput map-to-output "Wacom Graphire2 4x5 Pen eraser" DP-0
# xinput map-to-output "Wacom Graphire2 4x5 Pen cursor" DP-0
# exec ck-launch-session dbus-launch
xrdb -merge ~/.Xresources