mirror of
https://github.com/StepanovPlaton/dotfiles.git
synced 2026-04-03 20:30:46 +04:00
04-01-2026
This commit is contained in:
6
.bashrc
6
.bashrc
@@ -19,6 +19,10 @@ alias dmenu_wal='dmenu_run -nb "$color0" -nf "$color15" -sb "$color1" -sf "$colo
|
||||
#alias sudo="sudo -A"
|
||||
|
||||
alias numen_full="numen ~/.config/numen/phrases.phrases --phraselog=phrases.txt"
|
||||
|
||||
alias ll="ls -lah --color"
|
||||
|
||||
export PATH="~/.scripts:$PATH"
|
||||
export PATH="/usr/lib/jvm/default/bin:$PATH"
|
||||
|
||||
# Created by `pipx` on 2025-06-29 13:27:39
|
||||
export PATH="$PATH:/home/dwarf/.local/bin"
|
||||
|
||||
@@ -19,7 +19,7 @@ bspc config focused_border_color "$color2"
|
||||
|
||||
bspc config top_padding 30
|
||||
|
||||
telegram-desktop -startintray &
|
||||
Telegram -startintray &
|
||||
bspc rule -a TelegramDesktop desktop='^5'
|
||||
|
||||
bspc rule -a St_float state=pseudo_tiled
|
||||
|
||||
@@ -75,7 +75,8 @@ ${color0}Hostname: $alignr${exec cat /etc/hostname}$color
|
||||
${color0}Connection: $alignr\
|
||||
${if_match "${exec nmcli -f name c s --active | awk 'FNR == 2' | xargs}" == "Wired connection 1"}Wired${else}${exec nmcli -f name c s --active | awk 'FNR == 2' | xargs}${endif}\
|
||||
$color
|
||||
${color0}Network speed: $alignr${upspeed}/${downspeed}$color
|
||||
# ${color0}Speed up/down: $alignr${upspeed "${exec ip route show default 2>/dev/null | awk '/default/ {print $5; exit}'}"}/${downspeed "${exec ip route show default 2>/dev/null | awk '/default/ {print $5; exit}'}"}$color
|
||||
# ${color0}Total up/down: $alignr${totalup exec ip route show default 2>/dev/null | awk '/default/ {print $5; exit}'}/${totaldown "${exec ip route show default 2>/dev/null | awk '/default/ {print $5; exit}'}"}$color
|
||||
|
||||
${color1}${goto 25}CPU${color0} $hr $color
|
||||
${color0}Frequency (GHz): $alignr$freq_g$color
|
||||
|
||||
@@ -26,7 +26,7 @@ conky.config = {
|
||||
-- own_window_argb_value = 180,
|
||||
|
||||
-- Скорость обновления
|
||||
update_interval = 1,
|
||||
update_interval = 60,
|
||||
|
||||
|
||||
cpu_avg_samples = 2,
|
||||
|
||||
24
.config/dunst/config.conf
Normal file
24
.config/dunst/config.conf
Normal file
@@ -0,0 +1,24 @@
|
||||
[global]
|
||||
separator_color = frame
|
||||
width = (50, 300)
|
||||
height = (30, 60)
|
||||
notification_limit = 5
|
||||
offset = (5, 30)
|
||||
padding = 8
|
||||
gap_size = 4
|
||||
font = CodeNewRoman Nerd Font Mono 10
|
||||
|
||||
[urgency_low]
|
||||
background = "#1d2021"
|
||||
foreground = "#d4be98"
|
||||
frame_color = "#7daea3"
|
||||
|
||||
[urgency_normal]
|
||||
background = "#1d2021"
|
||||
foreground = "#d4be98"
|
||||
frame_color = "#a9b665"
|
||||
|
||||
[urgency_critical]
|
||||
background = "#3c1f1e"
|
||||
foreground = "#ddc7a1"
|
||||
frame_color = "#ea6962"
|
||||
@@ -1,41 +1,44 @@
|
||||
{
|
||||
"LuaSnip": { "branch": "master", "commit": "57c9f5c31b3d712376c704673eac8e948c82e9c1" },
|
||||
"buffer_manager.nvim": { "branch": "main", "commit": "4fa47504a23d9a94216f02b1d84f7b0a2dbe2b72" },
|
||||
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
|
||||
"cmp-cmdline": { "branch": "main", "commit": "8ee981b4a91f536f52add291594e89fb6645e451" },
|
||||
"cmp-nvim-lsp": { "branch": "main", "commit": "5af77f54de1b16c34b23cba810150689a3a90312" },
|
||||
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
|
||||
"cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" },
|
||||
"fidget.nvim": { "branch": "main", "commit": "eb9fccf7fda8b641814f31d47926202f229980b3" },
|
||||
"friendly-snippets": { "branch": "main", "commit": "53d3df271d031c405255e99410628c26a8f0d2b0" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "d195f0c35ced5174d3ecce1c4c8ebb3b5bc23fa9" },
|
||||
"gruvbox.nvim": { "branch": "main", "commit": "f0e029a3989691eb38cfa9272b75251c62a00821" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "96584866b9c5e998cbae300594d0ccfd0c464627" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "2248ef254d0a1488a72041cfb45ca9caada6d994" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "56e435e09f8729af2d41973e81a0db440f8fe9c9" },
|
||||
"mason-null-ls.nvim": { "branch": "main", "commit": "788499e735c6e71ba25c08e7df159e8dbf94c6ec" },
|
||||
"mason-registry": { "branch": "main", "commit": "a23adcb7eb14513739c9d5fe52814611f158bebd" },
|
||||
"mason.nvim": { "branch": "main", "commit": "41e75af1f578e55ba050c863587cffde3556ffa6" },
|
||||
"neo-tree.nvim": { "branch": "v3.x", "commit": "77d9f484b88fd380386b46ed9206e5374d69d9d8" },
|
||||
"none-ls.nvim": { "branch": "main", "commit": "e7382de51b4cf629e56f1fa18192e716e5ba8145" },
|
||||
"nui.nvim": { "branch": "main", "commit": "c9b4de623d19a85b353ff70d2ae9c77143abe69c" },
|
||||
"nvim-cmp": { "branch": "main", "commit": "538e37ba87284942c1d76ed38dd497e54e65b891" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "9099871a7c7e1c16122e00d70208a2cd02078d80" },
|
||||
"nvim-surround": { "branch": "main", "commit": "633a0ab03159569a66b65671b0ffb1a6aed6cf18" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "27f68c0b6a87cbad900b3d016425450af8268026" },
|
||||
"nvim-ts-autotag": { "branch": "main", "commit": "8515e48a277a2f4947d91004d9aa92c29fdc5e18" },
|
||||
"nvim-ufo": { "branch": "main", "commit": "c6d88523f574024b788f1c3400c5d5b9bb1a0407" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "43aa2ddf476012a2155f5f969ee55ab17174da7a" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "55d9fe89e33efd26f532ef20223e5f9430c8b0c0" },
|
||||
"promise-async": { "branch": "main", "commit": "94f6f03c6c1e2aab551aacdf0c1e597a7269abb6" },
|
||||
"telescope-file-browser.nvim": { "branch": "master", "commit": "8e0543365fe5781c9babea7db89ef06bcff3716d" },
|
||||
"Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" },
|
||||
"LuaSnip": { "branch": "master", "commit": "21f74f7ba8c49f95f9d7c8293b147c2901dd2d3a" },
|
||||
"autoclose.nvim": { "branch": "main", "commit": "3f86702b54a861a17d7994b2e32a7c648cb12fb1" },
|
||||
"cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" },
|
||||
"cmp-cmdline": { "branch": "main", "commit": "d126061b624e0af6c3a556428712dd4d4194ec6d" },
|
||||
"cmp-nvim-lsp": { "branch": "main", "commit": "bd5a7d6db125d4654b50eeae9f5217f24bb22fd3" },
|
||||
"cmp-path": { "branch": "main", "commit": "c642487086dbd9a93160e1679a1327be111cbc25" },
|
||||
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
|
||||
"fidget.nvim": { "branch": "main", "commit": "4d5858bd4c471c895060e1b9f3575f1551184dc5" },
|
||||
"flit.nvim": { "branch": "main", "commit": "513e38abe61237c53a9e983e45595b1d2e7d5391" },
|
||||
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "f780609807eca1f783a36a8a31c30a48fbe150c5" },
|
||||
"gruvbox.nvim": { "branch": "main", "commit": "5e0a460d8e0f7f669c158dedd5f9ae2bcac31437" },
|
||||
"knap": { "branch": "main", "commit": "7db44d0bb760120142cc1e8f43e44976de59c2f6" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
|
||||
"leap.nvim": { "branch": "main", "commit": "657da3f8aa2cb8359ce90e8bc0ed5ca0d9665383" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "b8c23159c0161f4b89196f74ee3a6d02cdc3a955" },
|
||||
"markview.nvim": { "branch": "main", "commit": "e6b0f5aee8105adab6077509c46459812db4cffa" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "7f9a39fcd2ac6e979001f857727d606888f5909c" },
|
||||
"mason-null-ls.nvim": { "branch": "main", "commit": "de19726de7260c68d94691afb057fa73d3cc53e7" },
|
||||
"mason-registry": { "branch": "main", "commit": "2b73015a7f85d79f167c9d30835dfb3b7e9afc4e" },
|
||||
"mason.nvim": { "branch": "main", "commit": "7dc4facca9702f95353d5a1f87daf23d78e31c2a" },
|
||||
"neo-tree.nvim": { "branch": "v3.x", "commit": "f1deac7ecec88c28a250d890ba7bb35843e69cbd" },
|
||||
"none-ls.nvim": { "branch": "main", "commit": "f0b3dc073153a08fd1e32869ed30b87a3bb4230f" },
|
||||
"nui.nvim": { "branch": "main", "commit": "de740991c12411b663994b2860f1a4fd0937c130" },
|
||||
"nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "d9879110d0422a566fa01d732556f4d5515e1738" },
|
||||
"nvim-surround": { "branch": "main", "commit": "a868c256c861044beb9794b4dd126480dcdfbdad" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
|
||||
"nvim-ts-autotag": { "branch": "main", "commit": "c4ca798ab95b316a768d51eaaaee48f64a4a46bc" },
|
||||
"nvim-web-devicons": { "branch": "master", "commit": "6e51ca170563330e063720449c21f43e27ca0bc1" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
|
||||
"telescope-file-browser.nvim": { "branch": "master", "commit": "3610dc7dc91f06aa98b11dca5cc30dfa98626b7e" },
|
||||
"telescope-symbols.nvim": { "branch": "master", "commit": "a6d0127a53d39b9fc2af75bd169d288166118aec" },
|
||||
"telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
|
||||
"telescope.nvim": { "branch": "master", "commit": "d90956833d7c27e73c621a61f20b29fdb7122709" },
|
||||
"todo-comments.nvim": { "branch": "main", "commit": "4a6737a8d70fe1ac55c64dfa47fcb189ca431872" },
|
||||
"toggleterm.nvim": { "branch": "main", "commit": "cbd041d91b90cd3c02df03fe6133208888f8e008" },
|
||||
"trouble.nvim": { "branch": "main", "commit": "f1168feada93c0154ede4d1fe9183bf69bac54ea" },
|
||||
"vim-commentary": { "branch": "master", "commit": "e87cd90dc09c2a203e13af9704bd0ef79303d755" },
|
||||
"vim-css-color": { "branch": "master", "commit": "6cc65734bc7105d9677ca54e2255fcbc953ba6bf" },
|
||||
"vim-plugin-ruscmd": { "branch": "master", "commit": "e952abbea092e420b128936a0c284fb522612c3a" }
|
||||
"todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" },
|
||||
"toggleterm.nvim": { "branch": "main", "commit": "50ea089fc548917cc3cc16b46a8211833b9e3c7c" },
|
||||
"trouble.nvim": { "branch": "main", "commit": "85bedb7eb7fa331a2ccbecb9202d8abba64d37b3" },
|
||||
"vim-css-color": { "branch": "master", "commit": "14fd934cdd9ca1ac0e53511094e612eb9bace373" },
|
||||
"vim-repeat": { "branch": "master", "commit": "65846025c15494983dafe5e3b46c8f88ab2e9635" },
|
||||
"which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" }
|
||||
}
|
||||
@@ -7,8 +7,9 @@ local opt = vim.opt -- global/buffer/windows-scoped options
|
||||
-- Главные
|
||||
-----------------------------------------------------------
|
||||
|
||||
-- Откллючить поддержку со старым vi
|
||||
g.nocompatible = true
|
||||
-- Отключить поддержку со старым vi
|
||||
-- g.nocompatible = true
|
||||
opt.compatible = false
|
||||
-- Не делать бекап файла
|
||||
g.nobackup = true
|
||||
g.nowritebackup = true
|
||||
@@ -18,9 +19,9 @@ g.encoding = "utf-8"
|
||||
-- Буфер обмена с системой (нужен xclip)
|
||||
opt.clipboard = "unnamed,unnamedplus"
|
||||
-- Разделитель на 80 символов
|
||||
opt.colorcolumn = '80'
|
||||
opt.colorcolumn = "80"
|
||||
-- Словари рус eng
|
||||
opt.spelllang = { 'en_us', 'ru' }
|
||||
opt.spelllang = { "en_us", "ru" }
|
||||
-- Включаем нумерацию строк
|
||||
opt.number = true
|
||||
-- Вкл. относительную нумерацию строк
|
||||
@@ -46,11 +47,36 @@ opt.swapfile = false
|
||||
-- g.loaded_netrw = 1
|
||||
-- g.loaded_netrwPlugin = 1
|
||||
|
||||
-- Игнорировать регистр при поиске, если все буквы строчные
|
||||
opt.ignorecase = true
|
||||
opt.smartcase = true
|
||||
-- Не прыгать при поиске
|
||||
opt.incsearch = true
|
||||
-- Подсветка результатов поиска
|
||||
opt.hlsearch = true
|
||||
|
||||
-- Автодополнение путей
|
||||
opt.wildmenu = true
|
||||
opt.wildmode = "longest:full,full"
|
||||
|
||||
-- Конфигурация проверки орфографии
|
||||
opt.spell = true
|
||||
opt.spelllang = { "en_us", "ru" }
|
||||
opt.spellsuggest = "best,3"
|
||||
|
||||
-- Автоматическое включение проверки для определенных типов файлов
|
||||
vim.api.nvim_create_autocmd("FileType", {
|
||||
pattern = { "markdown", "text", "gitcommit", "latex", "tex" },
|
||||
callback = function()
|
||||
vim.opt_local.spell = true
|
||||
end,
|
||||
})
|
||||
|
||||
-----------------------------------------------------------
|
||||
-- Цветовая схема
|
||||
-----------------------------------------------------------
|
||||
|
||||
-- Нужно для поддежки pywal
|
||||
-- Нужно для поддержки pywal
|
||||
-- opt.termguicolors = false
|
||||
-- Устанавливаем тему из pywal
|
||||
-- cmd([[
|
||||
@@ -83,22 +109,110 @@ cmd([[autocmd FileType text,markdown,html,xhtml,javascript setlocal cc=0]])
|
||||
|
||||
-- 2 пробела для выбранных типов файлов
|
||||
cmd([[
|
||||
autocmd FileType xml,html,xhtml,css,scss,javascript,lua,yaml,htmljinja setlocal shiftwidth=2 tabstop=2
|
||||
autocmd FileType xml,html,xhtml,css,scss,sass,javascript,typescript,lua,yaml,htmljinja,vue,svelte setlocal shiftwidth=2 tabstop=2
|
||||
]])
|
||||
|
||||
-- Показывать непечатные символы
|
||||
opt.list = true
|
||||
opt.listchars = {
|
||||
tab = "▸ ",
|
||||
trail = "·",
|
||||
nbsp = "␣",
|
||||
extends = "❯",
|
||||
precedes = "❮",
|
||||
}
|
||||
|
||||
-----------------------------------------------------------
|
||||
-- Полезные фишки
|
||||
-----------------------------------------------------------
|
||||
|
||||
-- Запоминает где nvim последний раз редактировал файл
|
||||
cmd [[
|
||||
cmd([[
|
||||
autocmd BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
|
||||
]]
|
||||
]])
|
||||
|
||||
-- Подсвечивает на доли секунды скопированную часть текста
|
||||
exec([[
|
||||
exec(
|
||||
[[
|
||||
augroup YankHighlight
|
||||
autocmd!
|
||||
autocmd TextYankPost * silent! lua vim.highlight.on_yank{higroup="IncSearch", timeout=300}
|
||||
augroup end
|
||||
]], false)
|
||||
]],
|
||||
false
|
||||
)
|
||||
|
||||
-- Автоматическое перечитывание файла при изменении извне
|
||||
opt.autoread = true
|
||||
vim.api.nvim_create_autocmd({ "FocusGained", "BufEnter" }, {
|
||||
pattern = "*",
|
||||
command = "checktime",
|
||||
})
|
||||
|
||||
-----------------------------------------------------------
|
||||
-- Полезные фишки: Автосохранение с таймаутом
|
||||
-----------------------------------------------------------
|
||||
-- local autosave_timers = {}
|
||||
--
|
||||
-- -- Функция для сохранения буфера
|
||||
-- local function save_buffer(bufnr)
|
||||
-- vim.api.nvim_buf_call(bufnr, function()
|
||||
-- vim.cmd("silent! write")
|
||||
-- end)
|
||||
-- end
|
||||
--
|
||||
-- -- Автогруппа для автосохранения
|
||||
-- vim.api.nvim_create_augroup("autosave_debounced", { clear = true })
|
||||
--
|
||||
-- -- Дебаунсим только изменения вне insert mode (TextChanged)
|
||||
-- vim.api.nvim_create_autocmd("TextChanged", {
|
||||
-- group = "autosave_debounced",
|
||||
-- pattern = "*",
|
||||
-- callback = function(args)
|
||||
-- local bufnr = args.buf
|
||||
--
|
||||
-- -- Отменяем предыдущий таймер для этого буфера
|
||||
-- if autosave_timers[bufnr] then
|
||||
-- autosave_timers[bufnr]:stop()
|
||||
-- autosave_timers[bufnr]:close()
|
||||
-- end
|
||||
--
|
||||
-- -- Создаем новый таймер на 500 мс
|
||||
-- autosave_timers[bufnr] = vim.defer_fn(function()
|
||||
-- save_buffer(bufnr)
|
||||
-- autosave_timers[bufnr] = nil
|
||||
-- end, 500)
|
||||
-- end,
|
||||
-- })
|
||||
--
|
||||
-- -- Сохраняем сразу при выходе из insert mode
|
||||
-- vim.api.nvim_create_autocmd("InsertLeave", {
|
||||
-- group = "autosave_debounced",
|
||||
-- pattern = "*",
|
||||
-- callback = function(args)
|
||||
-- local bufnr = args.buf
|
||||
--
|
||||
-- -- Отменяем отложенное сохранение, если оно было запланировано
|
||||
-- if autosave_timers[bufnr] then
|
||||
-- autosave_timers[bufnr]:stop()
|
||||
-- autosave_timers[bufnr]:close()
|
||||
-- autosave_timers[bufnr] = nil
|
||||
-- end
|
||||
--
|
||||
-- -- Сохраняем сразу
|
||||
-- save_buffer(bufnr)
|
||||
-- end,
|
||||
-- })
|
||||
--
|
||||
-- -- Очистка таймеров при закрытии буфера
|
||||
-- vim.api.nvim_create_autocmd("BufWipeout", {
|
||||
-- group = "autosave_debounced",
|
||||
-- pattern = "*",
|
||||
-- callback = function(args)
|
||||
-- if autosave_timers[args.buf] then
|
||||
-- autosave_timers[args.buf]:stop()
|
||||
-- autosave_timers[args.buf]:close()
|
||||
-- autosave_timers[args.buf] = nil
|
||||
-- end
|
||||
-- end,
|
||||
-- })
|
||||
|
||||
@@ -2,7 +2,7 @@ local default_opts = { noremap = true, silent = true }
|
||||
|
||||
local function map(mode, l, r, opts)
|
||||
opts = opts or default_opts
|
||||
opts.buffer = bufnr
|
||||
-- opts.buffer = bufnr
|
||||
vim.keymap.set(mode, l, r, opts)
|
||||
end
|
||||
|
||||
@@ -14,34 +14,116 @@ end
|
||||
vim.keymap.set("n", " ", "<Nop>", { silent = true, remap = false })
|
||||
vim.g.mapleader = " "
|
||||
|
||||
-- Быстрое перемещение
|
||||
map("n", "<A-j>", "10j")
|
||||
map("n", "<A-k>", "10k")
|
||||
|
||||
-- Быстрое сохранение
|
||||
map("n", "<leader>w", "<cmd>write<CR>")
|
||||
map("n", "<leader>q", "<cmd>quit<CR>")
|
||||
|
||||
-- 'Нажимает' на ESC при быстром нажатии jj
|
||||
map('i', 'оо', '<Esc>')
|
||||
map('i', 'jj', '<Esc>')
|
||||
-- map("i", "оо", "<Esc>")
|
||||
-- map("i", "jj", "<Esc>")
|
||||
|
||||
-- Переход в режим ввода на русском при нажатии R
|
||||
vim.keymap.set("n", "R", function()
|
||||
os.execute("xkb-switch -s ru")
|
||||
vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes("<Esc>i", true, true, true), "n", true)
|
||||
end, { noremap = true, silent = true })
|
||||
|
||||
local returnFromInsert = function()
|
||||
vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes("<Esc>", true, true, true), "n", true)
|
||||
os.execute("xkb-switch -s us")
|
||||
end
|
||||
vim.keymap.set("i", "jj", returnFromInsert, { noremap = true, silent = true })
|
||||
vim.keymap.set("i", "оо", returnFromInsert, { noremap = true, silent = true })
|
||||
|
||||
-- Отключение стрелочек. Использовать hjkl
|
||||
map('', '<up>', ':echoe "Use k"<CR>', {noremap = true, silent = false})
|
||||
map('', '<down>', ':echoe "Use j"<CR>', {noremap = true, silent = false})
|
||||
map('', '<left>', ':echoe "Use h"<CR>', {noremap = true, silent = false})
|
||||
map('', '<right>', ':echoe "Use l"<CR>', {noremap = true, silent = false})
|
||||
-- map("", "<up>", ':echoe "Use k"<CR>', { noremap = true, silent = false })
|
||||
-- map("", "<down>", ':echoe "Use j"<CR>', { noremap = true, silent = false })
|
||||
-- map("", "<left>", ':echoe "Use h"<CR>', { noremap = true, silent = false })
|
||||
-- map("", "<right>", ':echoe "Use l"<CR>', { noremap = true, silent = false })
|
||||
|
||||
map('n', "<C-h>", "<C-w>h")
|
||||
map('n', "<C-j>", "<C-w>j")
|
||||
map('n', "<C-k>", "<C-w>k")
|
||||
map('n', "<C-l>", "<C-w>l")
|
||||
-- Ресайз окон
|
||||
map("n", "<Up>", "<cmd>resize +2<CR>")
|
||||
map("n", "<Down>", "<cmd>resize -2<CR>")
|
||||
map("n", "<Left>", "<cmd>vertical resize +2<CR>")
|
||||
map("n", "<Right>", "<cmd>vertical resize -2<CR>")
|
||||
|
||||
map('n', '<leader>st', ':set invlist<CR>')
|
||||
-- Перемещение между окнами
|
||||
map("n", "<C-h>", "<C-w>h")
|
||||
map("n", "<C-j>", "<C-w>j")
|
||||
map("n", "<C-k>", "<C-w>k")
|
||||
map("n", "<C-l>", "<C-w>l")
|
||||
|
||||
map("n", "<leader>st", ":set invlist<CR>")
|
||||
|
||||
-----------------------------------------------------------
|
||||
-- Spell Check
|
||||
-----------------------------------------------------------
|
||||
-- Включить/выключить проверку
|
||||
map("n", "<leader>ss", "<cmd>set spell!<CR>", { desc = "Toggle spell check" })
|
||||
|
||||
-- Навигация по ошибкам
|
||||
map("n", "]s", "<cmd>normal! ]s<CR>", { desc = "Next spelling error" })
|
||||
map("n", "[s", "<cmd>normal! [s<CR>", { desc = "Previous spelling error" })
|
||||
|
||||
-- Добавить слово в словарь
|
||||
map("n", "<leader>sda", "<cmd>normal! zg<CR>", { desc = "Add to dictionary" })
|
||||
map("n", "<leader>sdd", "<cmd>normal! zw<CR>", { desc = "Mark as wrong" })
|
||||
|
||||
-- Показать варианты исправления
|
||||
map("n", "<leader>sp", "<cmd>normal! z=<CR>", { desc = "Show spelling suggestions" })
|
||||
|
||||
-- Русская раскладка в справках
|
||||
vim.cmd([[
|
||||
" Русские подсказки для проверки орфографии
|
||||
set spellcapcheck= " Отключить проверку заглавных букв для русского
|
||||
]])
|
||||
|
||||
-- Альтернативный путь к словарям (если стандартный не работает)
|
||||
local spell_paths = {
|
||||
"/usr/share/hunspell/",
|
||||
"/usr/share/myspell/dicts/",
|
||||
"/usr/share/myspell/",
|
||||
vim.fn.expand("~/.local/share/nvim/spell/"),
|
||||
}
|
||||
|
||||
-- Проверить и установить словари если нужно
|
||||
local function setup_spell()
|
||||
local has_dicts = false
|
||||
|
||||
for _, path in ipairs(spell_paths) do
|
||||
if vim.fn.isdirectory(path) == 1 then
|
||||
vim.opt.spellfile = vim.fn.glob(path .. "/*.add")
|
||||
has_dicts = true
|
||||
break
|
||||
end
|
||||
end
|
||||
|
||||
if not has_dicts then
|
||||
vim.notify(
|
||||
"Словари не найдены. Установите: sudo apt install hunspell-ru hunspell-en-us",
|
||||
vim.log.levels.WARN
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
-- Вызвать настройку при запуске
|
||||
vim.defer_fn(setup_spell, 100)
|
||||
|
||||
-----------------------------------------------------------
|
||||
-- F1 .. F12
|
||||
-----------------------------------------------------------
|
||||
|
||||
-- По F1 очищаем последний поиск с подсветкой
|
||||
map('n', '<F1>', ':nohl<CR>')
|
||||
map('n', '<leader>nh', ':nohl<CR>')
|
||||
-- map("n", "<F1>", ":nohl<CR>")
|
||||
map("n", "<leader>nh", ":nohl<CR>")
|
||||
|
||||
-- <F5> разные вариации нумераций строк, можно переключаться
|
||||
map('n', '<F5>', ':exec &nu==&rnu? "se nu!" : "se rnu!"<CR>')
|
||||
map("n", "<F5>", ':exec &nu==&rnu? "se nu!" : "se rnu!"<CR>')
|
||||
|
||||
-- <F11> Проверка орфографии для русского и английского языка
|
||||
map('n', '<F11>', ':set spell!<CR>')
|
||||
map('i', '<F11>', '<C-O>:set spell!<CR>')
|
||||
map("n", "<F11>", ":set spell!<CR>")
|
||||
map("i", "<F11>", "<C-O>:set spell!<CR>")
|
||||
|
||||
1
.config/nvim/lua/plugins/ai.lua
Normal file
1
.config/nvim/lua/plugins/ai.lua
Normal file
@@ -0,0 +1 @@
|
||||
return {}
|
||||
@@ -1,10 +1,14 @@
|
||||
return {
|
||||
{
|
||||
"hrsh7th/nvim-cmp",
|
||||
event = "InsertEnter",
|
||||
dependencies = {
|
||||
"hrsh7th/cmp-buffer",
|
||||
"hrsh7th/cmp-path",
|
||||
"hrsh7th/cmp-cmdline",
|
||||
|
||||
"hrsh7th/cmp-nvim-lsp",
|
||||
|
||||
"L3MON4D3/LuaSnip",
|
||||
"rafamadriz/friendly-snippets",
|
||||
"saadparwaiz1/cmp_luasnip",
|
||||
@@ -16,56 +20,139 @@ return {
|
||||
require("luasnip.loaders.from_vscode").lazy_load()
|
||||
|
||||
local has_words_before = function()
|
||||
unpack = unpack or table.unpack
|
||||
local line, col = unpack(vim.api.nvim_win_get_cursor(0))
|
||||
return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil
|
||||
if vim.api.nvim_get_mode().mode == "c" then
|
||||
return true
|
||||
end
|
||||
local line, col = table.unpack(vim.api.nvim_win_get_cursor(0))
|
||||
return col ~= 0 and vim.api.nvim_buf_get_text(0, line - 1, 0, line - 1, col, {})[1]:match("%S")
|
||||
end
|
||||
|
||||
cmp.setup({
|
||||
-- Производительность
|
||||
performance = {
|
||||
debounce = 60,
|
||||
throttle = 30,
|
||||
fetching_timeout = 200,
|
||||
async_budget = 1,
|
||||
max_view_entries = 10,
|
||||
},
|
||||
snippet = {
|
||||
expand = function(args)
|
||||
luasnip.lsp_expand(args.body)
|
||||
end,
|
||||
},
|
||||
-- Сортировка источников по приоритету
|
||||
sources = cmp.config.sources({
|
||||
{ name = "nvim_lsp", priority = 1000, keyword_length = 2 },
|
||||
{ name = "luasnip", priority = 900, keyword_length = 1 },
|
||||
{ name = "buffer", priority = 500, keyword_length = 3 },
|
||||
{ name = "path", priority = 250, keyword_length = 1 },
|
||||
}),
|
||||
mapping = {
|
||||
["<Tab>"] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then cmp.select_next_item()
|
||||
elseif luasnip.expand_or_jumpable() then luasnip.expand_or_jump()
|
||||
elseif has_words_before() then cmp.complete()
|
||||
else fallback() end
|
||||
if cmp.visible() then
|
||||
cmp.select_next_item()
|
||||
elseif luasnip.expand_or_jumpable() then
|
||||
luasnip.expand_or_jump()
|
||||
elseif has_words_before() then
|
||||
cmp.complete()
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end, { "i", "s" }),
|
||||
["<S-Tab>"] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then cmp.select_prev_item()
|
||||
elseif luasnip.jumpable(-1) then luasnip.jump(-1)
|
||||
else fallback() end
|
||||
if cmp.visible() then
|
||||
cmp.select_prev_item()
|
||||
elseif luasnip.jumpable(-1) then
|
||||
luasnip.jump(-1)
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end, { "i", "s" }),
|
||||
['<C-Space>'] = cmp.mapping.complete(),
|
||||
['<C-e>'] = cmp.mapping.abort(),
|
||||
['<CR>'] = cmp.mapping.confirm({ select = true }),
|
||||
["<C-b>"] = cmp.mapping.scroll_docs(-4),
|
||||
["<C-f>"] = cmp.mapping.scroll_docs(4),
|
||||
["<C-Space>"] = cmp.mapping.complete(),
|
||||
["<C-e>"] = cmp.mapping.abort(),
|
||||
["<CR>"] = cmp.mapping.confirm({
|
||||
select = true,
|
||||
behavior = cmp.ConfirmBehavior.Replace,
|
||||
}),
|
||||
},
|
||||
-- Форматирование
|
||||
formatting = {
|
||||
fields = { "kind", "abbr", "menu" },
|
||||
format = function(entry, vim_item)
|
||||
-- Иконки
|
||||
local icons = {
|
||||
Text = "",
|
||||
Method = "",
|
||||
Function = "",
|
||||
Constructor = "",
|
||||
Field = "",
|
||||
Variable = "",
|
||||
Class = "",
|
||||
Interface = "",
|
||||
Module = "",
|
||||
Property = "",
|
||||
Unit = "",
|
||||
Value = "",
|
||||
Enum = "",
|
||||
Keyword = "",
|
||||
Snippet = "",
|
||||
Color = "",
|
||||
File = "",
|
||||
Reference = "",
|
||||
Folder = "",
|
||||
EnumMember = "",
|
||||
Constant = "",
|
||||
Struct = "",
|
||||
Event = "",
|
||||
Operator = "",
|
||||
TypeParameter = "",
|
||||
}
|
||||
|
||||
vim_item.kind = string.format("%s %s", icons[vim_item.kind] or "?", vim_item.kind)
|
||||
|
||||
local source_name = entry.source.name
|
||||
local menu_map = {
|
||||
nvim_lsp = "[LSP]",
|
||||
luasnip = "[Snip]",
|
||||
buffer = "[Buf]",
|
||||
path = "[Path]",
|
||||
nvim_lua = "[Lua]",
|
||||
cmdline = "[Cmd]",
|
||||
}
|
||||
|
||||
vim_item.menu = menu_map[source_name] or ("[" .. source_name .. "]")
|
||||
|
||||
-- Укорочение длинных имен
|
||||
local label = vim_item.abbr
|
||||
local truncated_label = vim.fn.strcharpart(label, 0, 50)
|
||||
if truncated_label ~= label then
|
||||
vim_item.abbr = truncated_label .. "…"
|
||||
end
|
||||
|
||||
return vim_item
|
||||
end,
|
||||
},
|
||||
|
||||
-- Экспериментальные фичи
|
||||
experimental = {
|
||||
ghost_text = {
|
||||
hl_group = "Comment", -- призрачный текст
|
||||
},
|
||||
},
|
||||
sources = cmp.config.sources({
|
||||
{ name = 'nvim_lsp' },
|
||||
{ name = 'luasnip' },
|
||||
}, {
|
||||
{ name = 'buffer' },
|
||||
})
|
||||
cmp.setup.filetype("gitcommit", {
|
||||
sources = cmp.config.sources({ { name = "git" } }, { { name = "buffer" } }),
|
||||
})
|
||||
cmp.setup.filetype('gitcommit', {
|
||||
sources = cmp.config.sources(
|
||||
{{ name = 'git' }},
|
||||
{{ name = 'buffer' }}
|
||||
)
|
||||
})
|
||||
cmp.setup.cmdline({ '/', '?' }, {
|
||||
cmp.setup.cmdline({ "/", "?" }, {
|
||||
mapping = cmp.mapping.preset.cmdline(),
|
||||
sources = {{ name = 'buffer' }}
|
||||
sources = { { name = "buffer" } },
|
||||
})
|
||||
cmp.setup.cmdline(':', {
|
||||
cmp.setup.cmdline(":", {
|
||||
mapping = cmp.mapping.preset.cmdline(),
|
||||
sources = cmp.config.sources(
|
||||
{{ name = 'path' }},
|
||||
{{ name = 'cmdline' }}
|
||||
)
|
||||
sources = cmp.config.sources({ { name = "path" } }, { { name = "cmdline" } }),
|
||||
})
|
||||
end,
|
||||
},
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
return {
|
||||
{
|
||||
"j-morano/buffer_manager.nvim",
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
},
|
||||
opts = {},
|
||||
keys = {
|
||||
{ "<LEADER>b", function() require("buffer_manager.ui").toggle_quick_menu() end },
|
||||
{ "<S-h>", function() require("buffer_manager.ui").nav_prev() end },
|
||||
{ "<S-l>", function() require("buffer_manager.ui").nav_next() end }
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
return {
|
||||
-- Подсветка цвета (не только в css)
|
||||
{
|
||||
"ap/vim-css-color"
|
||||
}
|
||||
"ap/vim-css-color",
|
||||
},
|
||||
}
|
||||
|
||||
@@ -14,16 +14,109 @@ return {
|
||||
priority = 1000,
|
||||
config = function()
|
||||
vim.o.background = "dark"
|
||||
vim.cmd([[colorscheme gruvbox]])
|
||||
end
|
||||
}
|
||||
-- vim.cmd([[colorscheme gruvbox]])
|
||||
require("gruvbox").setup({
|
||||
-- Основные настройки контраста
|
||||
contrast = "hard", -- "hard", "medium", "soft"
|
||||
|
||||
-- Тёмная версия
|
||||
terminal_colors = true,
|
||||
|
||||
-- Настройки яркости
|
||||
undercurl = true,
|
||||
underline = true,
|
||||
bold = true,
|
||||
italic = {
|
||||
strings = false,
|
||||
comments = false,
|
||||
operators = false,
|
||||
folds = false,
|
||||
},
|
||||
|
||||
-- Цветовые настройки
|
||||
invert_selection = false,
|
||||
invert_signs = false,
|
||||
invert_tabline = false,
|
||||
invert_intend_guides = false,
|
||||
|
||||
-- Более тёмные цвета
|
||||
palette_overrides = {
|
||||
dark0_hard = "#0d0e0f", -- самый тёмный фон
|
||||
dark0 = "#1d2021", -- стандартный фон
|
||||
dark1 = "#282828",
|
||||
dark2 = "#32302f",
|
||||
dark3 = "#3c3836",
|
||||
dark4 = "#504945",
|
||||
|
||||
-- Более насыщенные цвета
|
||||
bright_red = "#fb4934",
|
||||
bright_green = "#b8bb26",
|
||||
bright_yellow = "#fabd2f",
|
||||
bright_blue = "#83a598",
|
||||
bright_purple = "#d3869b",
|
||||
bright_aqua = "#8ec07c",
|
||||
bright_orange = "#fe8019",
|
||||
},
|
||||
|
||||
-- Контрастные настройки
|
||||
overrides = {
|
||||
-- Пример: сделать выделение контрастнее
|
||||
Visual = { bg = "#3c3836", fg = "#ebdbb2" },
|
||||
Search = { bg = "#fe8019", fg = "#282828" },
|
||||
IncSearch = { bg = "#fb4934", fg = "#282828" },
|
||||
|
||||
-- Контрастные границы
|
||||
FloatBorder = { fg = "#ebdbb2" },
|
||||
|
||||
-- Более тёмный LineNr
|
||||
LineNr = { fg = "#7c6f64" },
|
||||
CursorLineNr = { fg = "#d5c4a1", bold = true },
|
||||
},
|
||||
})
|
||||
|
||||
-- Дополнительные Vim команды для увеличения контраста
|
||||
vim.cmd([[
|
||||
colorscheme gruvbox
|
||||
|
||||
" Дополнительные настройки контраста
|
||||
highlight Normal guibg=#0d0e0f
|
||||
highlight NormalNC guibg=#0d0e0f
|
||||
highlight SignColumn guibg=#0d0e0f
|
||||
highlight EndOfBuffer guifg=#0d0e0f
|
||||
|
||||
" Более контрастные комментарии
|
||||
highlight Comment guifg=#928374
|
||||
|
||||
" Контрастные номера строк
|
||||
highlight LineNr guifg=#7c6f64 guibg=#0d0e0f
|
||||
highlight CursorLineNr guifg=#ebdbb2 guibg=#0d0e0f
|
||||
|
||||
" Контрастный скроллбар
|
||||
highlight Pmenu guibg=#1d2021
|
||||
highlight PmenuSel guibg=#504945
|
||||
|
||||
" Более тёмные границы
|
||||
highlight WinSeparator guifg=#504945
|
||||
]])
|
||||
end,
|
||||
},
|
||||
|
||||
-- {
|
||||
-- "morhetz/gruvbox",
|
||||
-- priority = 1000,
|
||||
-- init = function()
|
||||
-- vim.g.gruvbox_contrast_dark = "hard"
|
||||
-- vim.g.gruvbox_background = "hard"
|
||||
-- vim.cmd("colorscheme gruvbox")
|
||||
-- end,
|
||||
-- },
|
||||
|
||||
-- {
|
||||
-- "RRethy/nvim-base16",
|
||||
-- config = function()
|
||||
-- vim.cmd([[colorscheme base16-gruvbox-dark-hard]])
|
||||
-- end
|
||||
-- }
|
||||
-- end,
|
||||
-- },
|
||||
|
||||
-- {
|
||||
-- "nanotech/jellybeans.vim",
|
||||
@@ -31,8 +124,8 @@ return {
|
||||
-- priority = 1000,
|
||||
-- config = function()
|
||||
-- vim.cmd([[colorscheme jellybeans]])
|
||||
-- end
|
||||
-- }
|
||||
-- end,
|
||||
-- },
|
||||
|
||||
-- {
|
||||
-- "junegunn/seoul256.vim",
|
||||
@@ -46,8 +139,8 @@ return {
|
||||
-- "Mofiqul/vscode.nvim",
|
||||
-- config = function()
|
||||
-- require("vscode").load("dark")
|
||||
-- end
|
||||
-- }
|
||||
-- end,
|
||||
-- },
|
||||
|
||||
-- {
|
||||
-- "sainnhe/everforest",
|
||||
@@ -56,6 +149,6 @@ return {
|
||||
-- vim.o.background = "dark"
|
||||
-- -- require("everforest")
|
||||
-- vim.cmd([[colorscheme everforest]])
|
||||
-- end
|
||||
-- }
|
||||
-- end,
|
||||
-- },
|
||||
}
|
||||
|
||||
@@ -2,7 +2,16 @@ return {
|
||||
-- Быстрое комментирование
|
||||
-- gcc - закоментировать строку
|
||||
-- (VISUAL) gc - закоментировать выделенные строки
|
||||
-- {
|
||||
-- "tpope/vim-commentary",
|
||||
-- },
|
||||
|
||||
{
|
||||
"tpope/vim-commentary"
|
||||
}
|
||||
"numToStr/Comment.nvim",
|
||||
},
|
||||
-- gcc - toggle current line
|
||||
-- gbc - toggle current block
|
||||
-- [count]gcc | [count]gbc
|
||||
-- gc[count]{motion} | gb[count]{motion}
|
||||
-- VISUAL: gc | gb
|
||||
}
|
||||
|
||||
@@ -2,8 +2,15 @@ return {
|
||||
-- Поддержка git
|
||||
{
|
||||
"lewis6991/gitsigns.nvim",
|
||||
config = function()
|
||||
require('gitsigns').setup()
|
||||
opts = {
|
||||
signs = {
|
||||
add = { text = "+" },
|
||||
change = { text = "~" },
|
||||
delete = { text = "_" },
|
||||
},
|
||||
},
|
||||
config = function(_, opts)
|
||||
require("gitsigns").setup(opts)
|
||||
|
||||
local function map(mode, l, r, opts)
|
||||
opts = opts or { noremap = true, silent = true }
|
||||
@@ -13,30 +20,46 @@ return {
|
||||
|
||||
local gs = package.loaded.gitsigns
|
||||
|
||||
map('n', ']c', function()
|
||||
if vim.wo.diff then return ']c' end
|
||||
vim.schedule(function() gs.next_hunk() end)
|
||||
return '<Ignore>'
|
||||
map("n", "]c", function()
|
||||
if vim.wo.diff then
|
||||
return "]c"
|
||||
end
|
||||
vim.schedule(function()
|
||||
gs.next_hunk()
|
||||
end)
|
||||
return "<Ignore>"
|
||||
end, { expr = true })
|
||||
map('n', '[c', function()
|
||||
if vim.wo.diff then return '[c' end
|
||||
vim.schedule(function() gs.prev_hunk() end)
|
||||
return '<Ignore>'
|
||||
map("n", "[c", function()
|
||||
if vim.wo.diff then
|
||||
return "[c"
|
||||
end
|
||||
vim.schedule(function()
|
||||
gs.prev_hunk()
|
||||
end)
|
||||
return "<Ignore>"
|
||||
end, { expr = true })
|
||||
|
||||
map('n', '<leader>gs', gs.stage_hunk)
|
||||
map('n', '<leader>gr', gs.reset_hunk)
|
||||
map('v', '<leader>gs', function() gs.stage_hunk {vim.fn.line('.'), vim.fn.line('v')} end)
|
||||
map('v', '<leader>gr', function() gs.reset_hunk {vim.fn.line('.'), vim.fn.line('v')} end)
|
||||
map('n', '<leader>gS', gs.stage_buffer)
|
||||
map('n', '<leader>gu', gs.undo_stage_hunk)
|
||||
map('n', '<leader>gR', gs.reset_buffer)
|
||||
map('n', '<leader>gp', gs.preview_hunk)
|
||||
map('n', '<leader>gb', function() gs.blame_line{full=true} end)
|
||||
map('n', '<leader>gtb', gs.toggle_current_line_blame)
|
||||
map('n', '<leader>gd', gs.diffthis)
|
||||
map('n', '<leader>gD', function() gs.diffthis('~') end)
|
||||
map('n', '<leader>gtd', gs.toggle_deleted)
|
||||
end
|
||||
}
|
||||
-- map("n", "<leader>gs", gs.stage_hunk)
|
||||
-- map("n", "<leader>gr", gs.reset_hunk)
|
||||
-- map("v", "<leader>gs", function()
|
||||
-- gs.stage_hunk({ vim.fn.line("."), vim.fn.line("v") })
|
||||
-- end)
|
||||
-- map("v", "<leader>gr", function()
|
||||
-- gs.reset_hunk({ vim.fn.line("."), vim.fn.line("v") })
|
||||
-- end)
|
||||
-- map("n", "<leader>gS", gs.stage_buffer)
|
||||
-- map("n", "<leader>gu", gs.undo_stage_hunk)
|
||||
-- map("n", "<leader>gR", gs.reset_buffer)
|
||||
-- map("n", "<leader>gp", gs.preview_hunk)
|
||||
-- map("n", "<leader>gb", function()
|
||||
-- gs.blame_line({ full = true })
|
||||
-- end)
|
||||
-- map("n", "<leader>gtb", gs.toggle_current_line_blame)
|
||||
-- map("n", "<leader>gd", gs.diffthis)
|
||||
-- map("n", "<leader>gD", function()
|
||||
-- gs.diffthis("~")
|
||||
-- end)
|
||||
-- map("n", "<leader>gtd", gs.toggle_deleted)
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
||||
17
.config/nvim/lua/plugins/latex.lua
Normal file
17
.config/nvim/lua/plugins/latex.lua
Normal file
@@ -0,0 +1,17 @@
|
||||
return {
|
||||
"lervag/vimtex",
|
||||
lazy = false,
|
||||
init = function()
|
||||
vim.g.vimtex_view_method = "zathura"
|
||||
vim.g.vimtex_compiler_method = "latexmk"
|
||||
vim.g.vimtex_quickfix_mode = 0
|
||||
vim.g.maplocalleader = ","
|
||||
vim.api.nvim_create_autocmd("FileType", {
|
||||
pattern = "tex",
|
||||
callback = function()
|
||||
vim.opt_local.syntax = "on" -- Использовать синтаксис VimTeX
|
||||
end,
|
||||
})
|
||||
end,
|
||||
config = function() end,
|
||||
}
|
||||
43
.config/nvim/lua/plugins/leap.lua
Normal file
43
.config/nvim/lua/plugins/leap.lua
Normal file
@@ -0,0 +1,43 @@
|
||||
return {
|
||||
-- Прыжок в любое место по символу
|
||||
{ "tpope/vim-repeat", event = "VeryLazy" },
|
||||
{
|
||||
"ggandor/flit.nvim",
|
||||
dependencies = {
|
||||
"ggandor/leap.nvim",
|
||||
},
|
||||
keys = function()
|
||||
local ret = {}
|
||||
for _, key in ipairs({ "f", "F", "t", "T" }) do
|
||||
ret[#ret + 1] = { key, mode = { "n", "x", "o" } }
|
||||
end
|
||||
return ret
|
||||
end,
|
||||
opts = { labeled_modes = "nx" },
|
||||
},
|
||||
{
|
||||
"ggandor/leap.nvim",
|
||||
keys = {
|
||||
{ "<Leader>j", mode = { "n", "x", "o" }, desc = "Leap forward to" },
|
||||
{ "<Leader>k", mode = { "n", "x", "o" }, desc = "Leap backward to" },
|
||||
{ "<Leader>J", mode = { "n", "x", "o" }, desc = "Leap from windows" },
|
||||
},
|
||||
config = function(_, opts)
|
||||
local leap = require("leap")
|
||||
for k, v in pairs(opts) do
|
||||
leap.opts[k] = v
|
||||
end
|
||||
-- leap.add_default_mappings(true)
|
||||
-- Удаляем конфликтующие маппинги, если они есть
|
||||
-- vim.keymap.del({ "x", "o" }, "x")
|
||||
-- vim.keymap.del({ "x", "o" }, "X")
|
||||
|
||||
-- Прыжок вперёд
|
||||
vim.keymap.set({ "n", "x", "o" }, "<Leader>j", "<Plug>(leap-forward)")
|
||||
-- Прыжок назад
|
||||
vim.keymap.set({ "n", "x", "o" }, "<Leader>k", "<Plug>(leap-backward)")
|
||||
-- Прыжок между окнами
|
||||
vim.keymap.set({ "n", "x", "o" }, "<Leader>J", "<Plug>(leap-from-window)")
|
||||
end,
|
||||
},
|
||||
}
|
||||
@@ -1,125 +1,235 @@
|
||||
return {
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
"mason-org/mason.nvim",
|
||||
opts = {},
|
||||
dependencies = {
|
||||
"mason-org/mason-registry",
|
||||
},
|
||||
opts = {}
|
||||
},
|
||||
{
|
||||
"mason-org/mason-lspconfig.nvim",
|
||||
opts = {
|
||||
automatic_installation = true,
|
||||
automatic_enable = true,
|
||||
ensure_installed = {
|
||||
"bashls",
|
||||
"lua_ls",
|
||||
|
||||
"vtsls", -- ts_ls + vue support
|
||||
"html",
|
||||
"cssls",
|
||||
"jsonls",
|
||||
|
||||
"pyright",
|
||||
|
||||
"yamlls",
|
||||
},
|
||||
},
|
||||
dependencies = {
|
||||
"mason-org/mason.nvim",
|
||||
},
|
||||
},
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
event = { "BufReadPre", "BufNewFile" },
|
||||
dependencies = {
|
||||
"williamboman/mason-lspconfig.nvim",
|
||||
"hrsh7th/cmp-nvim-lsp",
|
||||
"hrsh7th/nvim-cmp",
|
||||
"j-hui/fidget.nvim",
|
||||
"folke/trouble.nvim",
|
||||
},
|
||||
keys = {
|
||||
{ "<LEADER>lh", vim.lsp.buf.hover },
|
||||
{ "<LEADER>lr", vim.lsp.buf.rename },
|
||||
{ "<LEADER>lf", function()
|
||||
{ "<LEADER>l", desc = "LSP Features" },
|
||||
{ "<LEADER>lh", vim.lsp.buf.hover, desc = "Get info from LSP" },
|
||||
{ "<LEADER>lr", vim.lsp.buf.rename, desc = "Rename" },
|
||||
{
|
||||
"<LEADER>lf",
|
||||
function()
|
||||
vim.lsp.buf.format({
|
||||
async = true,
|
||||
bufnr = bufnr,
|
||||
-- bufnr = bufnr,
|
||||
filter = function(client)
|
||||
return client.name == "null-ls"
|
||||
end
|
||||
end,
|
||||
})
|
||||
end
|
||||
end,
|
||||
desc = "Format code",
|
||||
},
|
||||
{ "<LEADER>lgr", vim.lsp.buf.references },
|
||||
{ "<LEADER>lgi", vim.lsp.buf.implementation },
|
||||
{ "<LEADER>lsh", vim.lsp.buf.signature_help },
|
||||
{ "<LEADER>lgr", vim.lsp.buf.references, desc = "Open references" },
|
||||
{ "<LEADER>lgi", vim.lsp.buf.implementation, desc = "Open implementation" },
|
||||
{ "<LEADER>lsh", vim.lsp.buf.signature_help, desc = "Optn signature help" },
|
||||
|
||||
{ "<LEADER>ldj", vim.diagnostic.goto_next },
|
||||
{ "<LEADER>ldk", vim.diagnostic.goto_prev },
|
||||
{ "<LEADER>ldj", vim.diagnostic.goto_next, desc = "Go to next problem" },
|
||||
{
|
||||
"<LEADER>ldk",
|
||||
vim.diagnostic.goto_prev,
|
||||
desc = "Go to previous problem",
|
||||
},
|
||||
|
||||
{ "<LEADER>lgd", vim.lsp.buf.definition },
|
||||
{ "<LEADER>lgtd", vim.lsp.buf.type_definition },
|
||||
{ "<LEADER>lgd", vim.lsp.buf.definition, desc = "Open definition" },
|
||||
{ "<LEADER>lgt", vim.lsp.buf.type_definition, desc = "Open type definition" },
|
||||
|
||||
{ "<LEADER>law", vim.lsp.buf.add_workspace_folder },
|
||||
{ "<LEADER>ldw", vim.lsp.buf.remove_workspace_folder },
|
||||
{ "<LEADER>llw", function()
|
||||
print(vim.inspect(vim.lsp.buf.list_workplace_folders()))
|
||||
end },
|
||||
|
||||
{ "<LEADER>lca", vim.lsp.buf.code_action },
|
||||
{
|
||||
"<LEADER>law",
|
||||
vim.lsp.buf.add_workspace_folder,
|
||||
desc = "Add folder to workspace",
|
||||
},
|
||||
{
|
||||
"<LEADER>ldw",
|
||||
vim.lsp.buf.remove_workspace_folder,
|
||||
desc = "Remove folder from workspace",
|
||||
},
|
||||
{
|
||||
"<LEADER>llw",
|
||||
function()
|
||||
print(vim.inspect(vim.lsp.buf.list_workspace_folders()))
|
||||
end,
|
||||
desc = "List workspace folders",
|
||||
},
|
||||
{
|
||||
"<LEADER>lca",
|
||||
vim.lsp.buf.code_action,
|
||||
desc = "Open code actions",
|
||||
},
|
||||
},
|
||||
config = function()
|
||||
local lspconfig = require("lspconfig")
|
||||
local mason_lspconfig = require("mason-lspconfig")
|
||||
|
||||
local LSP_SERVERS = {
|
||||
"tsserver",
|
||||
"html",
|
||||
"cssls",
|
||||
"tailwindcss",
|
||||
"pyright"
|
||||
}
|
||||
|
||||
mason_lspconfig.setup({
|
||||
ensure_installed = LSP_SERVERS,
|
||||
automatic_installation = true,
|
||||
})
|
||||
|
||||
local capabilities = require("cmp_nvim_lsp").default_capabilities()
|
||||
for _, server in pairs(LSP_SERVERS) do
|
||||
lspconfig[server].setup(
|
||||
{
|
||||
|
||||
local on_attach = function(client, bufnr)
|
||||
vim.notify(client.name .. " attached", vim.log.levels.INFO)
|
||||
end
|
||||
|
||||
vim.lsp.config("*", {
|
||||
capabilities = capabilities,
|
||||
on_attach = on_attach,
|
||||
}
|
||||
)
|
||||
end
|
||||
})
|
||||
vim.lsp.config("vtsls", {
|
||||
settings = {
|
||||
vtsls = {
|
||||
tsserver = {
|
||||
globalPlugins = {
|
||||
{
|
||||
name = "@vue/typescript-plugin",
|
||||
location = vim.fn.stdpath("data")
|
||||
.. "/mason/packages/vue-language-server/node_modules/@vue/language-server",
|
||||
languages = { "vue" },
|
||||
configNamespace = "typescript",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
filetypes = { "typescript", "javascript", "javascriptreact", "typescriptreact", "vue" },
|
||||
})
|
||||
vim.lsp.config("clangd", {
|
||||
capabilities = capabilities,
|
||||
on_attach = on_attach,
|
||||
settings = {
|
||||
clangd = {
|
||||
fallbackFlags = {
|
||||
"--std=c++23",
|
||||
"-Wall",
|
||||
"-Wextra",
|
||||
"-Wpedantic",
|
||||
},
|
||||
},
|
||||
},
|
||||
filetypes = { "c", "cpp", "objc", "objcpp", "tpp" },
|
||||
})
|
||||
end,
|
||||
},
|
||||
{
|
||||
"nvimtools/none-ls.nvim",
|
||||
"jay-babu/mason-null-ls.nvim",
|
||||
event = { "BufReadPre", "BufNewFile" },
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
"williamboman/mason-null-ls.nvim",
|
||||
"williamboman/mason.nvim",
|
||||
"nvimtools/none-ls.nvim",
|
||||
},
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"prettierd",
|
||||
"eslint_d",
|
||||
|
||||
"stylua",
|
||||
|
||||
"shfmt",
|
||||
"shellcheck",
|
||||
|
||||
"autopep8",
|
||||
"black",
|
||||
"isort",
|
||||
},
|
||||
automatic_installation = true,
|
||||
handlers = {},
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
"nvimtools/none-ls.nvim",
|
||||
event = { "BufReadPre", "BufNewFile" },
|
||||
dependencies = { "williamboman/mason.nvim" },
|
||||
config = function()
|
||||
local null_ls = require("null-ls")
|
||||
|
||||
local augroup = vim.api.nvim_create_augroup("LspFormatting", {})
|
||||
|
||||
null_ls.setup({
|
||||
source = {
|
||||
-- null_ls.builtins.diagnostics.eslint_d,
|
||||
-- null_ls.builtins.code_actions.eslint_d,
|
||||
null_ls.builtins.diagnostics.stylelint,
|
||||
null_ls.builtins.formatting.prettier,
|
||||
null_ls.builtins.code_actions.gitsigns,
|
||||
null_ls.builtins.formatting.autopep8,
|
||||
null_ls.builtins.diagnostics.pycodestyle,
|
||||
null_ls.builtins.diagnostics.pydocstyle,
|
||||
},
|
||||
source = {},
|
||||
on_attach = function(client, bufnr)
|
||||
local sources = null_ls.get_sources()
|
||||
local source_names = {}
|
||||
for _, source in ipairs(sources) do
|
||||
if source.filetypes then
|
||||
for ft, _ in pairs(source.filetypes) do
|
||||
if ft == vim.bo[bufnr].filetype then
|
||||
table.insert(source_names, source.name)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
local message = "NullLS attached"
|
||||
if #source_names > 0 then
|
||||
message = message .. " with sources: " .. table.concat(source_names, ", ")
|
||||
else
|
||||
message = message .. " (no sources for this filetype)"
|
||||
end
|
||||
vim.notify(message, vim.log.levels.INFO)
|
||||
|
||||
if client.supports_method("textDocument/formatting") then
|
||||
vim.api.nvim_clear_autocmds({ group = augroup, buffer = bufnr })
|
||||
vim.api.nvim_create_autocmd("BufWritePre", {
|
||||
group = vim.api.nvim_create_augroup("LspFormatting", {}),
|
||||
group = augroup,
|
||||
buffer = bufnr,
|
||||
callback = function()
|
||||
vim.lsp.buf.format({
|
||||
async = false,
|
||||
bufnr = bufnr,
|
||||
filter = function(client)
|
||||
return client.name == "null-ls"
|
||||
end
|
||||
filter = function(format_client)
|
||||
return format_client.name == "null-ls"
|
||||
end,
|
||||
})
|
||||
end,
|
||||
})
|
||||
end
|
||||
end,
|
||||
})
|
||||
require("mason-null-ls").setup({
|
||||
ensure_installed = nil,
|
||||
automatic_installation = true,
|
||||
handlers = {}
|
||||
})
|
||||
end
|
||||
end,
|
||||
},
|
||||
|
||||
{
|
||||
"j-hui/fidget.nvim",
|
||||
opts = {}
|
||||
opts = {
|
||||
notification = {
|
||||
window = {
|
||||
max_width = 60,
|
||||
max_height = 5,
|
||||
winblend = 0,
|
||||
},
|
||||
filter = vim.log.levels.DEBUG,
|
||||
},
|
||||
},
|
||||
config = function(_, opts)
|
||||
local fidget = require("fidget")
|
||||
fidget.setup(opts)
|
||||
vim.notify = fidget.notify
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
||||
14
.config/nvim/lua/plugins/markdown.lua
Normal file
14
.config/nvim/lua/plugins/markdown.lua
Normal file
@@ -0,0 +1,14 @@
|
||||
return {
|
||||
-- {
|
||||
-- "MeanderingProgrammer/render-markdown.nvim",
|
||||
-- dependencies = { "nvim-treesitter/nvim-treesitter", "nvim-tree/nvim-web-devicons" },
|
||||
-- ---@module 'render-markdown'
|
||||
-- ---@type render.md.UserConfig
|
||||
-- opts = {},
|
||||
-- },
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
dependencies = { "OXY2DEV/markview.nvim" },
|
||||
lazy = false,
|
||||
},
|
||||
}
|
||||
@@ -9,8 +9,7 @@ return {
|
||||
},
|
||||
cmd = "Neotree",
|
||||
keys = {
|
||||
{ "<LEADER>f", "<CMD>:Neotree toggle<CR>" }
|
||||
{ "<LEADER>f", "<CMD>:Neotree toggle<CR>", desc = "Toggle NeoTree" },
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
return {
|
||||
-- Поддержка русского языка в командном режиме
|
||||
{
|
||||
"powerman/vim-plugin-ruscmd"
|
||||
}
|
||||
-- {
|
||||
-- "powerman/vim-plugin-ruscmd",
|
||||
-- },
|
||||
}
|
||||
|
||||
@@ -9,6 +9,6 @@ return {
|
||||
{
|
||||
"nvim-lualine/lualine.nvim",
|
||||
event = { "BufReadPre", "BufNewFile" },
|
||||
opts = {}
|
||||
}
|
||||
opts = {},
|
||||
},
|
||||
}
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
return {
|
||||
{
|
||||
"kylechui/nvim-surround",
|
||||
config = function()
|
||||
require("nvim-surround").setup()
|
||||
end
|
||||
event = "VeryLazy",
|
||||
|
||||
-- insert = "<C-g>s",
|
||||
-- insert_line = "<C-g>S",
|
||||
|
||||
@@ -1,22 +1,29 @@
|
||||
return {
|
||||
{
|
||||
-- Диалоговое окно поиска
|
||||
"nvim-telescope/telescope.nvim", tag = "0.1.5",
|
||||
"nvim-telescope/telescope.nvim",
|
||||
tag = "0.1.5",
|
||||
-- event = { "BufReadPre", "BufNewFile" },
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
"nvim-telescope/telescope-ui-select.nvim",
|
||||
"nvim-telescope/telescope-file-browser.nvim",
|
||||
"nvim-telescope/telescope-symbols.nvim"
|
||||
"nvim-telescope/telescope-symbols.nvim",
|
||||
},
|
||||
keys = {
|
||||
{ "<LEADER>tff", "<CMD>Telescope find_files<CR>" },
|
||||
{ "<LEADER>tf", "<CMD>Telescope find_files<CR>" },
|
||||
{ "<LEADER>tg", "<CMD>Telescope live_grep<CR>" },
|
||||
{ "<LEADER>tb", "<CMD>Telescope buffers<CR>" },
|
||||
{ "<LEADER>tfb", "<CMD>Telescope file_browser<CR>" },
|
||||
|
||||
{ "<LEADER>gc", "<CMD>Telescope git_bcommits<CR>" },
|
||||
{ "<LEADER>gb", "<CMD>Telescope git_branches<CR>" },
|
||||
{ "<LEADER>gs", "<CMD>Telescope git_branches<CR>" },
|
||||
|
||||
{ "<LEADER>ts", "<CMD>Telescope symbols<CR>" },
|
||||
{ "<LEADER>th", "<CMD>Telescope help_tags<CR>" },
|
||||
|
||||
{ "<LEADER>tfb", "<CMD>Telescope file_browser<CR>" },
|
||||
{ "<LEADER>ts", "<CMD>Telescope symbols<CR>" }
|
||||
-- { "<LEADER>tn", "<CMD>Telescope fidget<CR>" },
|
||||
},
|
||||
config = function()
|
||||
local telescope = require("telescope")
|
||||
@@ -24,25 +31,26 @@ return {
|
||||
telescope.setup({
|
||||
extensions = {
|
||||
["ui-select"] = {
|
||||
require("telescope.themes").get_dropdown({})
|
||||
require("telescope.themes").get_dropdown({}),
|
||||
},
|
||||
["file_browser"] = {
|
||||
theme = "ivy",
|
||||
},
|
||||
["symbols"] = {}
|
||||
["symbols"] = {},
|
||||
},
|
||||
pickers = {
|
||||
buffers = {
|
||||
mappings = {
|
||||
i = { ["<C-d>"] = actions.delete_buffer + actions.move_to_top },
|
||||
n = { ["<C-d>"] = actions.delete_buffer + actions.move_to_top }
|
||||
}
|
||||
}
|
||||
}
|
||||
n = { ["<C-d>"] = actions.delete_buffer + actions.move_to_top },
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
telescope.load_extension("file_browser")
|
||||
telescope.load_extension("ui-select")
|
||||
telescope.load_extension("fidget")
|
||||
end,
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
@@ -11,8 +11,7 @@ return {
|
||||
{ "<ESC>", [[<C-\><C-n>]], mode = "t" },
|
||||
{ "<C-T>", "<CMD>ToggleTerm<CR>", mode = "t" },
|
||||
{ "<C-d>", false, mode = "t" },
|
||||
{ "<C-T>c", [[<C-\><C-n><CMD>:bd!<CR>]], mode = "t" }
|
||||
}
|
||||
}
|
||||
|
||||
{ "<C-T>c", [[<C-\><C-n><CMD>:bd!<CR>]], mode = "t" },
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
@@ -3,14 +3,14 @@ return {
|
||||
"folke/todo-comments.nvim",
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
"folke/trouble.nvim"
|
||||
"folke/trouble.nvim",
|
||||
},
|
||||
opts = {},
|
||||
config = function()
|
||||
require("todo-comments").setup()
|
||||
end,
|
||||
keys = {
|
||||
{ "<LEADER>Ct", "<CMD>TroubleToggle todo<CR>" }
|
||||
}
|
||||
}
|
||||
{ "<LEADER>Ct", "<CMD>TroubleToggle todo<CR>" },
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
@@ -4,28 +4,34 @@ return {
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
dependencies = {
|
||||
"windwp/nvim-ts-autotag",
|
||||
"m4xshen/autoclose.nvim",
|
||||
},
|
||||
build = ":TSUpdate",
|
||||
config = function()
|
||||
local configs = require("nvim-treesitter.configs")
|
||||
configs.setup({
|
||||
ensure_installed = {
|
||||
"html", "markdown", "latex",
|
||||
"css", "scss", -- "less", not found
|
||||
"javascript", -- "jsx", not found
|
||||
"typescript", "tsx",
|
||||
"python", "lua",
|
||||
"vim", "vimdoc", "query",
|
||||
"bash",
|
||||
"c",
|
||||
"json", "yaml",
|
||||
},
|
||||
auto_install = true,
|
||||
sync_install = false,
|
||||
highlight = { enable = true },
|
||||
incremental_selection = { enable = true },
|
||||
indent = { enable = true },
|
||||
autotag = { enable = true }
|
||||
-- autotag = { enable = true }
|
||||
disable = { "tex", "latex" },
|
||||
})
|
||||
end
|
||||
}
|
||||
require("nvim-ts-autotag").setup({
|
||||
-- Опциональные настройки
|
||||
enable_close = true,
|
||||
enable_rename = true,
|
||||
enable_close_on_slash = false,
|
||||
})
|
||||
require("autoclose").setup()
|
||||
|
||||
vim.api.nvim_create_autocmd({ "BufRead", "BufNewFile" }, {
|
||||
pattern = "*.tpp",
|
||||
callback = function()
|
||||
vim.bo.filetype = "cpp"
|
||||
end,
|
||||
})
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
||||
@@ -15,6 +15,6 @@ return {
|
||||
{ "<LEADER>tlr", "<CMD>TroubleToggle lsp_references<CR>" },
|
||||
{ "<LEADER>tld", "<CMD>TroubleToggle lsp_definitions<CR>" },
|
||||
{ "<LEADER>tltd", "<CMD>TroubleToggle lsp_type_definitions<CR>" },
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
9
.config/nvim/lua/plugins/which_key.lua
Normal file
9
.config/nvim/lua/plugins/which_key.lua
Normal file
@@ -0,0 +1,9 @@
|
||||
return {
|
||||
{
|
||||
"folke/which-key.nvim",
|
||||
event = "VeryLazy",
|
||||
ignore = {
|
||||
pattern = { "^.*[А-Яа-я].*$" },
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
backend = "glx";
|
||||
|
||||
corner-radius = 10;
|
||||
corner-radius = 5;
|
||||
|
||||
fading = true;
|
||||
fade-delta = 8;
|
||||
fade-delta = 4;
|
||||
|
||||
@@ -26,8 +26,8 @@ module-margin = 1
|
||||
|
||||
font-0 = CodeNewRoman Nerd Font Mono:pixelsize=10;3
|
||||
|
||||
modules-left = xworkspaces
|
||||
modules-right = pulseaudio xkeyboard date numen systray
|
||||
modules-left = date xworkspaces
|
||||
modules-right = backlight pulseaudio xkeyboard numen systray
|
||||
|
||||
cursor-click = pointer
|
||||
cursor-scroll = ns-resize
|
||||
@@ -66,6 +66,14 @@ interval = 1
|
||||
use-ui-max = false
|
||||
click-right = /bin/bash -c "pactl set-sink-mute @DEFAULT_SINK@ toggle"
|
||||
|
||||
[module/backlight]
|
||||
type = internal/backlight
|
||||
; See cards: ls -1 /sys/class/backlight/
|
||||
card = intel_backlight
|
||||
enable-scroll = true
|
||||
scroll-interval = 5
|
||||
label = %percentage%%
|
||||
|
||||
[module/xkeyboard]
|
||||
type = internal/xkeyboard
|
||||
|
||||
@@ -77,7 +85,7 @@ type = internal/date
|
||||
interval = 1
|
||||
|
||||
date = %H:%M
|
||||
date-alt = %Y-%m-%d %H:%M:%S
|
||||
date-alt = %d.%m.%y %H:%M:%S
|
||||
|
||||
label = %date%
|
||||
label-foreground = ${colors.primary}
|
||||
@@ -86,7 +94,7 @@ label-foreground = ${colors.primary}
|
||||
type = internal/tray
|
||||
|
||||
format-margin = 0pt
|
||||
tray-spacing = 2pt
|
||||
tray-spacing = 4pt
|
||||
|
||||
[module/numen]
|
||||
type = custom/script
|
||||
@@ -94,10 +102,10 @@ exec = [[ $(pgrep numen) ]] && cat ~/.config/numen/current_mode || echo ""
|
||||
interval = 1
|
||||
click-left = pkill numen
|
||||
|
||||
; [module/weather]
|
||||
; type = custom/script
|
||||
; exec = curl -s -H "Accept-Language: ru" wttr.in/Samara?format="%c+%t+%m"
|
||||
; interval = 1
|
||||
[module/weather]
|
||||
type = custom/script
|
||||
exec = curl -s -h "accept-language: ru" wttr.in/samara?format="%c+%t+%m"
|
||||
interval = 1
|
||||
|
||||
[settings]
|
||||
screenchange-reload = true
|
||||
|
||||
4
.gitignore
vendored
4
.gitignore
vendored
@@ -3,12 +3,16 @@
|
||||
|
||||
/Code/*
|
||||
/Downloads/*
|
||||
/Games/*
|
||||
|
||||
!/Downloads/Telegram Desktop
|
||||
/Downloads/Telegram Desktop/*
|
||||
|
||||
/Sync/*
|
||||
/Data/*
|
||||
/Mount/*
|
||||
/Documents/*
|
||||
|
||||
!*.gitkeep
|
||||
|
||||
!.config
|
||||
|
||||
3
.scripts/active_network_name
Executable file
3
.scripts/active_network_name
Executable file
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
ip route show default 2>/dev/null | awk '/default/ {print $5; exit}'
|
||||
14
.xinitrc
14
.xinitrc
@@ -2,23 +2,29 @@ setxkbmap -option grp:ctrl_shift_toggle us,ru
|
||||
|
||||
libinput-gestures &
|
||||
|
||||
# wal --theme base16-gruvbox-hard
|
||||
wal --theme ~/.config/colorschemes/vscode.json
|
||||
wal --theme base16-gruvbox-hard
|
||||
# wal --theme ~/.config/colorschemes/vscode.json
|
||||
|
||||
polybar -r &
|
||||
|
||||
picom &
|
||||
|
||||
pactl -- set-sink-volume 0 25%
|
||||
brightnessctl s 50% >> /dev/null
|
||||
|
||||
numen ~/.config/numen/startup.phrasess.txt &
|
||||
dunst -conf ~/.config/dunst/config.conf &
|
||||
|
||||
# numen ~/.config/numen/startup.phrasess.txt &
|
||||
echo "[R]" > ~/.config/numen/current_mode
|
||||
|
||||
conky -c ~/.config/conky/conky.conf &
|
||||
conky -c ~/.config/conky/weather.conf &
|
||||
conky -c ~/.config/conky/icon.conf &
|
||||
|
||||
[ ! -s ~/.config/mpd/pid ] && mpd ~/.config/mpd/mpd.conf && mpc stop
|
||||
# [ ! -s ~/.config/mpd/pid ] && mpd ~/.config/mpd/mpd.conf && mpc stop
|
||||
|
||||
syncthing &
|
||||
syncthingtray-qt6 &
|
||||
|
||||
exec sxhkd -c ~/.config/sxhkd/sxhkdrc &
|
||||
exec bspwm
|
||||
|
||||
Reference in New Issue
Block a user