8 files changed,
96 insertions(+),
75 deletions(-)
Author:
Oleksandr Smirnov
olexsmir@gmail.com
Committed at:
2026-09-30 23:26:02 +0300
Authored at:
2026-09-30 23:13:55 +0300
Parent:
5fb063a
M
config/niri/config.kdl
··· 6 6 environment { 7 7 XDG_CURRENT_DESKTOP "niri" 8 8 ELECTRON_OZONE_PLATFORM_HINT "auto" 9 - DISPLAY null 9 + DISPLAY ":0" 10 10 GTK_IM_MODULE "simple" 11 11 MOZ_ENABLE_WAYLAND "1" 12 12 QT_QPA_PLATFORM "wayland;xcb" ··· 151 151 match app-id="KeePassXC" 152 152 match app-id="obsidian" 153 153 match app-id="org.telegram.desktop" 154 + match title="^Google Calendar " 154 155 block-out-from "screen-capture" 155 156 } 156 157 ··· 169 170 // }}} 170 171 // keybinds {{{ 171 172 binds { 173 + Mod+Return { spawn "wezterm"; } 172 174 Mod+q { close-window; } 175 + Mod+w { spawn "helium-browser"; } 176 + Mod+a { spawn "anki"; } 177 + Mod+s { spawn "sioyek"; } 173 178 Mod+d { spawn "noctalia" "msg" "notification-clear-active"; } 179 + Mod+m { spawn "Telegram"; } 180 + 174 181 Mod+Alt+l { spawn "noctalia" "msg" "session" "lock"; } 175 - Mod+Shift+Escape { spawn "noctalia" "msg" "panel-toggle" "session"; } 176 182 Mod+Shift+Return { spawn "noctalia" "msg" "panel-toggle" "launcher"; } 177 183 178 - Mod+Return { spawn "wezterm"; } 179 - Mod+Shift+a { spawn "anki"; } 180 - Mod+Shift+d { spawn "discord"; } 181 - Mod+Shift+s { spawn "sioyek"; } 182 - Mod+Shift+t { spawn "Telegram"; } 183 - Mod+Shift+w { spawn "helium-browser"; } 184 - 185 - // func keys {{{ 184 + // func keys {{ 186 185 XF86AudioRaiseVolume allow-when-locked=true { spawn "noctalia" "msg" "volume-up"; } 187 186 XF86AudioLowerVolume allow-when-locked=true { spawn "noctalia" "msg" "volume-down"; } 188 187 XF86AudioMute allow-when-locked=true { spawn "noctalia" "msg" "volume-mute"; } ··· 199 198 Ctrl+Print { screenshot-screen; } 200 199 // }}} 201 200 // wm {{{ 202 - Mod+O repeat=false { toggle-overview; } 201 + Mod+o repeat=false { toggle-overview; } 203 202 Alt+Tab { focus-window-previous; } 204 203 205 204 // window management
M
config/nvim/colors/kolir.lua
··· 12 12 danger = "#db6f6f", -- errors, deletions 13 13 } 14 14 else 15 - require "kolir" { 16 - fg = "#774f38", 17 - bg = "#f7efdf", 18 - primary = "#308444", 19 - secondary = "#b95942", 20 - muted = "#308090", 21 - marker = "#878787", 22 - danger = "#f10000", 15 + require "kolir" { -- source: github.com/projekt0n/github-nvim-theme 16 + fg = "#1f2328", 17 + bg = "#f6f8fa", 18 + primary = "#0969da", 19 + secondary = "#116329", 20 + muted = "#8a3a30", -- keyword brick red 21 + marker = "#0550ae", 22 + danger = "#b03b2c", -- error terracotta 23 23 } 24 24 end
A
config/nvim/colors/y9nika.lua
··· 1 +-- https://github.com/y9san9/y9nika.nvim/tree/main/colors/y9nika.lua 2 +vim.cmd.highlight "clear" 3 +if vim.fn.exists "syntax_on" then vim.cmd.syntax "reset" end 4 +vim.g.colors_name = "y9nika" 5 +if vim.o.background == "dark" then 6 + require "kolir" { 7 + bg = "#0e1415", 8 + fg = "#dddddd", 9 + primary = "#71ade7", 10 + secondary = "#95cb82", 11 + muted = "#aaaaaa", 12 + marker = "#dfdf8e", 13 + danger = "#db6f6f", 14 + } 15 +else 16 + require "kolir" { 17 + bg = "#f7f7f7", 18 + fg = "#222222", 19 + primary = "#325cc0", 20 + secondary = "#448c27", 21 + marker = "#aa3731", 22 + muted = "#666666", 23 + danger = "#b03b2c", 24 + } 25 +end
M
config/nvim/init.lua
··· 168 168 vim.cmd.copen() 169 169 end) 170 170 171 -Config.map("n", "<C-n>", function() vim.cmd "silent! 1argument" end) 172 -Config.map("n", "<C-m>", function() vim.cmd "silent! 2argument" end) 173 -Config.map("n", "<C-,>", function() vim.cmd "silent! 3argument" end) 174 -Config.map("n", "<C-.>", function() vim.cmd "silent! 4argument" end) 171 +for i = 1, 5 do Config.map("n", ("<C-%d>"):format(i), ("<cmd>%dtabnext<cr>"):format(i)) end 172 + 173 +Config.map("n", "<M-u>", function() vim.cmd "silent! 1argument" end) 174 +Config.map("n", "<M-i>", function() vim.cmd "silent! 2argument" end) 175 +Config.map("n", "<M-o>", function() vim.cmd "silent! 3argument" end) 176 +Config.map("n", "<M-.>", function() vim.cmd "silent! 4argument" end) 175 177 Config.map("n", "<leader>a", function() 176 178 vim.cmd("argadd %") 177 179 vim.cmd("argdedup") ··· 255 257 } 256 258 end) 257 259 258 -vim.cmd.packadd "viye" 260 +-- vim.cmd.packadd "viye" 259 261 Config.later(function() 260 262 -- HACK: wait till https://github.com/neovim/neovim/pull/37727 gets merged 261 263 -- ln -s ~/code/gopher.nvim ~/.local/share/nvim/site/pack/my-plugins/opt/gopher.nvim
M
config/nvim/nvim-pack-lock.json
··· 21 21 "version": ">=0.0.0" 22 22 }, 23 23 "nvim-treesitter": { 24 - "rev": "074aa4422bf029908338e855d0c0f71470a971bb", 24 + "rev": "25a9b06a09ea4e10712bec37e7b7d9f423262b91", 25 25 "src": "https://github.com/nvim-treesitter/nvim-treesitter", 26 26 "version": "'main'" 27 27 },
M
config/nvim/plugin/gitsigns.lua
··· 11 11 Config.map("n", "<leader>gr", wrap "reset_hunk") 12 12 Config.map("n", "<leader>gb", wrap "blame") 13 13 14 -Config.later(function() 14 +vim.schedule(function() 15 15 require("gitsigns").setup { 16 - signs = { 17 - add = { text = "" }, 18 - change = { text = "" }, 19 - delete = { text = "" }, 20 - topdelete = { text = "" }, 21 - changedelete = { text = "" }, 22 - untracked = { text = "" }, 23 - }, 16 + numhl = true, 17 + signcolumn = false, 24 18 current_line_blame = true, 25 19 current_line_blame_opts = { 26 20 virt_text_pos = "eol",
M
config/nvim/plugin/mini.lua
··· 21 21 highlighters = { 22 22 hex_color = require("mini.hipatterns").gen_highlighter.hex_color(), 23 23 fixme = hi_words({ "FIXME" }, "MiniHipatternsFixme"), 24 - todo = hi_words({ "TODO", "Todo" }, "MiniHipatternsTodo"), 24 + todo = hi_words({ "TODO" }, "MiniHipatternsTodo"), 25 25 note = hi_words({ "NOTE" }, "MiniHipatternsNote"), 26 26 hack = hi_words({ "HACK" }, "MiniHipatternsHack"), 27 27 },
M
config/wezterm/wezterm.lua
··· 1 -local W = require "wezterm" 2 -local c = W.config_builder() 1 +local w = require "wezterm" 2 +local a = w.action 3 +local c = w.config_builder() 3 4 4 5 c.default_prog = { "fish" } 6 +c.scrollback_lines = 10000 5 7 6 8 c.color_scheme = "Tokyo Night" 7 -c.font = W.font "JetBrains Mono" -- c.font = W.font "Maple Mono" 9 +c.font = w.font "JetBrains Mono" 8 10 c.font_size = 12.4 9 --- c.line_height = 1.05 10 11 11 12 c.default_cursor_style = "BlinkingBar" 12 13 c.cursor_blink_rate = 0 ··· 20 21 21 22 -- keys 22 23 local function enter_mode(name, action) 23 - return W.action.Multiple { 24 + return a.Multiple { 24 25 action, 25 - W.action.ActivateKeyTable { name = name, one_shot = false }, 26 + a.ActivateKeyTable { name = name, one_shot = false }, 26 27 } 27 28 end 28 29 local function resize_entry(dir) 29 - return enter_mode("resize_pane", W.action.AdjustPaneSize { dir, 2 }) 30 + return enter_mode("resize_pane", a.AdjustPaneSize { dir, 2 }) 30 31 end 31 32 local function move_tab_entry(rel) 32 - return enter_mode("move_tab", W.action.MoveTabRelative(rel)) 33 + return enter_mode("move_tab", a.MoveTabRelative(rel)) 33 34 end 34 35 35 36 c.leader = { mods = "CTRL", key = "t", timeout_milliseconds = 400 } 36 37 c.keys = { 37 - { mods = "ALT", key = "1", action = W.action.ActivateTab(0) }, 38 - { mods = "ALT", key = "2", action = W.action.ActivateTab(1) }, 39 - { mods = "ALT", key = "3", action = W.action.ActivateTab(2) }, 40 - { mods = "ALT", key = "4", action = W.action.ActivateTab(3) }, 41 - { mods = "ALT", key = "5", action = W.action.ActivateTab(4) }, 42 - { mods = "ALT", key = "6", action = W.action.ActivateTab(5) }, 43 - { mods = "ALT", key = "7", action = W.action.ActivateTab(6) }, 44 - { mods = "ALT", key = "8", action = W.action.ActivateTab(7) }, 45 - { mods = "ALT", key = "9", action = W.action.ActivateTab(8) }, 46 - { mods = "CTRL", key = "=", action = W.action.IncreaseFontSize }, 47 - { mods = "CTRL", key = "-", action = W.action.DecreaseFontSize }, 48 - { mods = "CTRL", key = "0", action = W.action.ResetFontSize }, 49 - { mods = "LEADER", key = "t", action = W.action.SpawnCommandInNewTab {} }, 50 - { mods = "LEADER", key = "w", action = W.action.CloseCurrentPane { confirm = false } }, 51 - { mods = "LEADER", key = "n", action = W.action.SplitHorizontal {} }, 52 - { mods = "LEADER", key = "N", action = W.action.SplitVertical {} }, 53 - { mods = "LEADER", key = "f", action = W.action.TogglePaneZoomState }, 54 - { mods = "LEADER", key = "/", action = W.action.ActivateCopyMode }, 38 + { mods = "ALT", key = "1", action = a.ActivateTab(0) }, 39 + { mods = "ALT", key = "2", action = a.ActivateTab(1) }, 40 + { mods = "ALT", key = "3", action = a.ActivateTab(2) }, 41 + { mods = "ALT", key = "4", action = a.ActivateTab(3) }, 42 + { mods = "ALT", key = "5", action = a.ActivateTab(4) }, 43 + { mods = "ALT", key = "6", action = a.ActivateTab(5) }, 44 + { mods = "ALT", key = "7", action = a.ActivateTab(6) }, 45 + { mods = "ALT", key = "8", action = a.ActivateTab(7) }, 46 + { mods = "ALT", key = "9", action = a.ActivateTab(8) }, 47 + { mods = "CTRL", key = "=", action = a.IncreaseFontSize }, 48 + { mods = "CTRL", key = "-", action = a.DecreaseFontSize }, 49 + { mods = "CTRL", key = "0", action = a.ResetFontSize }, 50 + { mods = "LEADER", key = "t", action = a.SpawnCommandInNewTab {} }, 51 + { mods = "LEADER", key = "w", action = a.CloseCurrentPane { confirm = false } }, 52 + { mods = "LEADER", key = "n", action = a.SplitHorizontal {} }, 53 + { mods = "LEADER", key = "N", action = a.SplitVertical {} }, 54 + { mods = "LEADER", key = "f", action = a.TogglePaneZoomState }, 55 + { mods = "LEADER", key = "/", action = a.ActivateCopyMode }, 55 56 { mods = "LEADER|SHIFT", key = "<", action = move_tab_entry(-1) }, 56 57 { mods = "LEADER|SHIFT", key = ">", action = move_tab_entry(1) }, 57 - { mods = "LEADER", key = "h", action = W.action.ActivatePaneDirection "Left" }, 58 - { mods = "LEADER", key = "j", action = W.action.ActivatePaneDirection "Down" }, 59 - { mods = "LEADER", key = "k", action = W.action.ActivatePaneDirection "Up" }, 60 - { mods = "LEADER", key = "l", action = W.action.ActivatePaneDirection "Right" }, 58 + { mods = "LEADER", key = "h", action = a.ActivatePaneDirection "Left" }, 59 + { mods = "LEADER", key = "j", action = a.ActivatePaneDirection "Down" }, 60 + { mods = "LEADER", key = "k", action = a.ActivatePaneDirection "Up" }, 61 + { mods = "LEADER", key = "l", action = a.ActivatePaneDirection "Right" }, 61 62 { mods = "LEADER", key = "LeftArrow", action = resize_entry "Left" }, 62 63 { mods = "LEADER", key = "DownArrow", action = resize_entry "Down" }, 63 64 { mods = "LEADER", key = "UpArrow", action = resize_entry "Up" }, ··· 67 68 c.key_tables = { 68 69 resize_pane = { 69 70 { key = "Escape", action = "PopKeyTable" }, 70 - { key = "LeftArrow", action = W.action.AdjustPaneSize { "Left", 2 } }, 71 - { key = "h", action = W.action.AdjustPaneSize { "Left", 2 } }, 72 - { key = "RightArrow", action = W.action.AdjustPaneSize { "Right", 2 } }, 73 - { key = "l", action = W.action.AdjustPaneSize { "Right", 2 } }, 74 - { key = "UpArrow", action = W.action.AdjustPaneSize { "Up", 2 } }, 75 - { key = "k", action = W.action.AdjustPaneSize { "Up", 2 } }, 76 - { key = "DownArrow", action = W.action.AdjustPaneSize { "Down", 2 } }, 77 - { key = "j", action = W.action.AdjustPaneSize { "Down", 2 } }, 71 + { key = "LeftArrow", action = a.AdjustPaneSize { "Left", 2 } }, 72 + { key = "h", action = a.AdjustPaneSize { "Left", 2 } }, 73 + { key = "RightArrow", action = a.AdjustPaneSize { "Right", 2 } }, 74 + { key = "l", action = a.AdjustPaneSize { "Right", 2 } }, 75 + { key = "UpArrow", action = a.AdjustPaneSize { "Up", 2 } }, 76 + { key = "k", action = a.AdjustPaneSize { "Up", 2 } }, 77 + { key = "DownArrow", action = a.AdjustPaneSize { "Down", 2 } }, 78 + { key = "j", action = a.AdjustPaneSize { "Down", 2 } }, 78 79 }, 79 80 move_tab = { 80 81 { key = "Escape", action = "PopKeyTable" }, 81 - { mods = "SHIFT", key = "<", action = W.action.MoveTabRelative(-1) }, 82 - { mods = "SHIFT", key = ">", action = W.action.MoveTabRelative(1) }, 82 + { mods = "SHIFT", key = "<", action = a.MoveTabRelative(-1) }, 83 + { mods = "SHIFT", key = ">", action = a.MoveTabRelative(1) }, 83 84 }, 84 85 } 85 86