nvim,sway

This commit is contained in:
Greg 2025-09-30 14:08:18 +03:00
parent ddbb8b7d65
commit 63ec10c09a
13 changed files with 232 additions and 243 deletions

View file

@ -1,4 +1,4 @@
#? Config file for btop v. 1.4.0
#? Config file for btop v. 1.4.4
#* 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"
@ -50,20 +50,20 @@ graph_symbol_net = "default"
graph_symbol_proc = "default"
#* Manually set which boxes to show. Available values are "cpu mem net proc" and "gpu0" through "gpu5", separate values with whitespace.
shown_boxes = "proc"
shown_boxes = "proc cpu mem"
#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs.
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 = "cpu direct"
proc_sorting = "name"
#* 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
@ -72,7 +72,7 @@ proc_colors = True
proc_gradient = True
#* If process cpu usage should be of the core it's running on or usage of the total available cpu power.
proc_per_core = False
proc_per_core = True
#* Show process memory as bytes instead of percent.
proc_mem_bytes = True
@ -150,7 +150,7 @@ background_update = True
custom_cpu_name = ""
#* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ".
#* Begin line with "exclude=" to change to exclude filter, otherwise defaults to "most include" filter. Example: disks_filter="exclude=/boot /home/user".
#* Only disks matching the filter will be shown. Prepend exclude= to only show disks not matching the filter. Examples: disk_filter="/boot /home/user", disks_filter="exclude=/boot /home/user"
disks_filter = ""
#* Show graphs instead of meters for memory values.
@ -169,7 +169,7 @@ show_swap = True
swap_disk = True
#* If mem box should be split to also show disks info.
show_disks = False
show_disks = True
#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar.
only_physical = True
@ -210,6 +210,9 @@ net_sync = True
#* Starts with the Network Interface specified here.
net_iface = ""
#* "True" shows bitrates in base 10 (Kbps, Mbps). "False" shows bitrates in binary sizes (Kibps, Mibps, etc.). "Auto" uses base_10_sizes.
base_10_bitrate = "Auto"
#* Show battery stats in top right if battery is present.
show_battery = True
@ -226,6 +229,9 @@ log_level = "WARNING"
#* Measure PCIe throughput on NVIDIA cards, may impact performance on certain cards.
nvml_measure_pcie_speeds = True
#* Measure PCIe throughput on AMD cards, may impact performance on certain cards.
rsmi_measure_pcie_speeds = True
#* Horizontally mirror the GPU graph.
gpu_mirror_graph = True

View file

@ -39,3 +39,16 @@
2025/05/15 (11:43:30) | ===> btop++ v.1.4.0
2025/05/15 (11:43:30) | WARNING: Failed to join _runner thread on exit!
2025/05/19 (15:34:17) | ===> btop++ v.1.4.0
2025/05/19 (15:34:17) | ERROR: Stall in Runner thread, restarting!
2025/05/22 (16:43:04) | ===> btop++ v.1.4.0
2025/05/22 (16:43:04) | WARNING: Failed to join _runner thread on exit!
2025/06/13 (00:14:48) | ===> btop++ v.1.4.0
2025/06/13 (00:14:48) | ERROR: No tty detected!
btop++ needs an interactive shell to run.
2025/07/30 (13:15:06) | ===> btop++ v.1.4.0
2025/07/30 (13:15:06) | WARNING: Failed to get disk/partition stats for mount "/home/foton/home" with statvfs error code: 19. Ignoring...

View file

