testing testing, does this work?

declaring commit tracking bankruptcy. lots of changes

+273 -230
+38 -26
.config/hypr/hyprland.conf
··· 27 27 28 28 exec-once = swaync # notifications 29 29 exec-once = [workspace 1 silent] firefox 30 - exec-once = [workspace 3 silent] slack & clickup 30 + exec-once = [workspace 3 silent] slack 31 31 exec-once = waybar 32 32 exec-once = kdeconnectd 33 33 exec-once = copyq --start-server ··· 36 36 exec-once = hyprpaper 37 37 exec-once = hypridle 38 38 exec-once = udiskie # automount USB 39 - exec-once=dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP 39 + exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP 40 + exec-once = systemctl --user start pipewire wireplumber 41 + exec-once = systemctl --user start xdg-desktop-portal-hyprland 42 + exec-once = systemctl --user start xdg-desktop-portal 40 43 41 44 ############################# 42 45 ### ENVIRONMENT VARIABLES ### ··· 101 104 } 102 105 103 106 104 - layerrule = ignorezero, wofi 107 + # layerrule = ignorezero, wofi 105 108 106 109 107 110 # https://wiki.hyprland.org/Configuring/Variables/#animations ··· 151 154 misc { 152 155 force_default_wallpaper = 1 # Set to 0 or 1 to disable the anime mascot wallpapers 153 156 disable_hyprland_logo = true # If true disables the random hyprland logo / anime girl background. :( 157 + disable_splash_rendering = true 154 158 } 155 159 156 160 ··· 175 179 } 176 180 } 177 181 178 - # https://wiki.hyprland.org/Configuring/Variables/#gestures 179 - gestures { 180 - workspace_swipe = false 181 - } 182 182 183 183 # Example per-device config 184 184 # See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more ··· 199 199 bind = $mainMod, return, exec, $terminal 200 200 bind = $mainMod, Y, exec, $fileManager 201 201 bind = $mainMod, space, exec, $menu 202 - bind = $mainMod, n, exec, hyprlock 202 + bind = $mainMod SHIFT, Backspace, exec, hyprlock 203 203 bind = $mainMod, b, exec, firefox 204 204 bind = $mainMod, p, exec, grim -g "$(slurp)" - | swappy -f - 205 205 ··· 264 264 ### WINDOWS AND WORKSPACES ### 265 265 ############################## 266 266 267 - # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more 268 - # See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules 269 - 270 - #workspace rules 271 267 workspace = special:scratchpad, on-created-empty:[float] $terminal -e nvim /home/stunwin/Obsidian/vimvault/notes-home.md 272 - windowrulev2 = size 1800 800, center, workspace:special:scratchpad, class:^(kitty)$ 273 - 268 + windowrule { 269 + name = scratchpad 270 + size = 1000 1300 271 + center = on 272 + match:workspace = special:scratchpad 273 + match:class = ^(kitty)$ 274 + } 274 275 # apps what float 275 - windowrule = float, class:^(zoom)$ 276 - windowrule = float, class:^(hu.irl.cameractrls)$ 277 - windowrule = float, class:^(showmethekey-gtk)$ 278 - 279 - # Example windowrule v2 280 - # windowrulev2 = float,class:^(kitty)$,title:^(kitty)$ 276 + windowrule = match:title Cameractrls, float 1 277 + windowrule = match:class zoom, float 1 278 + windowrule = match:class ^(showmethekey-gtk)$, float 1 281 279 282 - # slack always lives on ws3 283 - windowrulev2 = workspace 3 silent, class:^(Slack)$ 280 + windowrule { 281 + name = slack_to_3 282 + workspace = 3 silent 283 + match:class = ^(Slack)$ 284 + } 284 285 286 + windowrule { 287 + name = ignore_maximize 288 + suppress_event = maximize 289 + match:class = .* 290 + } 285 291 286 - # Ignore maximize requests from apps. You'll probably like this. 287 - windowrulev2 = suppressevent maximize, class:.* 288 292 289 - # Fix some dragging issues with XWayland 290 - windowrulev2 = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0 293 + windowrule { 294 + name = fix_dragging_wayland 295 + no_focus = on 296 + match:class = ^$ 297 + match:title = ^$ 298 + match:xwayland = 1 299 + match:float = 1 300 + match:fullscreen = 0 301 + match:pin = 0 302 + }
+2 -2
.config/hypr/hyprlock.conf
··· 9 9 source = /home/stunwin/.config/hypr/colors.conf 10 10 11 11 $font = JetBrainsMono-NF-Medium 12 - $fightme = <i>we'll be right back...</i> 12 + $fightme = <i>don't panic!</i> 13 13 14 14 general { 15 15 hide_cursor = false ··· 100 100 label { 101 101 monitor = 102 102 text = $fightme 103 - font_size = 65 103 + font_size = 100 104 104 font_family = $font 105 105 color = $fg 106 106
+8 -2
.config/hypr/hyprpaper.conf
··· 1 + # preload = /home/stunwin/.config/hypr/pexels-cmonphotography-1809644.jpg 2 + # wallpaper = , /home/stunwin/.config/hypr/pexels-cmonphotography-1809644.jpg 3 + 1 4 2 - preload = /home/stunwin/.config/hypr/pexels-cmonphotography-1809644.jpg 3 - wallpaper = , /home/stunwin/.config/hypr/pexels-cmonphotography-1809644.jpg 5 + wallpaper { 6 + monitor = DP-4 7 + path = ~/.config/hypr/pexels-cmonphotography-1809644.jpg 8 + } 9 + splash = false
+11 -11
.config/nvim/lazy-lock.json
··· 1 1 { 2 2 "Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" }, 3 - "blink.cmp": { "branch": "main", "commit": "bae4bae0eedd1fa55f34b685862e94a222d5c6f8" }, 3 + "blink.cmp": { "branch": "main", "commit": "327fff91fe6af358e990be7be1ec8b78037d2138" }, 4 4 "conform.nvim": { "branch": "master", "commit": "b4aab989db276993ea5dcb78872be494ce546521" }, 5 5 "dressing.nvim": { "branch": "master", "commit": "2d7c2db2507fa3c4956142ee607431ddb2828639" }, 6 - "fidget.nvim": { "branch": "main", "commit": "4d5858bd4c471c895060e1b9f3575f1551184dc5" }, 6 + "fidget.nvim": { "branch": "main", "commit": "3f5475949679953af6d78654db29b944fa826e6a" }, 7 7 "friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" }, 8 8 "harpoon": { "branch": "harpoon2", "commit": "ed1f853847ffd04b2b61c314865665e1dadf22c7" }, 9 9 "indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" }, 10 10 "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }, 11 - "lazydev.nvim": { "branch": "main", "commit": "2367a6c0a01eb9edb0464731cc0fb61ed9ab9d2c" }, 11 + "lazydev.nvim": { "branch": "main", "commit": "258d2a5ef4a3e3d6d9ba9da72c9725c53e9afcbd" }, 12 12 "lilguys.nvim": { "branch": "main", "commit": "885d3a490029c19273103772b2005ef235d77c17" }, 13 - "mason-lspconfig.nvim": { "branch": "main", "commit": "1ec4da522fa49dcecee8d190efda273464dd2192" }, 13 + "mason-lspconfig.nvim": { "branch": "main", "commit": "a1067cf84b4ff81b66d2bf4d01f4cbdb5de40bd0" }, 14 14 "mason-nvim-dap.nvim": { "branch": "main", "commit": "86389a3dd687cfaa647b6f44731e492970034baa" }, 15 15 "mason-tool-installer.nvim": { "branch": "main", "commit": "517ef5994ef9d6b738322664d5fdd948f0fdeb46" }, 16 16 "mason.nvim": { "branch": "main", "commit": "7dc4facca9702f95353d5a1f87daf23d78e31c2a" }, ··· 18 18 "mini.nvim": { "branch": "main", "commit": "94cae4660a8b2d95dbbd56e1fbc6fcfa2716d152" }, 19 19 "nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" }, 20 20 "nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" }, 21 - "nvim-dap": { "branch": "master", "commit": "968f89f8aac11b6bdbfc942c71d3436658c1435f" }, 21 + "nvim-dap": { "branch": "master", "commit": "7367cec8e8f7a0b1e4566af9a7ef5959d11206a7" }, 22 22 "nvim-dap-go": { "branch": "main", "commit": "b4421153ead5d726603b02743ea40cf26a51ed5f" }, 23 23 "nvim-dap-ui": { "branch": "master", "commit": "cf91d5e2d07c72903d052f5207511bf7ecdb7122" }, 24 - "nvim-lint": { "branch": "master", "commit": "f126af5345c7472e9a0cdbe1d1a29209be72c4c4" }, 25 - "nvim-lspconfig": { "branch": "master", "commit": "52364267cd7edbc0e9b25ab3bfb1c8f45dd58fde" }, 24 + "nvim-lint": { "branch": "master", "commit": "0864f81c681e15d9bdc1156fe3a17bd07db5a3ed" }, 25 + "nvim-lspconfig": { "branch": "master", "commit": "aafecf5b8bc0a768f1a97e3a6d5441e64dee79f9" }, 26 26 "nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" }, 27 27 "nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" }, 28 - "nvim-ts-autotag": { "branch": "main", "commit": "a1d526af391f6aebb25a8795cbc05351ed3620b5" }, 29 - "nvim-web-devicons": { "branch": "master", "commit": "4ae47f4fb18e85b80e84b729974fe65483b06aaf" }, 28 + "nvim-ts-autotag": { "branch": "main", "commit": "c4ca798ab95b316a768d51eaaaee48f64a4a46bc" }, 29 + "nvim-web-devicons": { "branch": "master", "commit": "6e51ca170563330e063720449c21f43e27ca0bc1" }, 30 30 "obsidian.nvim": { "branch": "main", "commit": "705cc9b4f66eca1e54040ac819102e80a32896d3" }, 31 31 "one-small-step-for-vimkind": { "branch": "main", "commit": "91b4e0fb0d640def73812aceb22dafb99261dd67" }, 32 32 "onedark.nvim": { "branch": "master", "commit": "de495fabe171d48aed5525f002d14414efcecbb2" }, 33 33 "plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" }, 34 34 "quick-scope": { "branch": "master", "commit": "6cee1d9e0b9ac0fbffeb538d4a5ba9f5628fabbc" }, 35 35 "render-markdown.nvim": { "branch": "main", "commit": "c3012098bd44381e3b96bbbbbcc21a54d45a286c" }, 36 - "snacks.nvim": { "branch": "main", "commit": "bc0630e43be5699bb94dadc302c0d21615421d93" }, 36 + "snacks.nvim": { "branch": "main", "commit": "d67a47739dfc652cfcf66c59e929c704a854b37a" }, 37 37 "telescope-fzf-native.nvim": { "branch": "main", "commit": "1f08ed60cafc8f6168b72b80be2b2ea149813e55" }, 38 38 "telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" }, 39 39 "telescope.nvim": { "branch": "master", "commit": "b4da76be54691e854d3e0e02c36b0245f945c2c7" }, ··· 41 41 "toggleterm.nvim": { "branch": "main", "commit": "9a88eae817ef395952e08650b3283726786fb5fb" }, 42 42 "vim-sleuth": { "branch": "master", "commit": "be69bff86754b1aa5adcbb527d7fcd1635a84080" }, 43 43 "which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" }, 44 - "yazi.nvim": { "branch": "main", "commit": "66a659291f85517994886bb641567ce7c7d5368b" } 44 + "yazi.nvim": { "branch": "main", "commit": "4561da5c81900212a425a40cf5385679dd8e61c1" } 45 45 }
+2 -2
.config/nvim/lua/autocmd.lua
··· 23 23 vim.api.nvim_create_autocmd('FileType', { 24 24 pattern = 'markdown', 25 25 callback = function() 26 - vim.keymap.set('n', 'j', 'gj') 27 - vim.keymap.set('n', 'k', 'gk') 26 + vim.keymap.set({ 'n', 'v' }, 'j', 'gj') 27 + vim.keymap.set({ 'n', 'v' }, 'k', 'gk') 28 28 end, 29 29 })
+15 -15
.config/nvim/lua/keys.lua
··· 1 1 -- Set highlight on search, but clear on pressing <Esc> in normal mode 2 2 vim.keymap.set('n', '<Esc>', '<cmd>nohlsearch<CR>') 3 3 4 - -- Diagnostic keymaps 5 - vim.keymap.set('n', '<leader>tl', function() 6 - vim.diagnostic.enable(not vim.diagnostic.is_enabled()) 7 - end, { desc = '[T]oggle [L]SP Diagnostics' }) 8 - 9 - vim.keymap.set('n', '<leader>e', vim.diagnostic.open_float, { desc = 'Show diagnostic [E]rror messages' }) 10 - vim.keymap.set('n', '<leader>q', vim.diagnostic.setloclist, { desc = 'Open diagnostic [Q]uickfix list' }) 11 - 12 - -- NOTE: This won't work in all terminal emulators/tmux/etc. Try your own mapping 13 - -- or just use <C-\><C-n> to exit terminal mode 14 4 vim.keymap.set('t', '<Esc><Esc>', '<C-\\><C-n>', { desc = 'Exit terminal mode' }) 15 5 16 6 -- set default go-to-mark behavior for ' to jump to the cursor position 17 7 vim.keymap.set('n', "'", '`', { noremap = true }) 18 8 19 9 -- actual shortcuts 20 - vim.keymap.set({ 'n', 'v' }, '<leader>w', '<cmd>:w<CR>', { noremap = true }) 10 + vim.keymap.set({ 'n', 'v' }, '<leader>w', '<cmd>:w<CR>', { noremap = true, desc = '[W]rite File' }) 11 + vim.keymap.set('n', '<leader>e', vim.diagnostic.open_float, { desc = 'Show diagnostic [E]rror messages' }) 12 + vim.keymap.set('n', '<leader>q', vim.diagnostic.setloclist, { desc = 'Open diagnostic [Q]uickfix list' }) 13 + vim.keymap.set('n', '<leader>nt', '<Cmd>sp|te<CR>10<C-w>_', { desc = '[N]ew [T]erminal' }) 14 + vim.keymap.set('n', 'zz', 'za', { noremap = true, silent = true, desc = 'Toggle fold under cursor' }) 21 15 22 16 -- See `:help wincmd` for a list of all window commands 23 17 vim.keymap.set('n', '<C-h>', '<C-w><C-h>', { desc = 'Move focus to the left window' }) ··· 25 19 vim.keymap.set('n', '<C-j>', '<C-w><C-j>', { desc = 'Move focus to the lower window' }) 26 20 vim.keymap.set('n', '<C-k>', '<C-w><C-k>', { desc = 'Move focus to the upper window' }) 27 21 22 + -- NOTE: TOGGLES below here 23 + vim.keymap.set('n', '<leader>tl', function() 24 + vim.diagnostic.enable(not vim.diagnostic.is_enabled()) 25 + end, { desc = '[T]oggle [L]SP Diagnostics' }) 26 + 28 27 vim.keymap.set('n', '<leader>t', '', { desc = '[T]oggles' }) 28 + 29 29 vim.keymap.set('n', '<leader>ta', '<Cmd>Hardtime toggle<CR>', { desc = '[T]oggle H[a]rdtime' }) 30 - 31 - vim.keymap.set('n', '<leader>nt', '<Cmd>sp|te<CR>', { desc = '[N]ew [T]erminal' }) 30 + vim.keymap.set('n', '<leader>o', '', { desc = '[O]bsidian' }) 31 + vim.keymap.set('n', '<leader>oo', '<Cmd>Obsidian<CR>', { desc = '[O]bsidian menu' }) 32 + vim.keymap.set('n', '<leader>on', '<Cmd>Obsidian new<CR>', { desc = '[N]ew obsidian note' }) 33 + vim.keymap.set('n', '<leader>ot', '<Cmd>Obsidian toc<CR>', { desc = '[T]able of contents' }) 32 34 33 35 -- NOTE: this lil chunk here is to disable autoformatting when working on files with 34 36 -- weirdly-formatted arrays like keymaps ··· 50 52 end 51 53 52 54 vim.keymap.set('n', '<leader>tf', toggle_format, { noremap = true, silent = true, desc = '[T]oggle Auto[F]ormatting' }) 53 - 54 - vim.keymap.set('n', 'zz', 'za', { noremap = true, silent = true, desc = 'Toggle fold under cursor' }) 55 55 56 56 vim.api.nvim_create_user_command('FormatDisable', function(args) 57 57 if args.bang then
+3
.config/nvim/lua/plugins/conform.lua
··· 30 30 markdown = { 'markdownlint' }, 31 31 gdscript = { 'gdformat' }, 32 32 json = { 'fixjson' }, 33 + sql = { 'sqlfmt' }, 34 + css = { 'prettier' }, 35 + c = { 'clang-format' }, 33 36 }, 34 37 }, 35 38 }
+1
.config/nvim/lua/plugins/harpoon.lua
··· 1 1 return { 2 2 'ThePrimeagen/harpoon', 3 + enabled = true, 3 4 branch = 'harpoon2', 4 5 dependencies = { 'nvim-lua/plenary.nvim' }, 5 6 config = function()
+1 -1
.config/nvim/lua/plugins/lilguys.lua
··· 1 1 return { 2 - 'stunwin/lilguys.nvim', 2 + 'https://tangled.org/@stunwin.com/lilguys.nvim', 3 3 opts = { 4 4 keybind = '<leader>.', -- toggles a lil guy in at the front of the line. Respects whitespace. 5 5 insert_keybind = '<leader>,', -- adds a lil guy and a space right before your curor
+81 -69
.config/nvim/lua/plugins/lspconfig.lua
··· 20 20 -- 21 21 -- In this case, we create a function that lets us more easily define mappings specific 22 22 -- for LSP related items. It sets the mode, buffer and description for us each time. 23 - local map = function(keys, func, desc) 24 - vim.keymap.set('n', keys, func, { buffer = event.buf, desc = 'LSP: ' .. desc }) 23 + local map = function(keys, func, desc, mode) 24 + mode = mode or 'n' 25 + vim.keymap.set(mode, keys, func, { buffer = event.buf, desc = 'LSP: ' .. desc }) 25 26 end 26 27 27 - -- Jump to the definition of the word under your cursor. 28 - -- This is where a variable was first declared, or where a function is defined, etc. 29 - -- To jump back, press <C-t>. 30 - map('gd', require('telescope.builtin').lsp_definitions, '[G]oto [D]efinition') 28 + -- Rename the variable under your cursor. 29 + -- Most Language Servers support renaming across files, etc. 30 + map('grn', vim.lsp.buf.rename, '[R]e[n]ame') 31 + 32 + -- Execute a code action, usually your cursor needs to be on top of an error 33 + -- or a suggestion from your LSP for this to activate. 34 + map('gra', vim.lsp.buf.code_action, '[G]oto Code [A]ction', { 'n', 'x' }) 31 35 32 36 -- Find references for the word under your cursor. 33 - map('gr', require('telescope.builtin').lsp_references, '[G]oto [R]eferences') 37 + map('grr', require('telescope.builtin').lsp_references, '[G]oto [R]eferences') 34 38 35 39 -- Jump to the implementation of the word under your cursor. 36 40 -- Useful when your language has ways of declaring types without an actual implementation. 37 - map('gI', require('telescope.builtin').lsp_implementations, '[G]oto [I]mplementation') 41 + map('gri', require('telescope.builtin').lsp_implementations, '[G]oto [I]mplementation') 38 42 39 - -- Jump to the type of the word under your cursor. 40 - -- Useful when you're not sure what type a variable is and you want to see 41 - -- the definition of its *type*, not where it was *defined*. 42 - map('<leader>D', require('telescope.builtin').lsp_type_definitions, 'Type [D]efinition') 43 + -- Jump to the definition of the word under your cursor. 44 + -- This is where a variable was first declared, or where a function is defined, etc. 45 + -- To jump back, press <C-t>. 46 + map('grd', require('telescope.builtin').lsp_definitions, '[G]oto [D]efinition') 47 + 48 + -- WARN: This is not Goto Definition, this is Goto Declaration. 49 + -- For example, in C this would take you to the header. 50 + map('grD', vim.lsp.buf.declaration, '[G]oto [D]eclaration') 43 51 44 52 -- Fuzzy find all the symbols in your current document. 45 53 -- Symbols are things like variables, functions, types, etc. 46 - map('<leader>ds', require('telescope.builtin').lsp_document_symbols, '[D]ocument [S]ymbols') 54 + map('gO', require('telescope.builtin').lsp_document_symbols, 'Open Document Symbols') 47 55 48 56 -- Fuzzy find all the symbols in your current workspace. 49 57 -- Similar to document symbols, except searches over your entire project. 50 - map('<leader>ws', require('telescope.builtin').lsp_dynamic_workspace_symbols, '[W]orkspace [S]ymbols') 58 + map('gW', require('telescope.builtin').lsp_dynamic_workspace_symbols, 'Open Workspace Symbols') 51 59 52 - -- Rename the variable under your cursor. 53 - -- Most Language Servers support renaming across files, etc. 54 - map('<leader>rn', vim.lsp.buf.rename, '[R]e[n]ame') 60 + -- Jump to the type of the word under your cursor. 61 + -- Useful when you're not sure what type a variable is and you want to see 62 + -- the definition of its *type*, not where it was *defined*. 63 + map('grt', require('telescope.builtin').lsp_type_definitions, '[G]oto [T]ype Definition') 55 64 56 - -- Execute a code action, usually your cursor needs to be on top of an error 57 - -- or a suggestion from your LSP for this to activate. 58 - map('<leader>ca', vim.lsp.buf.code_action, '[C]ode [A]ction') 59 - 60 - -- Opens a popup that displays documentation about the word under your cursor 61 - -- See `:help K` for why this keymap. 62 - map('K', vim.lsp.buf.hover, 'Hover Documentation') 63 - 64 - -- WARN: This is not Goto Definition, this is Goto Declaration. 65 - -- For example, in C this would take you to the header. 66 - map('gD', vim.lsp.buf.declaration, '[G]oto [D]eclaration') 65 + -- This function resolves a difference between neovim nightly (version 0.11) and stable (version 0.10) 66 + ---@param client vim.lsp.Client 67 + ---@param method vim.lsp.protocol.Method 68 + ---@param bufnr? integer some lsp support methods only in specific files 69 + ---@return boolean 70 + local function client_supports_method(client, method, bufnr) 71 + if vim.fn.has 'nvim-0.11' == 1 then 72 + return client:supports_method(method, bufnr) 73 + else 74 + return client.supports_method(method, { bufnr = bufnr }) 75 + end 76 + end 67 77 68 78 -- The following two autocommands are used to highlight references of the 69 79 -- word under your cursor when your cursor rests there for a little while. ··· 71 81 -- 72 82 -- When you move your cursor, the highlights will be cleared (the second autocommand). 73 83 local client = vim.lsp.get_client_by_id(event.data.client_id) 74 - if client and client.server_capabilities.documentHighlightProvider then 84 + if client and client_supports_method(client, vim.lsp.protocol.Methods.textDocument_documentHighlight, event.buf) then 75 85 local highlight_augroup = vim.api.nvim_create_augroup('kickstart-lsp-highlight', { clear = false }) 76 86 vim.api.nvim_create_autocmd({ 'CursorHold', 'CursorHoldI' }, { 77 87 buffer = event.buf, ··· 84 94 group = highlight_augroup, 85 95 callback = vim.lsp.buf.clear_references, 86 96 }) 97 + 98 + vim.api.nvim_create_autocmd('LspDetach', { 99 + group = vim.api.nvim_create_augroup('kickstart-lsp-detach', { clear = true }), 100 + callback = function(event2) 101 + vim.lsp.buf.clear_references() 102 + vim.api.nvim_clear_autocmds { group = 'kickstart-lsp-highlight', buffer = event2.buf } 103 + end, 104 + }) 87 105 end 88 106 89 - -- The following autocommand is used to enable inlay hints in your 107 + -- The following code creates a keymap to toggle inlay hints in your 90 108 -- code, if the language server you are using supports them 91 109 -- 92 110 -- This may be unwanted, since they displace some of your code 93 - if client and client.server_capabilities.inlayHintProvider and vim.lsp.inlay_hint then 111 + if client and client_supports_method(client, vim.lsp.protocol.Methods.textDocument_inlayHint, event.buf) then 94 112 map('<leader>th', function() 95 - vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled()) 113 + vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled { bufnr = event.buf }) 96 114 end, '[T]oggle Inlay [H]ints') 97 115 end 98 116 end, 99 117 }) 100 118 101 - vim.api.nvim_create_autocmd('LspDetach', { 102 - group = vim.api.nvim_create_augroup('kickstart-lsp-detach', { clear = true }), 103 - callback = function(event) 104 - vim.lsp.buf.clear_references() 105 - vim.api.nvim_clear_autocmds { group = 'kickstart-lsp-highlight', buffer = event.buf } 106 - end, 107 - }) 108 - 109 119 local capabilities = vim.lsp.protocol.make_client_capabilities() 110 120 -- add autocomplete capes for cmp or blink 111 121 capabilities = vim.tbl_deep_extend('force', capabilities, require('blink.cmp').get_lsp_capabilities()) 112 122 113 - -- godot 114 - require('lspconfig').gdscript.setup(capabilities) 115 - 116 - -- manually adding gleam LSP because it's not in mason 117 - require('lspconfig').gleam.setup {} 123 + -- trying some new stuff for 0.11 124 + -- old config is: 125 + -- require('lspconfig').gleam.setup {} 126 + -- new config: 127 + -- these are lsp servers that, for one reason or another, don't work with mason 128 + local manual_servers = { 'gleam', 'gdscript', 'zig' } 129 + for _, server in ipairs(manual_servers) do 130 + vim.lsp.config(server, { capabilities = capabilities }) 131 + vim.lsp.enable(server) 132 + end 118 133 119 - local servers = 120 - { 121 - -- gleam = { mason = false }, 122 - pyright = { 123 - settings = { 124 - python = { 125 - diagnostics = { 126 - disable = { 'reportArgumentType', 'reportAssignmentType' }, 127 - }, 134 + local servers = { 135 + -- gleam = { mason = false }, 136 + pyright = { 137 + settings = { 138 + python = { 139 + diagnostics = { 140 + disable = { 'reportArgumentType', 'reportAssignmentType' }, 128 141 }, 129 142 }, 130 143 }, 144 + }, 131 145 132 - lua_ls = { 133 - settings = { 134 - Lua = { 135 - completion = { 136 - callSnippet = 'Replace', 137 - }, 138 - diagnostics = { 139 - disable = { 'lowercase-global' }, 140 - }, 141 - -- You can toggle below to ignore Lua_LS's noisy `missing-fields` warnings 142 - -- diagnostics = { disable = { 'missing-fields' } }, 146 + lua_ls = { 147 + settings = { 148 + Lua = { 149 + completion = { 150 + callSnippet = 'Replace', 151 + }, 152 + diagnostics = { 153 + disable = { 'lowercase-global' }, 143 154 }, 155 + -- You can toggle below to ignore Lua_LS's noisy `missing-fields` warnings 156 + -- diagnostics = { disable = { 'missing-fields' } }, 144 157 }, 145 158 }, 146 - }, require('mason').setup() 159 + }, 160 + } 147 161 148 162 -- You can add other tools here that you want Mason to install 149 163 -- for you, so that they are available from within Neovim. 150 164 local ensure_installed = vim.tbl_keys(servers or {}) 151 - vim.list_extend(ensure_installed, { 152 - 'stylua', -- Used to format Lua code 153 - }) 165 + vim.list_extend(ensure_installed, {}) 154 166 require('mason-tool-installer').setup { ensure_installed = ensure_installed } 155 167 156 168 require('mason-lspconfig').setup {
+1
.config/nvim/lua/plugins/micropython.lua
··· 1 1 return { 2 2 'jim-at-jibba/micropython.nvim', 3 + enabled = false, 3 4 dependencies = { 'akinsho/toggleterm.nvim', 'stevearc/dressing.nvim' }, 4 5 keys = { 5 6 {
+2 -1
.config/nvim/lua/plugins/telescope.lua
··· 42 42 43 43 -- See `:help telescope.builtin` 44 44 local builtin = require 'telescope.builtin' 45 + vim.keymap.set('n', '<leader>s', '', { desc = '[S]earch...' }) 45 46 vim.keymap.set('n', '<leader>sh', builtin.help_tags, { desc = '[S]earch [H]elp' }) 46 47 vim.keymap.set('n', '<leader>sk', builtin.keymaps, { desc = '[S]earch [K]eymaps' }) 47 48 vim.keymap.set('n', '<leader>sf', builtin.find_files, { desc = '[S]earch [F]iles' }) 48 49 vim.keymap.set('n', '<leader>ss', builtin.builtin, { desc = '[S]earch [S]elect Telescope' }) 49 50 vim.keymap.set('n', '<leader>sw', builtin.grep_string, { desc = '[S]earch current [W]ord' }) 50 - vim.keymap.set('n', '<leader>sg', builtin.live_grep, { desc = '[S]earch by [G]rep' }) 51 + vim.keymap.set('n', '<leader>sg', builtin.git_files, { desc = '[S]earch in [G]it repo' }) 51 52 vim.keymap.set('n', '<leader>sd', builtin.diagnostics, { desc = '[S]earch [D]iagnostics' }) 52 53 vim.keymap.set('n', '<leader>sr', builtin.resume, { desc = '[S]earch [R]esume' }) 53 54 vim.keymap.set('n', '<leader>s.', builtin.oldfiles, { desc = '[S]earch Recent Files ("." for repeat)' })
+17 -17
.config/nvim/lua/plugins/which-key.lua
··· 4 4 config = function() -- This is the function that runs, AFTER loading 5 5 require('which-key').setup() 6 6 7 - -- Document existing key chains 8 - keys = { 9 - { '<leader>c', group = '[C]ode' }, 10 - { '<leader>c_', hidden = true }, 11 - { '<leader>d', group = '[D]ocument' }, 12 - { '<leader>d_', hidden = true }, 13 - { '<leader>h', group = 'Git [H]unk' }, 14 - { '<leader>h_', hidden = true }, 15 - { '<leader>r', group = '[R]ename' }, 16 - { '<leader>r_', hidden = true }, 17 - { '<leader>s', group = '[S]earch' }, 18 - { '<leader>s_', hidden = true }, 19 - { '<leader>t', group = '[T]oggle' }, 20 - { '<leader>t_', hidden = true }, 21 - { '<leader>w', group = '[W]orkspace' }, 22 - { '<leader>w_', hidden = true }, 23 - } 7 + -- -- Document existing key chains 8 + -- keys = { 9 + -- { '<leader>c', group = '[C]ode' }, 10 + -- { '<leader>c_', hidden = true }, 11 + -- { '<leader>d', group = '[D]ocument' }, 12 + -- { '<leader>d_', hidden = true }, 13 + -- { '<leader>h', group = 'Git [H]unk' }, 14 + -- { '<leader>h_', hidden = true }, 15 + -- { '<leader>r', group = '[R]ename' }, 16 + -- { '<leader>r_', hidden = true }, 17 + -- { '<leader>s', group = '[S]earch' }, 18 + -- { '<leader>s_', hidden = true }, 19 + -- { '<leader>t', group = '[T]oggle' }, 20 + -- { '<leader>t_', hidden = true }, 21 + -- { '<leader>w', group = '[W]orkspace' }, 22 + -- { '<leader>w_', hidden = true }, 23 + -- } 24 24 25 25 -- visual mode 26 26 -- require('which-key').register({
+1 -1
.config/nvim/lua/settings.lua
··· 22 22 -- Keep signcolumn on by default 23 23 vim.opt.signcolumn = 'yes' 24 24 25 - -- Decrease update time 25 + -- Swap file refresh time 26 26 vim.opt.updatetime = 250 27 27 28 28 -- Decrease mapped sequence wait time
+1 -1
.config/waybar/config.jsonc
··· 91 91 }, 92 92 93 93 "custom/paru": { 94 - "format": "{} ", 94 + "format": "{} ", 95 95 "tooltip-format": "There are {} packages with available updates. Click to make it happen.", 96 96 "interval": 3600, 97 97 "exec": "paru -Qu | wc -l",
+1 -1
.config/waybar/custom/player.sh
··· 6 6 7 7 # If no player found 8 8 if [ -z "$player" ]; then 9 - echo "{\"text\": \" No media\", \"tooltip\": \"Nothing playing\"}" 9 + echo "{\"text\": \" No media\", \"tooltip\": \"Nothing playing\"}" 10 10 exit 11 11 fi 12 12
+74 -80
.config/waybar/style.css
··· 1 1 @import url("colors.css"); 2 2 3 3 * { 4 - /* `otf-font-awesome` is required to be installed for icons */ 5 - font-family: FontAwesome, JetBrainsMono-NF-Medium; 6 - font-size: 18px; 4 + /* `otf-font-awesome` is required to be installed for icons */ 5 + /* font-family: FontAwesome, JetBrainsMono-NF-Medium; */ 6 + font-family: "Monaspace Nerd Font"; 7 + font-size: 18px; 7 8 } 8 9 9 10 window#waybar { 10 - /* margin-top: 5px; */ 11 - /* border-top: 2px solid @fg; */ 12 - background-color: @bg; 13 - border-bottom: 3px solid @bg_d; 14 - color: @fg; 15 - transition-property: background-color; 16 - transition-duration: .5s; 11 + /* margin-top: 5px; */ 12 + /* border-top: 2px solid @fg; */ 13 + background-color: @bg; 14 + border-bottom: 3px solid @bg_d; 15 + color: @fg; 16 + transition-property: background-color; 17 + transition-duration: 0.5s; 17 18 } 18 19 19 20 window#waybar.hidden { 20 - opacity: 0.2; 21 + opacity: 0.2; 21 22 } 22 23 23 - 24 24 window#waybar.termite { 25 - background-color: #3F3F3F; 25 + background-color: #3f3f3f; 26 26 } 27 27 28 28 window#waybar.chromium { 29 - background-color: #000000; 30 - border: none; 29 + background-color: #000000; 30 + border: none; 31 31 } 32 32 33 33 /* If workspaces is the leftmost module, omit left margin */ 34 34 .modules-left > widget:first-child > #workspaces { 35 - margin-left: 0; 35 + margin-left: 0; 36 36 } 37 37 38 38 /* If workspaces is the rightmost module, omit right margin */ 39 39 .modules-right > widget:last-child > #workspaces { 40 - margin-right: 0; 40 + margin-right: 0; 41 41 } 42 42 button { 43 - /* Use box-shadow instead of border so the text isn't offset */ 44 - box-shadow: inset 0 -3px transparent; 45 - /* Avoid rounded borders under each button name */ 46 - border: none; 47 - border-radius: 0; 43 + /* Use box-shadow instead of border so the text isn't offset */ 44 + box-shadow: inset 0 -3px transparent; 45 + /* Avoid rounded borders under each button name */ 46 + border: none; 47 + border-radius: 0; 48 48 } 49 49 50 50 /* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */ 51 51 button:hover { 52 - background: inherit; 53 - box-shadow: inset 0 -3px @fg; 52 + background: inherit; 53 + box-shadow: inset 0 -3px @fg; 54 54 } 55 55 56 56 /* you can set a style on hover for any module like this */ 57 57 58 58 #workspaces button { 59 - padding: 0 10px; 60 - background-color: transparent; 61 - color: @fg; 59 + padding: 0 10px; 60 + background-color: transparent; 61 + color: @fg; 62 62 } 63 63 64 64 #workspaces button.active { 65 - padding: 0 20px; 66 - background-color: @bg_blue; 67 - color: @bg; 68 - transition-property: padding, background-color; 69 - transition-duration: .5s; 65 + padding: 0 20px; 66 + background-color: @bg_blue; 67 + color: @bg; 68 + transition-property: padding, background-color; 69 + transition-duration: 0.5s; 70 70 } 71 71 72 72 #workspaces button:hover { 73 - box-shadow: inset 0 -3px @fg; 73 + box-shadow: inset 0 -3px @fg; 74 74 } 75 75 76 76 #workspaces button.focused { 77 - background-color: @grey; 78 - box-shadow: inset 0 -3px @fg; 77 + background-color: @grey; 78 + box-shadow: inset 0 -3px @fg; 79 79 } 80 80 81 81 #workspaces button.urgent { 82 - border-bottom: 3px solid @red; 83 - color: @fg; 82 + border-bottom: 3px solid @red; 83 + color: @fg; 84 84 } 85 85 #workspaces button.empty { 86 - color: @grey; 86 + color: @grey; 87 87 } 88 - 89 88 90 89 #clock, 91 90 #battery, ··· 93 92 #custom-media, 94 93 #custom-paru, 95 94 #tray { 96 - padding: 0 10px; 97 - color: @white; 98 - border-bottom: 3px solid @bg_d; 95 + padding: 0 10px; 96 + color: @white; 97 + border-bottom: 3px solid @bg_d; 99 98 } 100 - 101 99 102 100 #window, 103 101 #workspaces, 104 102 #custom-player { 105 - background-color: @bgl; 106 - padding: 0px 10px; 107 - margin: 0 4px; 103 + background-color: @bgl; 104 + padding: 0px 10px; 105 + margin: 0 4px; 108 106 } 109 107 110 108 #custom-player { 111 - margin: 0 0px; 112 - border-bottom: 3px solid @red; 113 - 109 + margin: 0 0px; 110 + border-bottom: 3px solid @red; 114 111 } 115 112 #custom-player:hover { 116 - background-color: @red; 117 - color: @bg; 118 - 113 + background-color: @red; 114 + color: @bg; 119 115 } 120 116 121 117 #clock { 122 - background-color: @bg; 118 + background-color: @bg; 123 119 } 124 120 125 121 #cpu { 126 - background-color: @green; 127 - color: @bg; 122 + background-color: @green; 123 + color: @bg; 128 124 } 129 125 130 126 #memory { 131 - background-color: @purple; 132 - color: @bg; 127 + background-color: @purple; 128 + color: @bg; 133 129 } 134 130 135 - 136 131 #network { 137 - background-color: @bg_blue; 138 - color: @bg; 132 + background-color: @bg_blue; 133 + color: @bg; 139 134 } 140 135 141 136 #network:hover { 142 - background-color: @blue; 137 + background-color: @blue; 143 138 } 144 139 145 140 #network.disconnected { 146 - background-color: @red; 141 + background-color: @red; 147 142 } 148 143 149 144 #pulseaudio { 150 - background-color: @bgl; 151 - border-bottom: 3px solid @bg_yellow; 152 - color: @fg; 145 + background-color: @bgl; 146 + border-bottom: 3px solid @bg_yellow; 147 + color: @fg; 153 148 } 154 149 155 150 #pulseaudio:hover { 156 - background-color: @bg_yellow; 157 - color: @bg; 151 + background-color: @bg_yellow; 152 + color: @bg; 158 153 } 159 154 160 155 #pulseaudio.muted { 161 - background-color: #90b1b1; 162 - color: #2a5c45; 156 + background-color: #90b1b1; 157 + color: #2a5c45; 163 158 } 164 159 165 160 #tray { 166 - background-color: @bgl; 167 - color: @fg; 161 + background-color: @bgl; 162 + color: @fg; 168 163 } 169 164 170 165 #tray > .passive { 171 - -gtk-icon-effect: dim; 166 + -gtk-icon-effect: dim; 172 167 } 173 168 174 169 #tray > .needs-attention { 175 - -gtk-icon-effect: highlight; 176 - background-color: @red; 170 + -gtk-icon-effect: highlight; 171 + background-color: @red; 177 172 } 178 173 179 - 180 174 #custom-paru { 181 - background-color: @bgl; 182 - border-bottom: 3px solid @bg_blue; 183 - color: @fg; 175 + background-color: @bgl; 176 + border-bottom: 3px solid @bg_blue; 177 + color: @fg; 184 178 } 185 179 #custom-paru:hover { 186 - background-color: @bg_blue; 187 - color: @bg; 180 + background-color: @bg_blue; 181 + color: @bg; 188 182 }
+5
.config/yazi/keymap.toml
··· 274 274 275 275 { on = [ 276 276 "g", 277 + "k", 278 + ], run = "cd ~/qmk_firmware/keyboards", desc = "Go to QMK [k]eymap directory" }, 279 + 280 + { on = [ 281 + "g", 277 282 "<Space>", 278 283 ], run = "cd --interactive", desc = "Go to a directory interactively" }, 279 284
+2 -1
.config/yazi/yazi.toml
··· 28 28 29 29 [opener] 30 30 edit = [ 31 - { run = '${EDITOR:=nvim} "$@"', desc = "$EDITOR", block = true, for = "unix" }, 31 + { run = '${EDITOR:=nvim} "$@"', desc = "nvim", block = true, for = "unix" }, 32 32 { run = 'code %*', orphan = true, desc = "code", for = "windows" }, 33 33 { run = 'code -w %*', block = true, desc = "code (block)", for = "windows" }, 34 34 ] ··· 114 114 # Fallback 115 115 { name = "*", use = [ 116 116 "open", 117 + "edit", 117 118 "reveal", 118 119 ] }, 119 120 ]
+7
.zshrc
··· 102 102 alias jpgconvert="~/Scripts/jpgconvert.sh" 103 103 alias ls="lsd" 104 104 alias lkj="exit" 105 + alias sunshineserver="systemctl enable avahi-daemon" 106 + alias adb="/home/stunwin/echo_show/platform-tools/adb" 107 + 108 + gleport() { 109 + cd ~/code/gleport && gleam run -- "$@" 110 + } 105 111 106 112 export NVM_DIR="$HOME/.nvm" 107 113 [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm ··· 118 124 rm -f -- "$tmp" 119 125 } 120 126 127 + export PATH="$HOME/.npm-global/bin:$PATH"