diff --git a/.aliases.sh b/.aliases.sh index 9f3e6bd..8323564 100644 --- a/.aliases.sh +++ b/.aliases.sh @@ -10,10 +10,11 @@ alias nt="n test" alias ntd="n test:dev" # ─────────────────────────────── vim/nvim ─────────────────────────────── -alias nv="nvim" -alias lv="lvim" -alias vim="nvim" -alias v="vim" +NVIM_PREFIX="NVIM_USE_COPILOT=true LC_TIME=en_US proxychains -q" +alias nv="$NVIM_PREFIX nvim ." +alias lv="$NVIM_PREFIX lvim" +alias v="$NVIM_PREFIX vim" +alias vim="$NVIM_PREFIX nvim" if command -v zoxide > /dev/null && command -v nvim-zoxide > /dev/null; then alias nv="nvim-zoxide" fi diff --git a/.config/hypr/conf/input.conf b/.config/hypr/conf/input.conf index 8a95681..47af70b 100644 --- a/.config/hypr/conf/input.conf +++ b/.config/hypr/conf/input.conf @@ -34,4 +34,12 @@ device { kb_layout=us,pl,de } - +# Настройки для конкретной клавиатуры, чтобы отключить caps:swapescape +device { + name = ergohaven-imperial44-keyboard + kb_options = grp:win_space_toggle, caps:capslock # Оставляем только переключение раскладки +} +device { + name = ergohaven-imperial44 + kb_options = grp:win_space_toggle, caps:capslock # Оставляем только переключение раскладки +} diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf index 95e0a0a..081eea1 100644 --- a/.config/hypr/hyprland.conf +++ b/.config/hypr/hyprland.conf @@ -172,6 +172,7 @@ source = ./conf/keybindings.conf windowrule = size 300 400,class:com.github.hluk.copyq windowrule = float,class:com.github.hluk.copyq windowrule = move onscreen cursor,class:com.github.hluk.copyq +windowrule = noanim,class:com.github.hluk.copyq # ────────────────────── Browser Picture in Picture ────────────────────── windowrule = float, title:^(Picture-in-Picture)$ diff --git a/.config/hypr/hyprlock-bg.conf b/.config/hypr/hyprlock-bg.conf index 02dd62d..c9ffb00 100644 --- a/.config/hypr/hyprlock-bg.conf +++ b/.config/hypr/hyprlock-bg.conf @@ -1,9 +1,9 @@ background { monitor = eDP-1 - path = /home/goodhumored/wallpapers/9.png + path = /home/goodhumored/wallpapers/6.png } background { monitor = HDMI-A-1 - path = /home/goodhumored/wallpapers/9.png + path = /home/goodhumored/wallpapers/6.png } diff --git a/.config/mc/ini b/.config/mc/ini index 54164aa..618bfe4 100644 --- a/.config/mc/ini +++ b/.config/mc/ini @@ -88,7 +88,7 @@ shell_directory_timeout=900 [Layout] output_lines=0 -left_panel_size=59 +left_panel_size=87 top_panel_size=0 message_visible=true keybar_visible=true @@ -143,5 +143,5 @@ select_flags=6 [Panelize] Find SUID and SGID programs=find . \\( \\( -perm -04000 -a -perm /011 \\) -o \\( -perm -02000 -a -perm /01 \\) \\) -print Find rejects after patching=find . -name \\*.rej -print -Find *.orig after patching=find . -name \\*.orig -print Modified git files=git ls-files --modified +Find *.orig after patching=find . -name \\*.orig -print diff --git a/.config/nvim/lua/goodhumored/common-vim-settings.lua b/.config/nvim/lua/goodhumored/common-vim-settings.lua index 1e8ef4c..89a58a6 100644 --- a/.config/nvim/lua/goodhumored/common-vim-settings.lua +++ b/.config/nvim/lua/goodhumored/common-vim-settings.lua @@ -38,7 +38,7 @@ vim.opt.ignorecase = true vim.opt.smartcase = true -- Keep signcolumn on by default -vim.opt.signcolumn = "number" +-- vim.opt.signcolumn = "number" -- Removes ~ after file end vim.opt.fillchars:append({ eob = " " }) diff --git a/.config/nvim/lua/goodhumored/integrations/ai.lua b/.config/nvim/lua/goodhumored/integrations/ai.lua index 16cb471..638783b 100644 --- a/.config/nvim/lua/goodhumored/integrations/ai.lua +++ b/.config/nvim/lua/goodhumored/integrations/ai.lua @@ -7,102 +7,166 @@ local function getOpenRouterModel(model) } end +local function enabledCond(env) + local fullEnv = "NVIM_USE_" .. env + local value = vim.uv.os_getenv(fullEnv) == "true" + if value == true then + return true + end + return false +end + return { - "yetone/avante.nvim", - event = "VeryLazy", - enabled = true, - cond = function() - return vim.uv.os_getenv("OPENROUTER_API_KEY") ~= nil - end, - version = false, -- Never set this value to "*"! Never! - opts = { - mode = "agentic", - auto_suggestions_provider = "codestral", - cursor_applying_provider = nil, - provider = "codestral", - vendors = { - ["claude"] = getOpenRouterModel("anthropic/claude-3.7-sonnet"), - ["codestral"] = getOpenRouterModel("mistralai/codestral-2501"), - ["qwen32"] = getOpenRouterModel("qwen/qwen-2.5-coder-32b-instruct"), - ["qwen7"] = getOpenRouterModel("qwen/qwen2.5-coder-7b-instruct"), - }, - behaviour = { - auto_suggestions = true, -- Experimental stage - enable_cursor_planning_mode = true, - auto_set_highlight_group = true, - auto_set_keymaps = true, - auto_apply_diff_after_generation = false, - support_paste_from_clipboard = false, - minimize_diff = true, -- Whether to remove unchanged lines when applying a code block - enable_token_counting = true, -- Whether to enable token counting. Default to true. - }, - mappings = { - --- @class AvanteConflictMappings - diff = { - ours = "co", - theirs = "ct", - all_theirs = "ca", - both = "cb", - cursor = "cc", - next = "]x", - prev = "[x", + -- ╭─────────────────────────────────────────────────────────╮ + -- │ copilot (Enabled) │ + -- ╰─────────────────────────────────────────────────────────╯ + { + "github/copilot.vim", + cond = enabledCond("COPILOT"), -- don't need this at all + lazy = false, + init = function() + vim.g.copilot_no_tab_map = true + vim.g.copilot_filetypes = { + ["markdown"] = false, -- Disables Copilot for .md files + } + vim.g.copilot_workspace_folders = { + "~/Job/dipal/repos/Fox/Makaw/", + "~/Job/dipal/repos/Fox/Fawn/", + "~/Job/dipal/repos/Kaiser/Zoo/", + "~/Job/dipal/repos/Kaiser/Iguana/", + "~/Job/dipal/repos/Kaiser/Crow/", + "~/Job/dipal/repos/Kaiser/Loki/", + "~/Job/dipal/repos/Kaiser/Janus/", + "~/Job/dipal/repos/dipal-common/", + "~/Job/dipal/repos/Kaiser/Sphinx/", + "~/Job/dipal/repos/Kaiser/Lyonid/", + "~/Job/dipal/repos/Kaiser/Belfort/", + "~/Job/dipal/repos/Kaiser/Pigeons/", + "~/Job/dipal/repos/Kaiser/Pyrador/", + "~/Job/dipal/repos/Kaiser/Goose/", + "~/Job/dipal/repos/Kaiser/Odysseus/", + } + end, + keys = { + { + "", + "copilot#Accept()", + mode = "i", + desc = "Accept Copilot suggestion", + replace_keycodes = false, + expr = true, }, - suggestion = { - accept = "", - next = "", - prev = "", - dismiss = "", + { "", "(copilot-accept-word)", mode = "i", desc = "Accept Copilot word" }, + { "", "(copilot-next)", mode = "i", desc = "Next Copilot suggestion" }, + { + "", + "(copilot-previous)", + mode = "i", + desc = "Previous Copilot suggestion", }, - jump = { - next = "]]", - prev = "[[", - }, - submit = { - normal = "", - insert = "", - }, - cancel = { - normal = { "", "", "q" }, - insert = { "" }, - }, - }, - hints = { enabled = true }, - suggestion = { - debounce = 400, - throttle = 400, + { "cc", ":Copilot", desc = "Toggle Copilot" }, }, }, - -- if you want to build from source then do `make BUILD_FROM_SOURCE=true` - build = "make", - -- build = "powershell -ExecutionPolicy Bypass -File Build.ps1 -BuildFromSource false" -- for windows - dependencies = { - "nvim-treesitter/nvim-treesitter", - "stevearc/dressing.nvim", - "nvim-lua/plenary.nvim", - "MunifTanjim/nui.nvim", - --- The below dependencies are optional, - -- "echasnovski/mini.pick", -- for file_selector provider mini.pick - "nvim-telescope/telescope.nvim", -- for file_selector provider telescope - -- "hrsh7th/nvim-cmp", -- autocompletion for avante commands and mentions - -- "ibhagwan/fzf-lua", -- for file_selector provider fzf - "nvim-tree/nvim-web-devicons", -- or echasnovski/mini.icons - -- "zbirenbaum/copilot.lua", -- for providers='copilot' - -- { - -- -- support for image pasting - -- "HakonHarnes/img-clip.nvim", - -- event = "VeryLazy", - -- opts = { - -- -- recommended settings - -- default = { - -- embed_image_as_base64 = false, - -- prompt_for_file_name = false, - -- drag_and_drop = { - -- insert_mode = true, - -- }, - -- -- required for Windows users - -- use_absolute_path = true, - -- }, - -- }, - -- }, + -- ╭─────────────────────────────────────────────────────────╮ + -- │ avante (Disabled) │ + -- ╰─────────────────────────────────────────────────────────╯ + { + "yetone/avante.nvim", + event = "VeryLazy", + enabled = false, + cond = function() + return vim.uv.os_getenv("OPENROUTER_API_KEY") ~= nil + end, + version = false, -- Never set this value to "*"! Never! + opts = { + mode = "agentic", + auto_suggestions_provider = "codestral", + cursor_applying_provider = nil, + provider = "codestral", + vendors = { + ["claude"] = getOpenRouterModel("anthropic/claude-3.7-sonnet"), + ["codestral"] = getOpenRouterModel("mistralai/codestral-2501"), + ["qwen32"] = getOpenRouterModel("qwen/qwen-2.5-coder-32b-instruct"), + ["qwen7"] = getOpenRouterModel("qwen/qwen2.5-coder-7b-instruct"), + }, + behaviour = { + auto_suggestions = true, -- Experimental stage + enable_cursor_planning_mode = true, + auto_set_highlight_group = true, + auto_set_keymaps = true, + auto_apply_diff_after_generation = false, + support_paste_from_clipboard = false, + minimize_diff = true, -- Whether to remove unchanged lines when applying a code block + enable_token_counting = true, -- Whether to enable token counting. Default to true. + }, + mappings = { + --- @class AvanteConflictMappings + diff = { + ours = "co", + theirs = "ct", + all_theirs = "ca", + both = "cb", + cursor = "cc", + next = "]x", + prev = "[x", + }, + suggestion = { + accept = "", + next = "", + prev = "", + dismiss = "", + }, + jump = { + next = "]]", + prev = "[[", + }, + submit = { + normal = "", + insert = "", + }, + cancel = { + normal = { "", "", "q" }, + insert = { "" }, + }, + }, + hints = { enabled = true }, + suggestion = { + debounce = 400, + throttle = 400, + }, + }, + -- if you want to build from source then do `make BUILD_FROM_SOURCE=true` + build = "make", + -- build = "powershell -ExecutionPolicy Bypass -File Build.ps1 -BuildFromSource false" -- for windows + dependencies = { + "nvim-treesitter/nvim-treesitter", + "stevearc/dressing.nvim", + "nvim-lua/plenary.nvim", + "MunifTanjim/nui.nvim", + --- The below dependencies are optional, + -- "echasnovski/mini.pick", -- for file_selector provider mini.pick + "nvim-telescope/telescope.nvim", -- for file_selector provider telescope + -- "hrsh7th/nvim-cmp", -- autocompletion for avante commands and mentions + -- "ibhagwan/fzf-lua", -- for file_selector provider fzf + "nvim-tree/nvim-web-devicons", -- or echasnovski/mini.icons + -- "zbirenbaum/copilot.lua", -- for providers='copilot' + -- { + -- -- support for image pasting + -- "HakonHarnes/img-clip.nvim", + -- event = "VeryLazy", + -- opts = { + -- -- recommended settings + -- default = { + -- embed_image_as_base64 = false, + -- prompt_for_file_name = false, + -- drag_and_drop = { + -- insert_mode = true, + -- }, + -- -- required for Windows users + -- use_absolute_path = true, + -- }, + -- }, + -- }, + }, }, } diff --git a/.config/nvim/lua/goodhumored/languages/markdown/obsidian-nvim.lua b/.config/nvim/lua/goodhumored/languages/markdown/obsidian-nvim.lua index 2284989..2d56115 100644 --- a/.config/nvim/lua/goodhumored/languages/markdown/obsidian-nvim.lua +++ b/.config/nvim/lua/goodhumored/languages/markdown/obsidian-nvim.lua @@ -42,24 +42,67 @@ return { end, opts = { noremap = false, expr = true, buffer = true }, }, + ["oe"] = { + action = function() + return vim.cmd("ObsidianExtractNote") + end, + opts = { noremap = true, buffer = true, desc = "[O]bsidian [E]xtract note" }, + }, + ["os"] = { + action = function() + return vim.cmd("ObsidianSearch") + end, + opts = { noremap = true, buffer = true, desc = "[O]bsidian [S]earch note" }, + }, + ["oi"] = { + action = function() + return require("obsidian").get_client():open_note("inbox.md") + end, + opts = { noremap = true, buffer = true, desc = "[O]bsidian open [I]nbox note" }, + }, + ["ojt"] = { + action = function() + return vim.cmd("ObsidianToday") + end, + opts = { noremap = true, buffer = true, desc = "Open [t]oday's daily note" }, + }, ["njt"] = { action = function() return vim.cmd("ObsidianToday") end, opts = { noremap = true, buffer = true, desc = "Open [t]oday's daily note" }, }, + ["ojT"] = { + action = function() + return vim.cmd("ObsidianTomorrow") + end, + opts = { noremap = true, buffer = true, desc = "Open [t]omorrow's daily note" }, + }, ["njT"] = { action = function() return vim.cmd("ObsidianTomorrow") end, opts = { noremap = true, buffer = true, desc = "Open [t]omorrow's daily note" }, }, + ["ojy"] = { + action = function() + return vim.cmd("ObsidianYesterday") + end, + opts = { noremap = true, buffer = true, desc = "Open [y]esterday's daily note" }, + }, + ["njy"] = { action = function() return vim.cmd("ObsidianYesterday") end, opts = { noremap = true, buffer = true, desc = "Open [y]esterday's daily note" }, }, + ["oj"] = { + action = function() + return vim.cmd("ObsidianDailies") + end, + opts = { noremap = true, buffer = true, desc = "Obsidian dailies" }, + }, ["nj"] = { action = function() return vim.cmd("ObsidianDailies") @@ -103,9 +146,9 @@ return { -- Optional, if you keep daily notes in a separate directory. folder = "daily", -- Optional, if you want to change the date format for the ID of daily notes. - date_format = "%Y-%m-%d-[%a№%W]", + date_format = "%Y-%m-%d-%a", -- Optional, if you want to change the date format of the default alias of daily notes. - alias_format = " %-d %B %Y [%a№%W], %A", + alias_format = " %-d %B %Y [%a], %A", -- Optional, default tags to add to each new daily note created. default_tags = { "daily-notes" }, -- Optional, if you want to automatically insert a template from your template directory like 'daily.md' diff --git a/.config/yazi/init.lua b/.config/yazi/init.lua index 3eed73c..dd07076 100644 --- a/.config/yazi/init.lua +++ b/.config/yazi/init.lua @@ -44,16 +44,16 @@ table.insert(bookmarks, { key = "t", }) -require("yamb"):setup({ - -- Optional, the path ending with path seperator represents folder. - bookmarks = bookmarks, - -- Optional, recieve notification everytime you jump. - jump_notify = true, - -- Optional, the cli of fzf. - cli = "fzf", - -- Optional, a string used for randomly generating keys, where the preceding characters have higher priority. - keys = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ", - -- Optional, the path of bookmarks - path = (ya.target_family() == "windows" and os.getenv("APPDATA") .. "\\yazi\\config\\bookmark") - or (os.getenv("HOME") .. "/.config/yazi/bookmark"), -}) +-- require("yamb"):setup({ +-- -- Optional, the path ending with path seperator represents folder. +-- bookmarks = bookmarks, +-- -- Optional, recieve notification everytime you jump. +-- jump_notify = true, +-- -- Optional, the cli of fzf. +-- cli = "fzf", +-- -- Optional, a string used for randomly generating keys, where the preceding characters have higher priority. +-- keys = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ", +-- -- Optional, the path of bookmarks +-- path = (ya.target_family() == "windows" and os.getenv("APPDATA") .. "\\yazi\\config\\bookmark") +-- or (os.getenv("HOME") .. "/.config/yazi/bookmark"), +-- }) diff --git a/.config/yazi/keymap.toml b/.config/yazi/keymap.toml index 5090425..b9ed016 100644 --- a/.config/yazi/keymap.toml +++ b/.config/yazi/keymap.toml @@ -1,67 +1,67 @@ -[[manager.prepend_keymap]] +[[mgr.prepend_keymap]] on = [ "" ] run = "enter" desc = "Enter the child directory" -[[manager.prepend_keymap]] +[[mgr.prepend_keymap]] on = [""] run = "back" desc = "Jump back" -[[manager.prepend_keymap]] +[[mgr.prepend_keymap]] on = [ "g", "c" ] run = "cd ~/dotfiles/" desc = "Go to the config directory" # ───────────────────────────── jump to char ───────────────────────────── -[[manager.prepend_keymap]] +[[mgr.prepend_keymap]] on = "f" run = "plugin jump-to-char" desc = "Jump to char" # ─────────────────────────────── Compress ─────────────────────────────── -[[manager.prepend_keymap]] +[[mgr.prepend_keymap]] on = ["C"] run = "plugin ouch --args=zip" desc = "Compress with ouch" # ────────────────────────────── bookmarks ──────────────────────────── -[[manager.prepend_keymap]] +[[mgr.prepend_keymap]] on = [ "m" ] run = "plugin yamb --args=save" desc = "Add bookmark" -[[manager.prepend_keymap]] +[[mgr.prepend_keymap]] on = [ "'" ] run = "plugin yamb --args=jump_by_key" desc = "Jump bookmark by key" -[[manager.prepend_keymap]] +[[mgr.prepend_keymap]] on = [ "\"" ] run = "plugin yamb --args=jump_by_fzf" desc = "Jump bookmark by fzf" -[[manager.prepend_keymap]] +[[mgr.prepend_keymap]] on = [ "b", "d" ] run = "plugin yamb --args=delete_by_key" desc = "Delete bookmark by key" -[[manager.prepend_keymap]] +[[mgr.prepend_keymap]] on = [ "b", "f" ] run = "plugin yamb --args=delete_by_fzf" desc = "Delete bookmark by fzf" -[[manager.prepend_keymap]] +[[mgr.prepend_keymap]] on = [ "b", "D" ] run = "plugin yamb --args=delete_all" desc = "Delete all bookmarks" -[[manager.prepend_keymap]] +[[mgr.prepend_keymap]] on = [ "b", "r" ] run = "plugin yamb --args=rename_by_key" desc = "Rename bookmark by key" -[[manager.prepend_keymap]] +[[mgr.prepend_keymap]] on = [ "b", "R" ] run = "plugin yamb --args=rename_by_fzf" desc = "Rename bookmark by fzf" diff --git a/.config/yazi/keymap.toml-1752077085667499 b/.config/yazi/keymap.toml-1752077085667499 new file mode 100644 index 0000000..5090425 --- /dev/null +++ b/.config/yazi/keymap.toml-1752077085667499 @@ -0,0 +1,67 @@ +[[manager.prepend_keymap]] +on = [ "" ] +run = "enter" +desc = "Enter the child directory" + +[[manager.prepend_keymap]] +on = [""] +run = "back" +desc = "Jump back" + +[[manager.prepend_keymap]] +on = [ "g", "c" ] +run = "cd ~/dotfiles/" +desc = "Go to the config directory" + +# ───────────────────────────── jump to char ───────────────────────────── +[[manager.prepend_keymap]] +on = "f" +run = "plugin jump-to-char" +desc = "Jump to char" + +# ─────────────────────────────── Compress ─────────────────────────────── +[[manager.prepend_keymap]] +on = ["C"] +run = "plugin ouch --args=zip" +desc = "Compress with ouch" + +# ────────────────────────────── bookmarks ──────────────────────────── +[[manager.prepend_keymap]] +on = [ "m" ] +run = "plugin yamb --args=save" +desc = "Add bookmark" + +[[manager.prepend_keymap]] +on = [ "'" ] +run = "plugin yamb --args=jump_by_key" +desc = "Jump bookmark by key" + +[[manager.prepend_keymap]] +on = [ "\"" ] +run = "plugin yamb --args=jump_by_fzf" +desc = "Jump bookmark by fzf" + +[[manager.prepend_keymap]] +on = [ "b", "d" ] +run = "plugin yamb --args=delete_by_key" +desc = "Delete bookmark by key" + +[[manager.prepend_keymap]] +on = [ "b", "f" ] +run = "plugin yamb --args=delete_by_fzf" +desc = "Delete bookmark by fzf" + +[[manager.prepend_keymap]] +on = [ "b", "D" ] +run = "plugin yamb --args=delete_all" +desc = "Delete all bookmarks" + +[[manager.prepend_keymap]] +on = [ "b", "r" ] +run = "plugin yamb --args=rename_by_key" +desc = "Rename bookmark by key" + +[[manager.prepend_keymap]] +on = [ "b", "R" ] +run = "plugin yamb --args=rename_by_fzf" +desc = "Rename bookmark by fzf"