@ -1,34 +1,34 @@
{
"FixCursorHold.nvim": { "branch": "master", "commit": "1900f89dc17c603eec29960f57c00bd9ae696495" },
"LuaSnip": { "branch": "master", "commit": "458560534a73f7f8d7a11a146c801db00b081df0" },
"auto-session": { "branch": "main", "commit": "00334ee24b9a05001ad50221c8daffbeedaa0842" },
"blink.cmp": { "branch": "main", "commit": "022521a8910a5543b0251b21c9e1a1e989745796" },
"codecompanion.nvim": { "branch": "main", "commit": "01b2841d7791376e23728d9faf657fe999e6c209" },
"conform.nvim": { "branch": "master", "commit": "6feb2f28f9a9385e401857b21eeac3c1b66dd628" },
"fidget.nvim": { "branch": "main", "commit": "d9ba6b7bfe29b3119a610892af67602641da778e" },
"aerial.nvim": { "branch": "master", "commit": "5c0df1679bf7c814c924dc6646cc5291daca8363" },
"auto-session": { "branch": "main", "commit": "2374591ad5187e6697d9b4a683027ad33771381f" },
"blink.cmp": { "branch": "main", "commit": "bae4bae0eedd1fa55f34b685862e94a222d5c6f8" },
"conform.nvim": { "branch": "master", "commit": "973f3cb73887d510321653044791d7937c7ec0fa" },
"flash.nvim": { "branch": "main", "commit": "3c942666f115e2811e959eabbdd361a025db8b63" },
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
"hardtime.nvim": { "branch": "main", "commit": "145b930954a3146cfb5b8a73cdcad42eb7d2740c" },
"js-i18n.nvim": { "branch": "main", "commit": "124f22f91d51e85641ba10e9a32f3b858394c2dd" },
"hardtime.nvim": { "branch": "main", "commit": "6d7664d5bdfaea44c5f50b29f5239fab7b00c273" },
"js-i18n.nvim": { "branch": "main", "commit": "5157a1c1a47b14aa77fa6e50626dc1add4d1a618" },
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
"lazydev.nvim": { "branch": "main", "commit": "2367a6c0a01eb9edb0464731cc0fb61ed9ab9d2c" },
"lualine.nvim": { "branch": "master", "commit": "0c6cca9f2c63dadeb9225c45bc92bb95a151d4af" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "67da97f8c2fd12d05427bb485ce07ee6418e0a51" },
"mason.nvim": { "branch": "main", "commit": "8024d64e1330b86044fed4c8494ef3dcd483a67c" },
"mentor.nvim": { "branch": "main", "commit": "c89148673b56e96fab5d201594457828be5dae96" },
"neotest": { "branch": "master", "commit": "ef492755730e59e1d8122c461abbd086bee4c76b" },
"neotest-jest": { "branch": "main", "commit": "514fd4eae7da15fd409133086bb8e029b65ac43f" },
"nui.nvim": { "branch": "main", "commit": "7cd18e73cfbd70e1546931b7268b3eebaeff9391" },
"nvim-autopairs": { "branch": "master", "commit": "4d74e75913832866aa7de35e4202463ddf6efd1b" },
"nvim-lspconfig": { "branch": "master", "commit": "b8e7957bde4cbb3cb25a13a62548f7c273b026e9" },
"lualine.nvim": { "branch": "master", "commit": "a94fc68960665e54408fe37dcf573193c4ce82c9" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "7f0bf635082bb9b7d2b37766054526a6ccafdb85" },
"mason.nvim": { "branch": "main", "commit": "7dc4facca9702f95353d5a1f87daf23d78e31c2a" },
"mentor.nvim": { "branch": "main", "commit": "54733a923072d57e50f3acc0d850fbd0b3b95f8a" },
"neotest": { "branch": "master", "commit": "3c81345c28cd639fcc02843ed3653be462f47024" },
"neotest-jest": { "branch": "main", "commit": "46ccc50273838f0b48e3c4814c1c46c0ccfe9edf" },
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
"nvim-autopairs": { "branch": "master", "commit": "23320e75953ac82e559c610bec5a90d9c6dfa743" },
"nvim-lspconfig": { "branch": "master", "commit": "9141be4c1332afc83bdf1b0278dbb030f75ff8e3" },
"nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" },
"nvim-surround": { "branch": "main", "commit": "8dd9150ca7eae5683660ea20cec86edcd5ca4046" },
"nvim-surround": { "branch": "main", "commit": "7a7a78a52219a3312c1fcabf880cea07a7956a5f" },
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
"nvim-web-devicons": { "branch": "master", "commit": "1fb58cca9aebbc4fd32b086cb413548ce132c127" },
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
"render-markdown.nvim": { "branch": "main", "commit": "6f5a4c36d9383b2a916facaa63dcd573afa11ee8" },
"smear-cursor.nvim": { "branch": "main", "commit": "162703638203060b1d3412e73429d232bbd2627e" },
"nvim-web-devicons": { "branch": "master", "commit": "3362099de3368aa620a8105b19ed04c2053e38c0" },
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
"render-markdown.nvim": { "branch": "main", "commit": "5df2eab599e06c48d04ea7e89cbaa3cdb4e09538" },
"smear-cursor.nvim": { "branch": "main", "commit": "58e69a911e7f5296b3d7fec5e7414df5a4ac91fb" },
"snacks.nvim": { "branch": "main", "commit": "bc0630e43be5699bb94dadc302c0d21615421d93" },
"tokyonight.nvim": { "branch": "main", "commit": "057ef5d260c1931f1dffd0f052c685dcd14100a3" },
"typescript-tools.nvim": { "branch": "master", "commit": "3c501d7c7f79457932a8750a2a1476a004c5c1a9" },
"which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" }
}

