From ecefd423fd1fed5b9ebc6ccb046c1a647ebb6437 Mon Sep 17 00:00:00 2001 From: Adam French Date: Thu, 12 Mar 2026 13:35:06 +0000 Subject: [PATCH] Start neovim config from scratech --- nvim/.gitignore | 9 -- nvim/.neoconf.json | 15 --- nvim/LICENSE | 201 ---------------------------------- nvim/README.md | 4 - nvim/init.lua | 20 +++- nvim/lazyvim.json | 25 ----- nvim/lua/config/autocmds.lua | 8 -- nvim/lua/config/keymaps.lua | 3 - nvim/lua/config/lazy.lua | 53 --------- nvim/lua/config/options.lua | 3 - nvim/lua/plugins/plugins.lua | 72 ------------ nvim/plugins/colourscheme.lua | 2 + nvim/stylua.toml | 3 - 13 files changed, 20 insertions(+), 398 deletions(-) delete mode 100644 nvim/.gitignore delete mode 100644 nvim/.neoconf.json delete mode 100644 nvim/LICENSE delete mode 100644 nvim/README.md delete mode 100644 nvim/lazyvim.json delete mode 100644 nvim/lua/config/autocmds.lua delete mode 100644 nvim/lua/config/keymaps.lua delete mode 100644 nvim/lua/config/lazy.lua delete mode 100644 nvim/lua/config/options.lua delete mode 100644 nvim/lua/plugins/plugins.lua create mode 100644 nvim/plugins/colourscheme.lua delete mode 100644 nvim/stylua.toml diff --git a/nvim/.gitignore b/nvim/.gitignore deleted file mode 100644 index 21f37ef..0000000 --- a/nvim/.gitignore +++ /dev/null @@ -1,9 +0,0 @@ -tt.* -.tests -doc/tags -lazy-lock.json -debug -.repro -foo.* -*.log -data diff --git a/nvim/.neoconf.json b/nvim/.neoconf.json deleted file mode 100644 index 7c48087..0000000 --- a/nvim/.neoconf.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "neodev": { - "library": { - "enabled": true, - "plugins": true - } - }, - "neoconf": { - "plugins": { - "lua_ls": { - "enabled": true - } - } - } -} diff --git a/nvim/LICENSE b/nvim/LICENSE deleted file mode 100644 index 261eeb9..0000000 --- a/nvim/LICENSE +++ /dev/null @@ -1,201 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/nvim/README.md b/nvim/README.md deleted file mode 100644 index 185280b..0000000 --- a/nvim/README.md +++ /dev/null @@ -1,4 +0,0 @@ -# 💤 LazyVim - -A starter template for [LazyVim](https://github.com/LazyVim/LazyVim). -Refer to the [documentation](https://lazyvim.github.io/installation) to get started. diff --git a/nvim/init.lua b/nvim/init.lua index 2514f9e..e22d266 100644 --- a/nvim/init.lua +++ b/nvim/init.lua @@ -1,2 +1,18 @@ --- bootstrap lazy.nvim, LazyVim and your plugins -require("config.lazy") +-- Bootstrap lazy.nvim +local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" +if not vim.fn.isdirectory(lazypath) then + vim.fn.system({ + "git", "clone", "--filter=blob:none", + "https://github.com/folke/lazy.nvim.git", + "--branch=stable", + lazypath, + }) +end +vim.opt.rtp:prepend(lazypath) + +-- Set leader key before lazy (important!) +vim.g.mapleader = " " +vim.g.maplocalleader = " " + +-- Load lazy with your plugins +require("lazy").setup("plugins") diff --git a/nvim/lazyvim.json b/nvim/lazyvim.json deleted file mode 100644 index 12a4694..0000000 --- a/nvim/lazyvim.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "extras": [ - "lazyvim.plugins.extras.ai.claudecode", - "lazyvim.plugins.extras.ai.copilot", - "lazyvim.plugins.extras.coding.mini-surround", - "lazyvim.plugins.extras.editor.dial", - "lazyvim.plugins.extras.formatting.prettier", - "lazyvim.plugins.extras.lang.docker", - "lazyvim.plugins.extras.lang.git", - "lazyvim.plugins.extras.lang.go", - "lazyvim.plugins.extras.lang.python", - "lazyvim.plugins.extras.lang.sql", - "lazyvim.plugins.extras.lang.tailwind", - "lazyvim.plugins.extras.lang.typescript", - "lazyvim.plugins.extras.lang.vue", - "lazyvim.plugins.extras.ui.edgy", - "lazyvim.plugins.extras.util.dot", - "lazyvim.plugins.extras.util.gitui" - ], - "install_version": 8, - "news": { - "NEWS.md": "11866" - }, - "version": 8 -} \ No newline at end of file diff --git a/nvim/lua/config/autocmds.lua b/nvim/lua/config/autocmds.lua deleted file mode 100644 index 4221e75..0000000 --- a/nvim/lua/config/autocmds.lua +++ /dev/null @@ -1,8 +0,0 @@ --- Autocmds are automatically loaded on the VeryLazy event --- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua --- --- Add any additional autocmds here --- with `vim.api.nvim_create_autocmd` --- --- Or remove existing autocmds by their group name (which is prefixed with `lazyvim_` for the defaults) --- e.g. vim.api.nvim_del_augroup_by_name("lazyvim_wrap_spell") diff --git a/nvim/lua/config/keymaps.lua b/nvim/lua/config/keymaps.lua deleted file mode 100644 index 2c134f7..0000000 --- a/nvim/lua/config/keymaps.lua +++ /dev/null @@ -1,3 +0,0 @@ --- Keymaps are automatically loaded on the VeryLazy event --- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua --- Add any additional keymaps here diff --git a/nvim/lua/config/lazy.lua b/nvim/lua/config/lazy.lua deleted file mode 100644 index d73bfa1..0000000 --- a/nvim/lua/config/lazy.lua +++ /dev/null @@ -1,53 +0,0 @@ -local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" -if not (vim.uv or vim.loop).fs_stat(lazypath) then - local lazyrepo = "https://github.com/folke/lazy.nvim.git" - local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath }) - if vim.v.shell_error ~= 0 then - vim.api.nvim_echo({ - { "Failed to clone lazy.nvim:\n", "ErrorMsg" }, - { out, "WarningMsg" }, - { "\nPress any key to exit..." }, - }, true, {}) - vim.fn.getchar() - os.exit(1) - end -end -vim.opt.rtp:prepend(lazypath) - -require("lazy").setup({ - spec = { - -- add LazyVim and import its plugins - { "LazyVim/LazyVim", import = "lazyvim.plugins" }, - -- import/override with your plugins - { import = "plugins" }, - }, - defaults = { - -- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup. - -- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default. - lazy = false, - -- It's recommended to leave version=false for now, since a lot the plugin that support versioning, - -- have outdated releases, which may break your Neovim install. - version = false, -- always use the latest git commit - -- version = "*", -- try installing the latest stable version for plugins that support semver - }, - install = { colorscheme = { "tokyonight", "habamax" } }, - checker = { - enabled = true, -- check for plugin updates periodically - notify = false, -- notify on update - }, -- automatically check for plugin updates - performance = { - rtp = { - -- disable some rtp plugins - disabled_plugins = { - "gzip", - -- "matchit", - -- "matchparen", - -- "netrwPlugin", - "tarPlugin", - "tohtml", - "tutor", - "zipPlugin", - }, - }, - }, -}) diff --git a/nvim/lua/config/options.lua b/nvim/lua/config/options.lua deleted file mode 100644 index 3ea1454..0000000 --- a/nvim/lua/config/options.lua +++ /dev/null @@ -1,3 +0,0 @@ --- Options are automatically loaded before lazy.nvim startup --- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua --- Add any additional options here diff --git a/nvim/lua/plugins/plugins.lua b/nvim/lua/plugins/plugins.lua deleted file mode 100644 index 6174eb0..0000000 --- a/nvim/lua/plugins/plugins.lua +++ /dev/null @@ -1,72 +0,0 @@ -return { - { "ellisonleao/gruvbox.nvim" }, - { - "LazyVim/LazyVim", - opts = { - colorscheme = "gruvbox", - }, - { - "kawre/leetcode.nvim", - dependencies = { - "nvim-lua/plenary.nvim", - "MunifTanjim/nui.nvim", - }, - opts = { - lang = "rust", - - keys = { - toggle = { "q" }, ---@type string|string[] - confirm = { "" }, ---@type string|string[] - - reset_testcases = "r", ---@type string - use_testcase = "U", ---@type string - focus_testcases = "H", ---@type string - focus_result = "L", ---@type string - }, - }, - }, - }, - -- { - -- "yetone/avante.nvim", - -- build = vim.fn.has("win32") ~= 0 and "powershell -ExecutionPolicy Bypass -File Build.ps1 -BuildFromSource false" - -- or "make", - -- event = "VeryLazy", - -- opts = { - -- provider = "copilot", - -- selection = { - -- hint_display = "none", - -- }, - -- behaviour = { - -- auto_set_keymaps = false, - -- }, - -- }, - -- cmd = { - -- "AvanteAsk", - -- "AvanteBuild", - -- "AvanteChat", - -- "AvanteClear", - -- "AvanteEdit", - -- "AvanteFocus", - -- "AvanteHistory", - -- "AvanteModels", - -- "AvanteRefresh", - -- "AvanteShowRepoMap", - -- "AvanteStop", - -- "AvanteSwitchProvider", - -- "AvanteToggle", - -- }, - -- keys = { - -- { "aa", "AvanteAsk", desc = "Ask Avante" }, - -- { "ac", "AvanteChat", desc = "Chat with Avante" }, - -- { "ae", "AvanteEdit", desc = "Edit Avante" }, - -- { "af", "AvanteFocus", desc = "Focus Avante" }, - -- { "ah", "AvanteHistory", desc = "Avante History" }, - -- { "am", "AvanteModels", desc = "Select Avante Model" }, - -- { "an", "AvanteChatNew", desc = "New Avante Chat" }, - -- { "ap", "AvanteSwitchProvider", desc = "Switch Avante Provider" }, - -- { "ar", "AvanteRefresh", desc = "Refresh Avante" }, - -- { "as", "AvanteStop", desc = "Stop Avante" }, - -- { "at", "AvanteToggle", desc = "Toggle Avante" }, - -- }, - -- }, -} diff --git a/nvim/plugins/colourscheme.lua b/nvim/plugins/colourscheme.lua new file mode 100644 index 0000000..97aeadd --- /dev/null +++ b/nvim/plugins/colourscheme.lua @@ -0,0 +1,2 @@ +return { +} diff --git a/nvim/stylua.toml b/nvim/stylua.toml deleted file mode 100644 index 5d6c50d..0000000 --- a/nvim/stylua.toml +++ /dev/null @@ -1,3 +0,0 @@ -indent_type = "Spaces" -indent_width = 2 -column_width = 120 \ No newline at end of file