View file

@ -1,4 +1,5 @@
vim.keymap.set({ "n", "v" }, "<C-s>", ":w ++p<CR>", { desc = "save file" })
vim.keymap.set({ "i" }, "<C-s>", "<ESC>:w ++p<CR>a", { desc = "save file" })
vim.keymap.set("n", "<leader>;", ":", { desc = "command with ;" })
vim.keymap.set("v", "<leader>;", ":", { desc = "command with ;" })
vim.keymap.set("n", "q", ":bd<cr>", { desc = "close buffer" })
@ -7,6 +8,7 @@ vim.keymap.set({ "n", "v" }, "d", '"_d', { desc = "delete without cut" })
vim.keymap.set({ "n", "v" }, "c", '"_c', { desc = "delete without cut" })
vim.keymap.set({ "v", "n" }, "vv", "<C-v>", { desc = "vv for visual block" })
vim.keymap.set("i", "jj", "<ESC>", { silent = true, desc = "back to normal with jj" })
vim.keymap.set("v", "p", '"_dp', { desc = "do not overwrite 0 register when pasting over selection" })
-- Exit terminal mode in the builtin terminal with a shortcut that is a bit easier
-- for people to discover. Otherwise, you normally need to pres <C-\><C-n>, which
-- is not what someone will guess without a bit more experience.
@ -53,10 +55,9 @@ vim.keymap.set("v", "<C-r>", function()
vim.api.nvim_input("<Esc>:%s/" .. pattern .. "//<Left>")
end)
-- diagnostics
-- Show virtual lines diagnostics and hide when moved
vim.keymap.set("n", "<leader>d", function()
vim.diagnostic.config({ virtual_lines = { current_line = true }, virtual_text = false })
local default_diagnostics = function()
vim.api.nvim_create_autocmd("CursorMoved", {
group = vim.api.nvim_create_augroup("line-diagnostics", { clear = true }),
callback = function()
@ -64,7 +65,18 @@ vim.keymap.set("n", "<leader>d", function()
return true
end,
})
end)
end
vim.keymap.set("n", "<leader>dd", function()
vim.diagnostic.config({ virtual_lines = { current_line = true }, virtual_text = false })
default_diagnostics()
end, { desc = "show diagnostics in virtual lines" })
vim.keymap.set("n", "<leader>df", function()
vim.diagnostic.config({ virtual_text = false })
vim.diagnostic.open_float({ scope = "line" })
default_diagnostics()
end, { desc = "show diagnostics in floating window" })
vim.keymap.set("n", "<leader>j", ":try | cprev | catch | clast | catch | endtry<cr>zz", { desc = "quickfix prev" })
vim.keymap.set("n", "<leader>k", ":try | cnext | catch | cfirst | catch | endtry<cr>zz", { desc = "quickfix next" })

View file

@ -83,6 +83,9 @@ vim.opt.splitbelow = true
vim.opt.cmdheight = 0
-- do not unload closed buffer from jumplist
vim.opt.jumpoptions = ""
vim.diagnostic.config({ virtual_text = true, underline = false })
vim.cmd.packadd("cfilter")

View file

@ -0,0 +1,39 @@
return {
"stevearc/aerial.nvim",
opts = {
highlight_on_hover = true,
highlight_on_jump = 300,
autojump = true,
post_jump_cmd = "normal! zz",
filter_kind = {
"Class",
"Constant",
"Constructor",
"Enum",
"Function",
"Interface",
"Module",
"Method",
"Struct",
"Namespace",
"Package",
"TypeParameter",
},
},
-- Optional dependencies
dependencies = {
"nvim-treesitter/nvim-treesitter",
"nvim-tree/nvim-web-devicons",
},
keys = {
{
"<leader>ss",
function()
require("aerial").snacks_picker({
layout = "left",
})
end,
desc = "LSP Symbols",
},
},
}

View file

@ -11,12 +11,12 @@ return {
use_proximity = true,
use_unsafe_no_lock = false,
sorts = {
function(a, b)
if (a.client_name == nil or b.client_name == nil) or (a.client_name == b.client_name) then
return
end
return b.client_name == "emmet_language_server"
end,
-- function(a, b)
-- if (a.client_name == nil or b.client_name == nil) or (a.client_name == b.client_name) then
-- return
-- end
-- return b.client_name == "emmet_language_server"
-- end,
"exact",
"score",
"sort_text",
@ -59,22 +59,22 @@ return {
-- make lazydev completions top priority (see `:h blink.cmp`)
score_offset = 100,
},
snippets = {
min_keyword_length = 1,
score_offset = 4,
},
lsp = {
min_keyword_length = 3,
score_offset = 3,
},
path = {
min_keyword_length = 3,
score_offset = 2,
},
buffer = {
min_keyword_length = 5,
score_offset = 1,
},
-- snippets = {
-- min_keyword_length = 1,
-- score_offset = 4,
-- },
-- lsp = {
-- min_keyword_length = 3,
-- score_offset = 3,
-- },
-- path = {
-- min_keyword_length = 3,
-- score_offset = 2,
-- },
-- buffer = {
-- min_keyword_length = 5,
-- score_offset = 1,
-- },
},
},
signature = { enabled = true },

View file

@ -1,95 +0,0 @@
return {
"olimorris/codecompanion.nvim",
dependencies = {
"nvim-lua/plenary.nvim",
"nvim-treesitter/nvim-treesitter",
"j-hui/fidget.nvim",
},
opts = {
strategies = {
chat = {
adapter = "gemini",
},
inline = {
adapter = "gemini",
},
cmd = {
adapter = "gemini",
},
},
adapters = {
llama3 = function()
return require("codecompanion.adapters").extend("ollama", {
name = "llama3", -- Give this adapter a different name to differentiate it from the default ollama adapter
schema = {
model = {
default = "llama3.1:latest",
},
num_ctx = {
default = 16384,
},
num_predict = {
default = -1,
},
},
})
end,
qwen3 = function()
return require("codecompanion.adapters").extend("ollama", {
name = "qwen3", -- Give this adapter a different name to differentiate it from the default ollama adapter
schema = {
model = {
default = "qwen3:1.7b",
},
},
})
end,
anthropic = function()
return require("codecompanion.adapters").extend("anthropic", {
env = {
api_key = "MY_OTHER_ANTHROPIC_KEY",
},
})
end,
gemini = function()
return require("codecompanion.adapters").extend("gemini", {
env = {
api_key = "AIzaSyCpXubVJ2ls6PgFjIjpIE9FDBIbGTuXt7U",
},
})
end,
},
},
config = function(_, opts)
require("codecompanion").setup(opts)
local progress = require("fidget.progress")
local handles = {}
local group = vim.api.nvim_create_augroup("CodeCompanionFidget", {})
vim.api.nvim_create_autocmd("User", {
pattern = "CodeCompanionRequestStarted",
group = group,
callback = function(e)
handles[e.data.id] = progress.handle.create({
title = "CodeCompanion",
message = "Thinking...",
lsp_client = { name = e.data.adapter.formatted_name },
})
end,
})
vim.api.nvim_create_autocmd("User", {
pattern = "CodeCompanionRequestFinished",
group = group,
callback = function(e)
local h = handles[e.data.id]
if h then
h.message = e.data.status == "success" and "Done" or "Failed"
h:finish()
handles[e.data.id] = nil
end
end,
})
end,
}

View file

@ -29,12 +29,14 @@ return {
lsp_format = lsp_format_opt,
}
end,
formatters_by_ft = {
lua = { "stylua" },
javascript = { "biome", "biome-organize-imports" },
javascriptreact = { "biome", "biome-organize-imports" },
typescript = { "biome", "biome-organize-imports" },
typescriptreact = { "biome", "biome-organize-imports" },
json = { "biome" },
-- You can use 'stop_after_first' to run the first available formatter from the list
-- javascript = { "prettierd", "prettier", stop_after_first = true },
},

View file

@ -15,48 +15,48 @@ return {
},
},
marksman = {},
vtsls = {
settings = {
complete_function_calls = true,
vtsls = {
enableMoveToFileCodeAction = true,
autoUseWorkspaceTsdk = true,
experimental = {
completion = {
enableServerSideFuzzyMatch = true,
},
},
},
javascript = {
updateImportsOnFileMove = { enabled = "always" },
suggest = {
completeFunctionCalls = true,
},
inlayHints = {
enumMemberValues = { enabled = true },
functionLikeReturnTypes = { enabled = true },
parameterNames = { enabled = "literals" },
parameterTypes = { enabled = true },
propertyDeclarationTypes = { enabled = true },
variableTypes = { enabled = true },
},
},
typescript = {
updateImportsOnFileMove = { enabled = "always" },
suggest = {
completeFunctionCalls = true,
},
inlayHints = {
enumMemberValues = { enabled = true },
functionLikeReturnTypes = { enabled = true },
parameterNames = { enabled = "literals" },
parameterTypes = { enabled = true },
propertyDeclarationTypes = { enabled = true },
variableTypes = { enabled = true },
},
},
},
},
-- vtsls = {
-- settings = {
-- complete_function_calls = true,
-- vtsls = {
-- enableMoveToFileCodeAction = true,
-- autoUseWorkspaceTsdk = true,
-- experimental = {
-- completion = {
-- enableServerSideFuzzyMatch = true,
-- },
-- },
-- },
-- javascript = {
-- updateImportsOnFileMove = { enabled = "always" },
-- suggest = {
-- completeFunctionCalls = true,
-- },
-- inlayHints = {
-- enumMemberValues = { enabled = true },
-- functionLikeReturnTypes = { enabled = true },
-- parameterNames = { enabled = "literals" },
-- parameterTypes = { enabled = true },
-- propertyDeclarationTypes = { enabled = true },
-- variableTypes = { enabled = true },
-- },
-- },
-- typescript = {
-- updateImportsOnFileMove = { enabled = "always" },
-- suggest = {
-- completeFunctionCalls = true,
-- },
-- inlayHints = {
-- enumMemberValues = { enabled = true },
-- functionLikeReturnTypes = { enabled = true },
-- parameterNames = { enabled = "literals" },
-- parameterTypes = { enabled = true },
-- propertyDeclarationTypes = { enabled = true },
-- variableTypes = { enabled = true },
-- },
-- },
-- },
-- },
lua_ls = {
settings = {
Lua = {

View file

@ -228,50 +228,33 @@ return {
end,
desc = "Goto T[y]pe Definition",
},
{
"<leader>ss",
function()
-- require("aerial").snacks_picker({
-- filter_kind = {
-- {
-- "<leader>ss",
-- function()
-- Snacks.picker.lsp_symbols({
-- layout = "left",
-- filter = {
-- default = {
-- "Class",
-- "Constructor",
-- "Enum",
-- -- "Field",
-- "Function",
-- "Interface",
-- "Module",
-- "Method",
-- "Module",
-- "Namespace",
-- "Package",
-- "Property",
-- "Struct",
-- "Trait",
-- "Variable",
-- },
-- layout = {
-- preset = "dropdown",
-- preview = true,
-- },
-- })
Snacks.picker.lsp_symbols({
layout = "left",
filter = {
default = {
"Class",
"Constructor",
"Enum",
-- "Field",
"Function",
"Interface",
"Method",
"Module",
"Namespace",
"Package",
"Property",
"Struct",
"Trait",
"Variable",
},
},
})
end,
desc = "LSP Symbols",
},
-- end,
-- desc = "LSP Symbols",
-- },
{
"<leader>sw",
function()

View file

@ -0,0 +1,5 @@
return {
"pmizio/typescript-tools.nvim",
dependencies = { "nvim-lua/plenary.nvim", "neovim/nvim-lspconfig" },
opts = {},
}

View file

@ -43,15 +43,27 @@ set $hdmi HDMI-A-1
output * bg ~/.config/sway/bg.jpg fill
output $hdmi {
mode 3840x2160@59.940Hz
pos 0 0
transform 270
scale 2.0
adaptive_sync on
}
# vertical hdmi
# output $hdmi {
# mode 3840x2160@59.940Hz
# pos 0 0
# transform 270
# scale 2.0
# adaptive_sync on
# }
# vertical laptop
# output $laptop {
# mode 2560x1600@240.0Hz
# pos 1080 1120
# transform normal
# scale 2.0
# adaptive_sync on
# }
# vertical type-c
output $typecmonitor {
mode 3840x2160@59.940Hz
pos 0 0
@ -60,9 +72,18 @@ output $typecmonitor {
adaptive_sync on
}
# horizontal hdmi
output $hdmi {
mode 3840x2160@59.940Hz
pos 0 0
scale 2.0
adaptive_sync on
}
# horizontal laptop
output $laptop {
mode 2560x1600@240.0Hz
pos 1080 1120
pos 1920 280
transform normal
scale 2.0
adaptive_sync on