mirror of
https://github.com/Dichgrem/DCGOS.git
synced 2025-12-16 19:22:00 -05:00
remove:nixvim
This commit is contained in:
15
dotfiles/.config/nvim/.neoconf.json
vendored
Normal file
15
dotfiles/.config/nvim/.neoconf.json
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"neodev": {
|
||||
"library": {
|
||||
"enabled": true,
|
||||
"plugins": true
|
||||
}
|
||||
},
|
||||
"neoconf": {
|
||||
"plugins": {
|
||||
"lua_ls": {
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
201
dotfiles/.config/nvim/LICENSE
vendored
Normal file
201
dotfiles/.config/nvim/LICENSE
vendored
Normal file
@@ -0,0 +1,201 @@
|
||||
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.
|
||||
18
dotfiles/.config/nvim/README.md
vendored
Normal file
18
dotfiles/.config/nvim/README.md
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
# 💤 LazyVim
|
||||
|
||||
A starter template for [LazyVim](https://github.com/LazyVim/LazyVim).
|
||||
Refer to the [documentation](https://lazyvim.github.io/installation) to get started.
|
||||
|
||||
## Plugins
|
||||
|
||||
- Markdown support: using Markdown-priview.nvim ## Fix Markdown Code-box display
|
||||
- Clipboard support: using nvim-osc52
|
||||
- Git UI support: using lazygit.nvim
|
||||
- Dashboard support: using snacks.nvim
|
||||
|
||||
## Keymaps
|
||||
|
||||
- Add Ctrl+W to quit buffer;
|
||||
- Add Ctrl+Tab to switch buffer;
|
||||
- Add Ctrl+Shift+5 to start a new terminal;
|
||||
- Add Ctrl+/h/j/k/l to switch between terminals;
|
||||
9
dotfiles/.config/nvim/init.lua
vendored
Normal file
9
dotfiles/.config/nvim/init.lua
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
-- bootstrap lazy.nvim, LazyVim and your plugins
|
||||
require("config.lazy")
|
||||
|
||||
vim.api.nvim_create_autocmd("FileType", {
|
||||
pattern = "markdown",
|
||||
callback = function()
|
||||
vim.opt_local.conceallevel = 0
|
||||
end,
|
||||
})
|
||||
46
dotfiles/.config/nvim/lazy-lock.json
vendored
Normal file
46
dotfiles/.config/nvim/lazy-lock.json
vendored
Normal file
@@ -0,0 +1,46 @@
|
||||
{
|
||||
"LazyVim": { "branch": "main", "commit": "25abbf546d564dc484cf903804661ba12de45507" },
|
||||
"SchemaStore.nvim": { "branch": "main", "commit": "a9ba109549de51e3b4594d39a1c07f14b9d0cfa5" },
|
||||
"blink.cmp": { "branch": "main", "commit": "022521a8910a5543b0251b21c9e1a1e989745796" },
|
||||
"bufferline.nvim": { "branch": "main", "commit": "655133c3b4c3e5e05ec549b9f8cc2894ac6f51b3" },
|
||||
"catppuccin": { "branch": "main", "commit": "56a9dfd1e05868cf3189369aad87242941396563" },
|
||||
"clangd_extensions.nvim": { "branch": "main", "commit": "db28f29be928d18cbfb86fbfb9f83f584f658feb" },
|
||||
"cmake-tools.nvim": { "branch": "master", "commit": "591ae37fc5494677e929118f0a182d2b61fe1af1" },
|
||||
"conform.nvim": { "branch": "master", "commit": "6feb2f28f9a9385e401857b21eeac3c1b66dd628" },
|
||||
"flash.nvim": { "branch": "main", "commit": "3c942666f115e2811e959eabbdd361a025db8b63" },
|
||||
"friendly-snippets": { "branch": "main", "commit": "572f5660cf05f8cd8834e096d7b4c921ba18e175" },
|
||||
"gitsigns.nvim": { "branch": "main", "commit": "8b729e489f1475615dc6c9737da917b3bc163605" },
|
||||
"grug-far.nvim": { "branch": "main", "commit": "f24022147ca4a0fe1d424a520a9437accbeba193" },
|
||||
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
|
||||
"lazydev.nvim": { "branch": "main", "commit": "2367a6c0a01eb9edb0464731cc0fb61ed9ab9d2c" },
|
||||
"lazygit.nvim": { "branch": "main", "commit": "b9eae3badab982e71abab96d3ee1d258f0c07961" },
|
||||
"lualine.nvim": { "branch": "master", "commit": "0c6cca9f2c63dadeb9225c45bc92bb95a151d4af" },
|
||||
"markdown-preview.nvim": { "branch": "master", "commit": "a923f5fc5ba36a3b17e289dc35dc17f66d0548ee" },
|
||||
"mason-lspconfig.nvim": { "branch": "main", "commit": "1a31f824b9cd5bc6f342fc29e9a53b60d74af245" },
|
||||
"mason-nvim-dap.nvim": { "branch": "main", "commit": "4c2cdc69d69fe00c15ae8648f7e954d99e5de3ea" },
|
||||
"mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" },
|
||||
"mini.ai": { "branch": "main", "commit": "7f1fe86277f0e977642cf8fe15f004229f61e61a" },
|
||||
"mini.icons": { "branch": "main", "commit": "397ed3807e96b59709ef3292f0a3e253d5c1dc0a" },
|
||||
"mini.pairs": { "branch": "main", "commit": "69864a2efb36c030877421634487fd90db1e4298" },
|
||||
"noice.nvim": { "branch": "main", "commit": "0427460c2d7f673ad60eb02b35f5e9926cf67c59" },
|
||||
"nui.nvim": { "branch": "main", "commit": "7cd18e73cfbd70e1546931b7268b3eebaeff9391" },
|
||||
"nvim-dap": { "branch": "master", "commit": "b0f983507e3702f073bfe1516846e58b56d4e42f" },
|
||||
"nvim-dap-go": { "branch": "main", "commit": "8763ced35b19c8dc526e04a70ab07c34e11ad064" },
|
||||
"nvim-dap-ui": { "branch": "master", "commit": "73a26abf4941aa27da59820fd6b028ebcdbcf932" },
|
||||
"nvim-dap-virtual-text": { "branch": "master", "commit": "fbdb48c2ed45f4a8293d0d483f7730d24467ccb6" },
|
||||
"nvim-lint": { "branch": "master", "commit": "b47cbb249351873e3a571751c3fb66ed6369852f" },
|
||||
"nvim-lspconfig": { "branch": "master", "commit": "b8e7957bde4cbb3cb25a13a62548f7c273b026e9" },
|
||||
"nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" },
|
||||
"nvim-osc52": { "branch": "main", "commit": "04cfaba1865ae5c53b6f887c3ca7304973824fb2" },
|
||||
"nvim-treesitter": { "branch": "master", "commit": "42fc28ba918343ebfd5565147a42a26580579482" },
|
||||
"nvim-treesitter-textobjects": { "branch": "master", "commit": "0f051e9813a36481f48ca1f833897210dbcfffde" },
|
||||
"nvim-ts-autotag": { "branch": "main", "commit": "a1d526af391f6aebb25a8795cbc05351ed3620b5" },
|
||||
"persistence.nvim": { "branch": "main", "commit": "166a79a55bfa7a4db3e26fc031b4d92af71d0b51" },
|
||||
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
|
||||
"snacks.nvim": { "branch": "main", "commit": "bc0630e43be5699bb94dadc302c0d21615421d93" },
|
||||
"todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" },
|
||||
"tokyonight.nvim": { "branch": "main", "commit": "057ef5d260c1931f1dffd0f052c685dcd14100a3" },
|
||||
"trouble.nvim": { "branch": "main", "commit": "85bedb7eb7fa331a2ccbecb9202d8abba64d37b3" },
|
||||
"ts-comments.nvim": { "branch": "main", "commit": "1bd9d0ba1d8b336c3db50692ffd0955fe1bb9f0c" },
|
||||
"which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" }
|
||||
}
|
||||
15
dotfiles/.config/nvim/lazyvim.json
vendored
Normal file
15
dotfiles/.config/nvim/lazyvim.json
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"extras": [
|
||||
"lazyvim.plugins.extras.dap.core",
|
||||
"lazyvim.plugins.extras.lang.clangd",
|
||||
"lazyvim.plugins.extras.lang.cmake",
|
||||
"lazyvim.plugins.extras.lang.docker",
|
||||
"lazyvim.plugins.extras.lang.go",
|
||||
"lazyvim.plugins.extras.lang.yaml"
|
||||
],
|
||||
"install_version": 8,
|
||||
"news": {
|
||||
"NEWS.md": "10960"
|
||||
},
|
||||
"version": 8
|
||||
}
|
||||
8
dotfiles/.config/nvim/lua/config/autocmds.lua
vendored
Normal file
8
dotfiles/.config/nvim/lua/config/autocmds.lua
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
-- 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")
|
||||
31
dotfiles/.config/nvim/lua/config/keymaps.lua
vendored
Normal file
31
dotfiles/.config/nvim/lua/config/keymaps.lua
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
-- 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
|
||||
|
||||
local map = vim.keymap.set
|
||||
local opts = { noremap = true, silent = true }
|
||||
|
||||
-- === VSCode-like buffer/tab navigation ===
|
||||
map("n", "<C-Tab>", "<cmd>bnext<CR>", { desc = "Next buffer (like VSCode)" })
|
||||
map("n", "<C-S-Tab>", "<cmd>bprevious<CR>", { desc = "Previous buffer (like VSCode)" })
|
||||
|
||||
-- === Close buffer like Ctrl + W in VSCode ===
|
||||
vim.keymap.set("n", "<C-w>", "<cmd>BufferLinePickClose<CR>", { desc = "Close buffer (BufferLine)" })
|
||||
|
||||
vim.keymap.set("n", "<C-S-5>", function()
|
||||
if vim.bo.buftype == "terminal" then
|
||||
vim.cmd("vsplit | terminal")
|
||||
else
|
||||
vim.cmd("botright split | terminal")
|
||||
end
|
||||
end, { desc = "Split terminal" })
|
||||
|
||||
-- 在终端模式下的快捷键
|
||||
vim.keymap.set("t", "<C-h>", "<C-\\><C-n><C-w>h", { desc = "Go to left window" })
|
||||
vim.keymap.set("t", "<C-j>", "<C-\\><C-n><C-w>j", { desc = "Go to lower window" })
|
||||
vim.keymap.set("t", "<C-k>", "<C-\\><C-n><C-w>k", { desc = "Go to upper window" })
|
||||
vim.keymap.set("t", "<C-l>", "<C-\\><C-n><C-w>l", { desc = "Go to right window" })
|
||||
|
||||
vim.keymap.set("n", "<leader>xo", function()
|
||||
vim.fn.jobstart({ "xdg-open", vim.fn.expand("%:p") }, { detach = true })
|
||||
end, { desc = "使用系统默认应用程序打开当前文件" })
|
||||
53
dotfiles/.config/nvim/lua/config/lazy.lua
vendored
Normal file
53
dotfiles/.config/nvim/lua/config/lazy.lua
vendored
Normal file
@@ -0,0 +1,53 @@
|
||||
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",
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
3
dotfiles/.config/nvim/lua/config/options.lua
vendored
Normal file
3
dotfiles/.config/nvim/lua/config/options.lua
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
-- 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
|
||||
18
dotfiles/.config/nvim/lua/plugins/dashboard.lua
vendored
Normal file
18
dotfiles/.config/nvim/lua/plugins/dashboard.lua
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
-- ~/.config/nvim/lua/plugins/dashboard.lua
|
||||
return {
|
||||
"folke/snacks.nvim",
|
||||
opts = {
|
||||
dashboard = {
|
||||
preset = {
|
||||
header = [[
|
||||
███╗ ██╗███████╗ ██████╗ ██╗ ██╗██╗███╗ ███╗
|
||||
████╗ ██║██╔════╝██╔═══██╗██║ ██║██║████╗ ████║
|
||||
██╔██╗ ██║█████╗ ██║ ██║██║ ██║██║██╔████╔██║
|
||||
██║╚██╗██║██╔══╝ ██║ ██║╚██╗ ██╔╝██║██║╚██╔╝██║
|
||||
██║ ╚████║███████╗╚██████╔╝ ╚████╔╝ ██║██║ ╚═╝ ██║
|
||||
╚═╝ ╚═══╝╚══════╝ ╚═════╝ ╚═══╝ ╚═╝╚═╝ ╚═╝
|
||||
]],
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
197
dotfiles/.config/nvim/lua/plugins/example.lua
vendored
Normal file
197
dotfiles/.config/nvim/lua/plugins/example.lua
vendored
Normal file
@@ -0,0 +1,197 @@
|
||||
-- since this is just an example spec, don't actually load anything here and return an empty spec
|
||||
-- stylua: ignore
|
||||
if true then return {} end
|
||||
|
||||
-- every spec file under the "plugins" directory will be loaded automatically by lazy.nvim
|
||||
--
|
||||
-- In your plugin files, you can:
|
||||
-- * add extra plugins
|
||||
-- * disable/enabled LazyVim plugins
|
||||
-- * override the configuration of LazyVim plugins
|
||||
return {
|
||||
-- add gruvbox
|
||||
{ "ellisonleao/gruvbox.nvim" },
|
||||
|
||||
-- Configure LazyVim to load gruvbox
|
||||
{
|
||||
"LazyVim/LazyVim",
|
||||
opts = {
|
||||
colorscheme = "gruvbox",
|
||||
},
|
||||
},
|
||||
|
||||
-- change trouble config
|
||||
{
|
||||
"folke/trouble.nvim",
|
||||
-- opts will be merged with the parent spec
|
||||
opts = { use_diagnostic_signs = true },
|
||||
},
|
||||
|
||||
-- disable trouble
|
||||
{ "folke/trouble.nvim", enabled = false },
|
||||
|
||||
-- override nvim-cmp and add cmp-emoji
|
||||
{
|
||||
"hrsh7th/nvim-cmp",
|
||||
dependencies = { "hrsh7th/cmp-emoji" },
|
||||
---@param opts cmp.ConfigSchema
|
||||
opts = function(_, opts)
|
||||
table.insert(opts.sources, { name = "emoji" })
|
||||
end,
|
||||
},
|
||||
|
||||
-- change some telescope options and a keymap to browse plugin files
|
||||
{
|
||||
"nvim-telescope/telescope.nvim",
|
||||
keys = {
|
||||
-- add a keymap to browse plugin files
|
||||
-- stylua: ignore
|
||||
{
|
||||
"<leader>fp",
|
||||
function() require("telescope.builtin").find_files({ cwd = require("lazy.core.config").options.root }) end,
|
||||
desc = "Find Plugin File",
|
||||
},
|
||||
},
|
||||
-- change some options
|
||||
opts = {
|
||||
defaults = {
|
||||
layout_strategy = "horizontal",
|
||||
layout_config = { prompt_position = "top" },
|
||||
sorting_strategy = "ascending",
|
||||
winblend = 0,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
-- add pyright to lspconfig
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
---@class PluginLspOpts
|
||||
opts = {
|
||||
---@type lspconfig.options
|
||||
servers = {
|
||||
-- pyright will be automatically installed with mason and loaded with lspconfig
|
||||
pyright = {},
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
-- add tsserver and setup with typescript.nvim instead of lspconfig
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
dependencies = {
|
||||
"jose-elias-alvarez/typescript.nvim",
|
||||
init = function()
|
||||
require("lazyvim.util").lsp.on_attach(function(_, buffer)
|
||||
-- stylua: ignore
|
||||
vim.keymap.set( "n", "<leader>co", "TypescriptOrganizeImports", { buffer = buffer, desc = "Organize Imports" })
|
||||
vim.keymap.set("n", "<leader>cR", "TypescriptRenameFile", { desc = "Rename File", buffer = buffer })
|
||||
end)
|
||||
end,
|
||||
},
|
||||
---@class PluginLspOpts
|
||||
opts = {
|
||||
---@type lspconfig.options
|
||||
servers = {
|
||||
-- tsserver will be automatically installed with mason and loaded with lspconfig
|
||||
tsserver = {},
|
||||
},
|
||||
-- you can do any additional lsp server setup here
|
||||
-- return true if you don't want this server to be setup with lspconfig
|
||||
---@type table<string, fun(server:string, opts:_.lspconfig.options):boolean?>
|
||||
setup = {
|
||||
-- example to setup with typescript.nvim
|
||||
tsserver = function(_, opts)
|
||||
require("typescript").setup({ server = opts })
|
||||
return true
|
||||
end,
|
||||
-- Specify * to use this function as a fallback for any server
|
||||
-- ["*"] = function(server, opts) end,
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
-- for typescript, LazyVim also includes extra specs to properly setup lspconfig,
|
||||
-- treesitter, mason and typescript.nvim. So instead of the above, you can use:
|
||||
{ import = "lazyvim.plugins.extras.lang.typescript" },
|
||||
|
||||
-- add more treesitter parsers
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"bash",
|
||||
"html",
|
||||
"javascript",
|
||||
"json",
|
||||
"lua",
|
||||
"markdown",
|
||||
"markdown_inline",
|
||||
"python",
|
||||
"query",
|
||||
"regex",
|
||||
"tsx",
|
||||
"typescript",
|
||||
"vim",
|
||||
"yaml",
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
-- since `vim.tbl_deep_extend`, can only merge tables and not lists, the code above
|
||||
-- would overwrite `ensure_installed` with the new value.
|
||||
-- If you'd rather extend the default config, use the code below instead:
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = function(_, opts)
|
||||
-- add tsx and treesitter
|
||||
vim.list_extend(opts.ensure_installed, {
|
||||
"tsx",
|
||||
"typescript",
|
||||
})
|
||||
end,
|
||||
},
|
||||
|
||||
-- the opts function can also be used to change the default opts:
|
||||
{
|
||||
"nvim-lualine/lualine.nvim",
|
||||
event = "VeryLazy",
|
||||
opts = function(_, opts)
|
||||
table.insert(opts.sections.lualine_x, {
|
||||
function()
|
||||
return "😄"
|
||||
end,
|
||||
})
|
||||
end,
|
||||
},
|
||||
|
||||
-- or you can return new options to override all the defaults
|
||||
{
|
||||
"nvim-lualine/lualine.nvim",
|
||||
event = "VeryLazy",
|
||||
opts = function()
|
||||
return {
|
||||
--[[add your custom lualine config here]]
|
||||
}
|
||||
end,
|
||||
},
|
||||
|
||||
-- use mini.starter instead of alpha
|
||||
{ import = "lazyvim.plugins.extras.ui.mini-starter" },
|
||||
|
||||
-- add jsonls and schemastore packages, and setup treesitter for json, json5 and jsonc
|
||||
{ import = "lazyvim.plugins.extras.lang.json" },
|
||||
|
||||
-- add any tools you want to have installed below
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"stylua",
|
||||
"shellcheck",
|
||||
"shfmt",
|
||||
"flake8",
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
16
dotfiles/.config/nvim/lua/plugins/lazygit.lua
vendored
Normal file
16
dotfiles/.config/nvim/lua/plugins/lazygit.lua
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
return {
|
||||
"kdheepak/lazygit.nvim",
|
||||
cmd = {
|
||||
"LazyGit",
|
||||
"LazyGitConfig",
|
||||
"LazyGitCurrentFile",
|
||||
"LazyGitFilter",
|
||||
"LazyGitFilterCurrentFile",
|
||||
},
|
||||
keys = {
|
||||
{ "<leader>gg", "<cmd>LazyGit<cr>", desc = "Open LazyGit" },
|
||||
},
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
},
|
||||
}
|
||||
9
dotfiles/.config/nvim/lua/plugins/markdown.lua
vendored
Normal file
9
dotfiles/.config/nvim/lua/plugins/markdown.lua
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
return {
|
||||
{
|
||||
"iamcco/markdown-preview.nvim",
|
||||
cmd = { "MarkdownPreviewToggle", "MarkdownPreview", "MarkdownPreviewStop" },
|
||||
ft = { "markdown" },
|
||||
build = ':call mkdp#util#install()'
|
||||
}
|
||||
}
|
||||
|
||||
18
dotfiles/.config/nvim/lua/plugins/osc52.lua
vendored
Normal file
18
dotfiles/.config/nvim/lua/plugins/osc52.lua
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
return {
|
||||
"ojroques/nvim-osc52",
|
||||
config = function()
|
||||
require("osc52").setup {
|
||||
max_length = 0, -- 不限制长度
|
||||
silent = false,
|
||||
trim = false,
|
||||
}
|
||||
|
||||
local function copy()
|
||||
if vim.v.event.operator == "y" and vim.v.event.regname == "" then
|
||||
require("osc52").copy_register("")
|
||||
end
|
||||
end
|
||||
|
||||
vim.api.nvim_create_autocmd("TextYankPost", { callback = copy })
|
||||
end,
|
||||
}
|
||||
3
dotfiles/.config/nvim/stylua.toml
vendored
Normal file
3
dotfiles/.config/nvim/stylua.toml
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
indent_type = "Spaces"
|
||||
indent_width = 2
|
||||
column_width = 120
|
||||
@@ -1,225 +0,0 @@
|
||||
_: {
|
||||
programs.nixvim = {
|
||||
extraConfigLua = ''
|
||||
function ToggleLineNumber()
|
||||
if vim.wo.number then
|
||||
vim.wo.number = false
|
||||
else
|
||||
vim.wo.number = true
|
||||
vim.wo.relativenumber = false
|
||||
end
|
||||
end
|
||||
|
||||
function ToggleRelativeLineNumber()
|
||||
if vim.wo.relativenumber then
|
||||
vim.wo.relativenumber = false
|
||||
else
|
||||
vim.wo.relativenumber = true
|
||||
vim.wo.number = false
|
||||
end
|
||||
end
|
||||
|
||||
function ToggleWrap()
|
||||
vim.wo.wrap = not vim.wo.wrap
|
||||
end
|
||||
|
||||
if vim.lsp.inlay_hint then
|
||||
vim.keymap.set('n', '<leader>uh', function()
|
||||
vim.lsp.inlay_hint(0, nil)
|
||||
end, { desc = 'Toggle Inlay Hints' })
|
||||
end
|
||||
'';
|
||||
keymaps = [
|
||||
{
|
||||
action = "<cmd> norm! ggVG<cr>";
|
||||
key = "<C-a>";
|
||||
mode = "i";
|
||||
options.desc = "Select all lines in buffer";
|
||||
}
|
||||
{
|
||||
action = "<C-W>c";
|
||||
key = "<leader>wd";
|
||||
mode = "n";
|
||||
options = {
|
||||
desc = "Delete window";
|
||||
silent = true;
|
||||
};
|
||||
}
|
||||
{
|
||||
action = "<C-W>s";
|
||||
key = "<leader>-";
|
||||
mode = "n";
|
||||
options = {
|
||||
desc = "Split window below";
|
||||
silent = true;
|
||||
};
|
||||
}
|
||||
{
|
||||
action = "<C-W>v";
|
||||
key = "<leader>|";
|
||||
mode = "n";
|
||||
options = {
|
||||
desc = "Split window right";
|
||||
silent = true;
|
||||
};
|
||||
}
|
||||
{
|
||||
action = "<cmd>m .+1<cr>==";
|
||||
key = "<A-Down>";
|
||||
mode = "n";
|
||||
options.desc = "Move line down";
|
||||
}
|
||||
{
|
||||
action = "<cmd>m .-2<cr>==";
|
||||
key = "<A-Up>";
|
||||
mode = "n";
|
||||
options.desc = "Move line up";
|
||||
}
|
||||
{
|
||||
action = "<cmd>quitall<cr><esc>";
|
||||
key = "<leader>qq";
|
||||
mode = "n";
|
||||
options = {
|
||||
desc = "Quit all";
|
||||
silent = true;
|
||||
};
|
||||
}
|
||||
{
|
||||
action = "<cmd>w<cr><esc>";
|
||||
key = "<C-s>";
|
||||
mode = "n";
|
||||
options = {
|
||||
desc = "Save file";
|
||||
silent = true;
|
||||
};
|
||||
}
|
||||
{
|
||||
action = "<C-w>j";
|
||||
key = "<C-Down>";
|
||||
mode = "n";
|
||||
options.desc = "Move To Window Down";
|
||||
}
|
||||
{
|
||||
action = "<C-w>h";
|
||||
key = "<C-Left>";
|
||||
mode = "n";
|
||||
options.desc = "Move To Window Left";
|
||||
}
|
||||
{
|
||||
action = "<C-w>l";
|
||||
key = "<C-Right>";
|
||||
mode = "n";
|
||||
options.desc = "Move To Window Right";
|
||||
}
|
||||
{
|
||||
action = "<C-w>k";
|
||||
key = "<C-Up>";
|
||||
mode = "n";
|
||||
options.desc = "Move To Window Up";
|
||||
}
|
||||
{
|
||||
action = "\"_d";
|
||||
key = "<leader>D";
|
||||
mode = [
|
||||
"n"
|
||||
"v"
|
||||
];
|
||||
options.desc = "Delete to void register";
|
||||
}
|
||||
{
|
||||
action = "<cmd>noh<cr><esc>";
|
||||
key = "<esc>";
|
||||
mode = [
|
||||
"n"
|
||||
"i"
|
||||
];
|
||||
options = {
|
||||
desc = "Escape and clear hlsearch";
|
||||
silent = true;
|
||||
};
|
||||
}
|
||||
{
|
||||
action = ":lua ToggleLineNumber()<cr>";
|
||||
key = "<leader>ul";
|
||||
mode = "n";
|
||||
options = {
|
||||
desc = "Toggle Line Numbers";
|
||||
silent = true;
|
||||
};
|
||||
}
|
||||
{
|
||||
action = ":lua ToggleRelativeLineNumber()<cr>";
|
||||
key = "<leader>uL";
|
||||
mode = "n";
|
||||
options = {
|
||||
desc = "Toggle Relative Line Numbers";
|
||||
silent = true;
|
||||
};
|
||||
}
|
||||
{
|
||||
action = ":lua ToggleWrap()<cr>";
|
||||
key = "<leader>uw";
|
||||
mode = "n";
|
||||
options = {
|
||||
desc = "Toggle Line Wrap";
|
||||
silent = true;
|
||||
};
|
||||
}
|
||||
{
|
||||
action = "\"+y";
|
||||
key = "<leader>y";
|
||||
mode = [
|
||||
"n"
|
||||
"v"
|
||||
];
|
||||
options.desc = "Copy to system clipboard";
|
||||
}
|
||||
{
|
||||
action = ":m '>+1<cr>gv=gv";
|
||||
key = "<A-Down>";
|
||||
mode = "v";
|
||||
options.desc = "Move line Down";
|
||||
}
|
||||
{
|
||||
action = ":m '<-2<cr>gv=gv";
|
||||
key = "<A-Up>";
|
||||
mode = "v";
|
||||
options.desc = "Move line up";
|
||||
}
|
||||
{
|
||||
action = "<gv";
|
||||
key = "<";
|
||||
mode = "v";
|
||||
}
|
||||
{
|
||||
action = ">gv";
|
||||
key = ">";
|
||||
mode = "v";
|
||||
}
|
||||
{
|
||||
action = "\"_dP";
|
||||
key = "p";
|
||||
mode = "x";
|
||||
options.desc = "Deletes to void register and paste over";
|
||||
}
|
||||
{
|
||||
action = "mzJ`z";
|
||||
key = "J";
|
||||
mode = "n";
|
||||
options.desc = "Allow cursor to stay in the same place after appending to current line ";
|
||||
}
|
||||
{
|
||||
action = "Nzzzv";
|
||||
key = "N";
|
||||
mode = "n";
|
||||
options.desc = "Allow search terms to stay in the middle";
|
||||
}
|
||||
{
|
||||
action = "nzzzv";
|
||||
key = "n";
|
||||
mode = "n";
|
||||
options.desc = "Allow search terms to stay in the middle";
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,61 +0,0 @@
|
||||
{inputs, ...}: {
|
||||
imports = [inputs.nixvim.homeManagerModules.nixvim];
|
||||
programs.nixvim = {
|
||||
colorschemes = {
|
||||
catppuccin = {
|
||||
enable = true;
|
||||
settings = {
|
||||
background = {
|
||||
dark = "mocha";
|
||||
light = "macchiato";
|
||||
};
|
||||
flavour = "mocha";
|
||||
integrations = {
|
||||
cmp = true;
|
||||
fidget = true;
|
||||
lsp_trouble = true;
|
||||
mini.enabled = true;
|
||||
native_lsp = {
|
||||
enabled = true;
|
||||
inlay_hints = {
|
||||
background = true;
|
||||
};
|
||||
underlines = {
|
||||
errors = ["underline"];
|
||||
hints = ["underline"];
|
||||
information = ["underline"];
|
||||
warnings = ["underline"];
|
||||
};
|
||||
virtual_text = {
|
||||
errors = ["italic"];
|
||||
hints = ["italic"];
|
||||
information = ["italic"];
|
||||
ok = ["italic"];
|
||||
warnings = ["italic"];
|
||||
};
|
||||
};
|
||||
neotree = true;
|
||||
noice = true;
|
||||
notify = true;
|
||||
telescope.enabled = true;
|
||||
treesitter = true;
|
||||
treesitter_context = true;
|
||||
which_key = true;
|
||||
};
|
||||
transparent_background = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
defaultEditor = true;
|
||||
enable = true;
|
||||
enableMan = false;
|
||||
globals = {
|
||||
have_nerd_font = true;
|
||||
mapleader = " ";
|
||||
maplocalleader = " ";
|
||||
};
|
||||
performance = {
|
||||
combinePlugins.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,44 +0,0 @@
|
||||
{pkgs, ...}: {
|
||||
programs.nixvim = {
|
||||
opts = {
|
||||
breakindent = true;
|
||||
clipboard = {
|
||||
providers = {
|
||||
wl-copy = {
|
||||
enable = true;
|
||||
package = pkgs.wl-clipboard-rs;
|
||||
};
|
||||
};
|
||||
register = "unnamedplus";
|
||||
};
|
||||
cmdheight = 2;
|
||||
cursorline = true;
|
||||
encoding = "utf-8";
|
||||
expandtab = true;
|
||||
fileencoding = "utf-8";
|
||||
grepformat = "%f:%l:%c:%m";
|
||||
grepprg = "rg --vimgrep";
|
||||
hlsearch = true;
|
||||
ignorecase = true;
|
||||
inccommand = "split";
|
||||
list = true;
|
||||
listchars.__raw = "{ tab = '» ', trail = '·', nbsp = '␣' }";
|
||||
mouse = "a";
|
||||
number = true;
|
||||
pumheight = 0;
|
||||
scrolloff = 8;
|
||||
shiftwidth = 2;
|
||||
showmode = false;
|
||||
signcolumn = "yes";
|
||||
smartcase = true;
|
||||
softtabstop = 2;
|
||||
splitbelow = true;
|
||||
splitright = true;
|
||||
tabstop = 2;
|
||||
termguicolors = true;
|
||||
timeoutlen = 250;
|
||||
undofile = true;
|
||||
updatetime = 50;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
_: {
|
||||
programs.nixvim = {
|
||||
plugins.nvim-autopairs = {
|
||||
enable = true;
|
||||
};
|
||||
extraConfigLua = ''
|
||||
require('cmp').event:on('confirm_done', require('nvim-autopairs.completion.cmp').on_confirm_done())
|
||||
'';
|
||||
};
|
||||
}
|
||||
@@ -1,175 +0,0 @@
|
||||
_: {
|
||||
programs.nixvim = {
|
||||
plugins = {
|
||||
bufferline = {
|
||||
enable = true;
|
||||
settings = {
|
||||
highlights = {
|
||||
background = {
|
||||
bg = "#252434";
|
||||
fg = "#605f6f";
|
||||
};
|
||||
|
||||
buffer_selected = {
|
||||
bg = "#1E1D2D";
|
||||
fg = "#D9E0EE";
|
||||
};
|
||||
buffer_visible = {
|
||||
fg = "#605f6f";
|
||||
bg = "#252434";
|
||||
};
|
||||
|
||||
close_button = {
|
||||
fg = "#605f6f";
|
||||
bg = "#252434";
|
||||
};
|
||||
close_button_visible = {
|
||||
fg = "#605f6f";
|
||||
bg = "#252434";
|
||||
};
|
||||
|
||||
duplicate = {
|
||||
fg = "NONE";
|
||||
bg = "#252434";
|
||||
};
|
||||
duplicate_selected = {
|
||||
fg = "#F38BA8";
|
||||
bg = "#1E1D2D";
|
||||
};
|
||||
duplicate_visible = {
|
||||
fg = "#89B4FA";
|
||||
bg = "#252434";
|
||||
};
|
||||
|
||||
error = {
|
||||
fg = "#605f6f";
|
||||
bg = "#252434";
|
||||
};
|
||||
error_diagnostic = {
|
||||
fg = "#605f6f";
|
||||
bg = "#252434";
|
||||
};
|
||||
|
||||
fill = {
|
||||
bg = "#1E1D2D";
|
||||
fg = "#605f6f";
|
||||
};
|
||||
indicator_selected = {
|
||||
bg = "#1E1D2D";
|
||||
fg = "#1E1D2D";
|
||||
};
|
||||
|
||||
modified = {
|
||||
fg = "#F38BA8";
|
||||
bg = "#252434";
|
||||
};
|
||||
modified_visible = {
|
||||
fg = "#F38BA8";
|
||||
bg = "#252434";
|
||||
};
|
||||
modified_selected = {
|
||||
fg = "#ABE9B3";
|
||||
bg = "#1E1D2D";
|
||||
};
|
||||
|
||||
separator = {
|
||||
bg = "#252434";
|
||||
fg = "#252434";
|
||||
};
|
||||
separator_visible = {
|
||||
bg = "#252434";
|
||||
fg = "#252434";
|
||||
};
|
||||
separator_selected = {
|
||||
bg = "#252434";
|
||||
fg = "#252434";
|
||||
};
|
||||
};
|
||||
|
||||
options.offsets = [
|
||||
{
|
||||
filetype = "neo-tree";
|
||||
text = "Neo-tree";
|
||||
highlight = "Directory";
|
||||
text_align = "left";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
keymaps = [
|
||||
{
|
||||
mode = "n";
|
||||
key = "<C-Tab>";
|
||||
action = "<cmd>BufferLineCycleNext<cr>";
|
||||
options = {
|
||||
desc = "Cycle to next buffer";
|
||||
};
|
||||
}
|
||||
|
||||
{
|
||||
mode = "n";
|
||||
key = "<C-S-Tab>";
|
||||
action = "<cmd>BufferLineCyclePrev<cr>";
|
||||
options = {
|
||||
desc = "Cycle to previous buffer";
|
||||
};
|
||||
}
|
||||
|
||||
{
|
||||
mode = "n";
|
||||
key = "<C-x>";
|
||||
action = "<cmd>:bp | bd #<cr>";
|
||||
options = {
|
||||
desc = "Delete buffer";
|
||||
};
|
||||
}
|
||||
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>br";
|
||||
action = "<cmd>BufferLineCloseRight<cr>";
|
||||
options = {
|
||||
desc = "Delete buffers to the right";
|
||||
};
|
||||
}
|
||||
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>bl";
|
||||
action = "<cmd>BufferLineCloseLeft<cr>";
|
||||
options = {
|
||||
desc = "Delete buffers to the left";
|
||||
};
|
||||
}
|
||||
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>bo";
|
||||
action = "<cmd>BufferLineCloseOthers<cr>";
|
||||
options = {
|
||||
desc = "Delete other buffers";
|
||||
};
|
||||
}
|
||||
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>bp";
|
||||
action = "<cmd>BufferLineTogglePin<cr>";
|
||||
options = {
|
||||
desc = "Toggle pin";
|
||||
};
|
||||
}
|
||||
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>bP";
|
||||
action = "<Cmd>BufferLineGroupClose ungrouped<CR>";
|
||||
options = {
|
||||
desc = "Delete non-pinned buffers";
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,44 +0,0 @@
|
||||
{pkgs, ...}: {
|
||||
programs.nixvim = {
|
||||
extraPackages = with pkgs; [
|
||||
stylua
|
||||
];
|
||||
|
||||
plugins.conform-nvim = {
|
||||
enable = true;
|
||||
settings = {
|
||||
notify_on_error = false;
|
||||
format_on_save = ''
|
||||
function(bufnr)
|
||||
-- Disable "format_on_save lsp_fallback" for lanuages that don't
|
||||
-- have a well standardized coding style. You can add additional
|
||||
-- lanuages here or re-enable it for the disabled ones.
|
||||
local disable_filetypes = { c = true, cpp = true }
|
||||
return {
|
||||
timeout_ms = 500,
|
||||
lsp_fallback = not disable_filetypes[vim.bo[bufnr].filetype]
|
||||
}
|
||||
end
|
||||
'';
|
||||
formatters_by_ft = {
|
||||
lua = ["stylua"];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
keymaps = [
|
||||
{
|
||||
mode = "";
|
||||
key = "<leader>f";
|
||||
action.__raw = ''
|
||||
function()
|
||||
require('conform').format { async = true, lsp_fallback = true }
|
||||
end
|
||||
'';
|
||||
options = {
|
||||
desc = "[F]ormat buffer";
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
_: {
|
||||
programs.nixvim = {
|
||||
plugins.edgy = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
_: {
|
||||
programs.nixvim = {
|
||||
plugins.indent-blankline = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,34 +0,0 @@
|
||||
_: {
|
||||
programs.nixvim = {
|
||||
plugins.lint = {
|
||||
autoCmd = {
|
||||
callback.__raw = ''
|
||||
function()
|
||||
require('lint').try_lint()
|
||||
end
|
||||
'';
|
||||
group = "lint";
|
||||
event = [
|
||||
"BufEnter"
|
||||
"BufWritePost"
|
||||
"InsertLeave"
|
||||
];
|
||||
};
|
||||
|
||||
enable = true;
|
||||
|
||||
lintersByFt = {
|
||||
nix = ["nix"];
|
||||
markdown = [
|
||||
"markdownlint"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
autoGroups = {
|
||||
lint = {
|
||||
clear = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,125 +0,0 @@
|
||||
_: {
|
||||
programs.nixvim = {
|
||||
autoGroups = {
|
||||
"kickstart-lsp-attach" = {
|
||||
clear = true;
|
||||
};
|
||||
};
|
||||
|
||||
plugins = {
|
||||
cmp-nvim-lsp.enable = true;
|
||||
fidget.enable = true;
|
||||
|
||||
lsp = {
|
||||
enable = true;
|
||||
|
||||
keymaps = {
|
||||
diagnostic = {
|
||||
"<leader>q" = {
|
||||
action = "setloclist";
|
||||
desc = "Open diagnostic [Q]uickfix list";
|
||||
};
|
||||
};
|
||||
|
||||
extra = [
|
||||
{
|
||||
mode = "n";
|
||||
key = "gd";
|
||||
action.__raw = "require('telescope.builtin').lsp_definitions";
|
||||
options = {
|
||||
desc = "LSP: [G]oto [D]efinition";
|
||||
};
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "gr";
|
||||
action.__raw = "require('telescope.builtin').lsp_references";
|
||||
options = {
|
||||
desc = "LSP: [G]oto [R]eferences";
|
||||
};
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "gI";
|
||||
action.__raw = "require('telescope.builtin').lsp_implementations";
|
||||
options = {
|
||||
desc = "LSP: [G]oto [I]mplementation";
|
||||
};
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>D";
|
||||
action.__raw = "require('telescope.builtin').lsp_type_definitions";
|
||||
options = {
|
||||
desc = "LSP: Type [D]efinition";
|
||||
};
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>ds";
|
||||
action.__raw = "require('telescope.builtin').lsp_document_symbols";
|
||||
options = {
|
||||
desc = "LSP: [D]ocument [S]ymbols";
|
||||
};
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>ws";
|
||||
action.__raw = "require('telescope.builtin').lsp_dynamic_workspace_symbols";
|
||||
options = {
|
||||
desc = "LSP: [W]orkspace [S]ymbols";
|
||||
};
|
||||
}
|
||||
];
|
||||
|
||||
lspBuf = {
|
||||
"<leader>rn" = {
|
||||
action = "rename";
|
||||
desc = "LSP: [R]e[n]ame";
|
||||
};
|
||||
"<leader>ca" = {
|
||||
action = "code_action";
|
||||
desc = "LSP: [C]ode [A]ction";
|
||||
};
|
||||
"gD" = {
|
||||
action = "declaration";
|
||||
desc = "LSP: [G]oto [D]eclaration";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
servers = {
|
||||
# clangd = {
|
||||
# enable = true;
|
||||
# };
|
||||
# lua_ls = {
|
||||
# enable = true;
|
||||
# settings = {
|
||||
# completion = {
|
||||
# callSnippet = "Replace";
|
||||
# };
|
||||
# };
|
||||
# };
|
||||
# gopls = {
|
||||
# enable = true;
|
||||
# };
|
||||
# pyright = {
|
||||
# enable = true;
|
||||
# };
|
||||
# rust_analyzer = {
|
||||
# enable = true;
|
||||
# };
|
||||
# ...etc. See `https://nix-community.github.io/nixvim/plugins/lsp` for a list of pre-configured LSPs
|
||||
|
||||
# Some languages (like typscript) have entire language plugins that can be useful:
|
||||
# `https://nix-community.github.io/nixvim/plugins/typescript-tools/index.html?highlight=typescript-tools#pluginstypescript-toolspackage`
|
||||
|
||||
# But for many setups the LSP (`ts_ls`) will work just fine
|
||||
ts_ls = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,23 +0,0 @@
|
||||
_: {
|
||||
programs.nixvim = {
|
||||
plugins.mini = {
|
||||
enable = true;
|
||||
|
||||
modules = {
|
||||
ai = {
|
||||
n_lines = 500;
|
||||
};
|
||||
statusline = {
|
||||
use_icons.__raw = "vim.g.have_nerd_font";
|
||||
};
|
||||
surround = {
|
||||
};
|
||||
};
|
||||
};
|
||||
extraConfigLua = ''
|
||||
require('mini.statusline').section_location = function()
|
||||
return '%2l:%-2v'
|
||||
end
|
||||
'';
|
||||
};
|
||||
}
|
||||
@@ -1,56 +0,0 @@
|
||||
_: {
|
||||
programs.nixvim = {
|
||||
plugins.cmp = {
|
||||
enable = true;
|
||||
|
||||
settings = {
|
||||
completion = {
|
||||
completeopt = "menu,menuone,noinsert";
|
||||
};
|
||||
|
||||
mapping = {
|
||||
"<C-n>" = "cmp.mapping.select_next_item()";
|
||||
"<C-p>" = "cmp.mapping.select_prev_item()";
|
||||
"<C-b>" = "cmp.mapping.scroll_docs(-4)";
|
||||
"<C-f>" = "cmp.mapping.scroll_docs(4)";
|
||||
"<C-y>" = "cmp.mapping.confirm { select = true }";
|
||||
"<C-Space>" = "cmp.mapping.complete {}";
|
||||
"<C-l>" = ''
|
||||
cmp.mapping(function()
|
||||
if luasnip.expand_or_locally_jumpable() then
|
||||
luasnip.expand_or_jump()
|
||||
end
|
||||
end, { 'i', 's' })
|
||||
'';
|
||||
"<C-h>" = ''
|
||||
cmp.mapping(function()
|
||||
if luasnip.locally_jumpable(-1) then
|
||||
luasnip.jump(-1)
|
||||
end
|
||||
end, { 'i', 's' })
|
||||
'';
|
||||
};
|
||||
|
||||
snippet = {
|
||||
expand = ''
|
||||
function(args)
|
||||
require('luasnip').lsp_expand(args.body)
|
||||
end
|
||||
'';
|
||||
};
|
||||
|
||||
sources = [
|
||||
{
|
||||
name = "luasnip";
|
||||
}
|
||||
{
|
||||
name = "nvim_lsp";
|
||||
}
|
||||
{
|
||||
name = "path";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
_: {
|
||||
programs.nixvim = {
|
||||
plugins.nvim-tree = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
keymaps = [
|
||||
{
|
||||
key = "<C-\\>";
|
||||
action = "<cmd>NvimTreeToggle<cr>";
|
||||
options = {
|
||||
desc = "NvimTree Toggle";
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,137 +0,0 @@
|
||||
_: {
|
||||
programs.nixvim = {
|
||||
plugins.telescope = {
|
||||
enable = true;
|
||||
|
||||
extensions = {
|
||||
fzf-native.enable = true;
|
||||
ui-select.enable = true;
|
||||
};
|
||||
|
||||
keymaps = {
|
||||
"<leader>sh" = {
|
||||
mode = "n";
|
||||
action = "help_tags";
|
||||
options = {
|
||||
desc = "[S]earch [H]elp";
|
||||
};
|
||||
};
|
||||
"<leader>sk" = {
|
||||
mode = "n";
|
||||
action = "keymaps";
|
||||
options = {
|
||||
desc = "[S]earch [K]eymaps";
|
||||
};
|
||||
};
|
||||
"<leader>sf" = {
|
||||
mode = "n";
|
||||
action = "find_files";
|
||||
options = {
|
||||
desc = "[S]earch [F]iles";
|
||||
};
|
||||
};
|
||||
"<leader>ss" = {
|
||||
mode = "n";
|
||||
action = "builtin";
|
||||
options = {
|
||||
desc = "[S]earch [S]elect Telescope";
|
||||
};
|
||||
};
|
||||
"<leader>sw" = {
|
||||
mode = "n";
|
||||
action = "grep_string";
|
||||
options = {
|
||||
desc = "[S]earch current [W]ord";
|
||||
};
|
||||
};
|
||||
"<leader>sg" = {
|
||||
mode = "n";
|
||||
action = "live_grep";
|
||||
options = {
|
||||
desc = "[S]earch by [G]rep";
|
||||
};
|
||||
};
|
||||
"<leader>sd" = {
|
||||
mode = "n";
|
||||
action = "diagnostics";
|
||||
options = {
|
||||
desc = "[S]earch [D]iagnostics";
|
||||
};
|
||||
};
|
||||
"<leader>sr" = {
|
||||
mode = "n";
|
||||
action = "resume";
|
||||
options = {
|
||||
desc = "[S]earch [R]esume";
|
||||
};
|
||||
};
|
||||
"<leader>s" = {
|
||||
mode = "n";
|
||||
action = "oldfiles";
|
||||
options = {
|
||||
desc = "[S]earch Recent Files ('.' for repeat)";
|
||||
};
|
||||
};
|
||||
"<leader><leader>" = {
|
||||
mode = "n";
|
||||
action = "buffers";
|
||||
options = {
|
||||
desc = "[ ] Find existing buffers";
|
||||
};
|
||||
};
|
||||
};
|
||||
settings = {
|
||||
extensions.__raw = "{ ['ui-select'] = { require('telescope.themes').get_dropdown() } }";
|
||||
};
|
||||
};
|
||||
|
||||
keymaps = [
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>/";
|
||||
action.__raw = ''
|
||||
function()
|
||||
require('telescope.builtin').current_buffer_fuzzy_find(
|
||||
require('telescope.themes').get_dropdown {
|
||||
winblend = 10,
|
||||
previewer = false
|
||||
}
|
||||
)
|
||||
end
|
||||
'';
|
||||
options = {
|
||||
desc = "[/] Fuzzily search in current buffer";
|
||||
};
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>s/";
|
||||
action.__raw = ''
|
||||
function()
|
||||
require('telescope.builtin').live_grep {
|
||||
grep_open_files = true,
|
||||
prompt_title = 'Live Grep in Open Files'
|
||||
}
|
||||
end
|
||||
'';
|
||||
options = {
|
||||
desc = "[S]earch [/] in Open Files";
|
||||
};
|
||||
}
|
||||
{
|
||||
mode = "n";
|
||||
key = "<leader>sn";
|
||||
action.__raw = ''
|
||||
function()
|
||||
require('telescope.builtin').find_files {
|
||||
cwd = vim.fn.stdpath 'config'
|
||||
}
|
||||
end
|
||||
'';
|
||||
options = {
|
||||
desc = "[S]earch [N]eovim files";
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -1,66 +0,0 @@
|
||||
_: {
|
||||
programs.nixvim = {
|
||||
keymaps = [
|
||||
{
|
||||
action = "<cmd>2ToggleTerm<cr>";
|
||||
key = "<C-g>";
|
||||
mode = "t";
|
||||
options.desc = "Open/Close Terminal 2";
|
||||
}
|
||||
{
|
||||
action = "<cmd>wincmd j<cr>";
|
||||
key = "<C-Down>";
|
||||
mode = "t";
|
||||
options.desc = "Go to Down window";
|
||||
}
|
||||
{
|
||||
action = "<cmd>wincmd h<cr>";
|
||||
key = "<C-Left>";
|
||||
mode = "t";
|
||||
options.desc = "Go to Left window";
|
||||
}
|
||||
{
|
||||
action = "<cmd>wincmd l<cr>";
|
||||
key = "<C-Right>";
|
||||
mode = "t";
|
||||
options.desc = "Go to Right window";
|
||||
}
|
||||
{
|
||||
action = "<cmd>wincmd k<cr>";
|
||||
key = "<C-Up>";
|
||||
mode = "t";
|
||||
options.desc = "Go to Up window";
|
||||
}
|
||||
];
|
||||
plugins.toggleterm = {
|
||||
enable = true;
|
||||
settings = {
|
||||
close_on_exit = true;
|
||||
direction = "horizontal"; # 'vertical' | 'horizontal' | 'tab' | 'float'
|
||||
float_opts = {
|
||||
border = "single"; # 'single' | 'double' | 'shadow' | 'curved' | ... other options supported by win open
|
||||
height = 20;
|
||||
width = 80;
|
||||
winblend = 0;
|
||||
};
|
||||
hide_numbers = true;
|
||||
insert_mappings = true;
|
||||
open_mapping = "[[<C-/>]]";
|
||||
persist_mode = true;
|
||||
shade_terminals = true;
|
||||
shell = "nu";
|
||||
size = ''
|
||||
function(term)
|
||||
if term.direction == "horizontal" then
|
||||
return 30
|
||||
elseif term.direction == "vertical" then
|
||||
return vim.o.columns * 0.4
|
||||
end
|
||||
end
|
||||
'';
|
||||
start_in_insert = true;
|
||||
terminal_mappings = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,35 +0,0 @@
|
||||
_: {
|
||||
programs.nixvim = {
|
||||
plugins.treesitter = {
|
||||
enable = true;
|
||||
|
||||
settings = {
|
||||
ensureInstalled = [
|
||||
"bash"
|
||||
"c"
|
||||
"diff"
|
||||
"html"
|
||||
"lua"
|
||||
"luadoc"
|
||||
"markdown"
|
||||
"markdown_inline"
|
||||
"query"
|
||||
"vim"
|
||||
"vimdoc"
|
||||
];
|
||||
|
||||
highlight = {
|
||||
additional_vim_regex_highlighting = true;
|
||||
enable = true;
|
||||
};
|
||||
|
||||
indent = {
|
||||
enable = true;
|
||||
disable = [
|
||||
"ruby"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,189 +0,0 @@
|
||||
_: {
|
||||
programs.nixvim = {
|
||||
plugins = {
|
||||
alpha = {
|
||||
enable = true;
|
||||
layout = let
|
||||
padding = val: {
|
||||
type = "padding";
|
||||
inherit val;
|
||||
};
|
||||
in [
|
||||
(padding 4)
|
||||
{
|
||||
opts = {
|
||||
hl = "AlphaHeader";
|
||||
position = "center";
|
||||
};
|
||||
type = "text";
|
||||
val = [
|
||||
" ███╗ ██╗ ███████╗ ██████╗ ██╗ ██╗ ██╗ ███╗ ███╗"
|
||||
" ████╗ ██║ ██╔════╝██╔═══██╗ ██║ ██║ ██║ ████╗ ████║"
|
||||
" ██╔██╗ ██║ █████╗ ██║ ██║ ██║ ██║ ██║ ██╔████╔██║"
|
||||
" ██║╚██╗██║ ██╔══╝ ██║ ██║ ╚██╗ ██╔╝ ██║ ██║╚██╔╝██║"
|
||||
" ██║ ╚████║ ███████╗╚██████╔╝ ╚████╔╝ ██║ ██║ ╚═╝ ██║"
|
||||
" ╚═╝ ╚═══╝ ╚══════╝ ╚═════╝ ╚═══╝ ╚═╝ ╚═╝ ╚═╝"
|
||||
];
|
||||
}
|
||||
(padding 6)
|
||||
{
|
||||
type = "button";
|
||||
val = " Find File";
|
||||
on_press.raw = "require('telescope.builtin').find_files";
|
||||
opts = {
|
||||
keymap = [
|
||||
"n"
|
||||
"f"
|
||||
":Telescope find_files <CR>"
|
||||
{
|
||||
noremap = true;
|
||||
silent = true;
|
||||
nowait = true;
|
||||
}
|
||||
];
|
||||
shortcut = "f";
|
||||
|
||||
position = "center";
|
||||
cursor = 3;
|
||||
width = 40;
|
||||
align_shortcut = "right";
|
||||
hl_shortcut = "Keyword";
|
||||
};
|
||||
}
|
||||
(padding 1)
|
||||
{
|
||||
type = "button";
|
||||
val = " New File";
|
||||
on_press.__raw = "function() vim.cmd[[ene]] end";
|
||||
opts = {
|
||||
keymap = [
|
||||
"n"
|
||||
"n"
|
||||
":ene <BAR> startinsert <CR>"
|
||||
{
|
||||
noremap = true;
|
||||
silent = true;
|
||||
nowait = true;
|
||||
}
|
||||
];
|
||||
shortcut = "n";
|
||||
|
||||
position = "center";
|
||||
cursor = 3;
|
||||
width = 40;
|
||||
align_shortcut = "right";
|
||||
hl_shortcut = "Keyword";
|
||||
};
|
||||
}
|
||||
(padding 1)
|
||||
{
|
||||
type = "button";
|
||||
val = " Recent Files";
|
||||
on_press.raw = "require('telescope.builtin').oldfiles";
|
||||
opts = {
|
||||
keymap = [
|
||||
"n"
|
||||
"r"
|
||||
":Telescope oldfiles <CR>"
|
||||
{
|
||||
noremap = true;
|
||||
silent = true;
|
||||
nowait = true;
|
||||
}
|
||||
];
|
||||
shortcut = "r";
|
||||
|
||||
position = "center";
|
||||
cursor = 3;
|
||||
width = 40;
|
||||
align_shortcut = "right";
|
||||
hl_shortcut = "Keyword";
|
||||
};
|
||||
}
|
||||
(padding 1)
|
||||
{
|
||||
type = "button";
|
||||
val = " Find Word";
|
||||
on_press.raw = "require('telescope.builtin').live_grep";
|
||||
opts = {
|
||||
keymap = [
|
||||
"n"
|
||||
"w"
|
||||
":Telescope live_grep <CR>"
|
||||
{
|
||||
noremap = true;
|
||||
silent = true;
|
||||
nowait = true;
|
||||
}
|
||||
];
|
||||
shortcut = "w";
|
||||
|
||||
position = "center";
|
||||
cursor = 3;
|
||||
width = 40;
|
||||
align_shortcut = "right";
|
||||
hl_shortcut = "Keyword";
|
||||
};
|
||||
}
|
||||
(padding 1)
|
||||
{
|
||||
type = "button";
|
||||
val = " Restore Session";
|
||||
on_press.raw = "require('persistence').load()";
|
||||
opts = {
|
||||
keymap = [
|
||||
"n"
|
||||
"s"
|
||||
":lua require('persistence').load()<cr>"
|
||||
{
|
||||
noremap = true;
|
||||
silent = true;
|
||||
nowait = true;
|
||||
}
|
||||
];
|
||||
shortcut = "s";
|
||||
|
||||
position = "center";
|
||||
cursor = 3;
|
||||
width = 40;
|
||||
align_shortcut = "right";
|
||||
hl_shortcut = "Keyword";
|
||||
};
|
||||
}
|
||||
(padding 1)
|
||||
{
|
||||
type = "button";
|
||||
val = " Quit Neovim";
|
||||
on_press.__raw = "function() vim.cmd[[qa]] end";
|
||||
opts = {
|
||||
keymap = [
|
||||
"n"
|
||||
"q"
|
||||
":qa<CR>"
|
||||
{
|
||||
noremap = true;
|
||||
silent = true;
|
||||
nowait = true;
|
||||
}
|
||||
];
|
||||
shortcut = "q";
|
||||
|
||||
position = "center";
|
||||
cursor = 3;
|
||||
width = 40;
|
||||
align_shortcut = "right";
|
||||
hl_shortcut = "Keyword";
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
dressing.enable = true;
|
||||
neoscroll.enable = true;
|
||||
nui.enable = true;
|
||||
persistence.enable = true;
|
||||
todo-comments.enable = true;
|
||||
trim.enable = true;
|
||||
web-devicons.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -1,43 +0,0 @@
|
||||
_: {
|
||||
programs.nixvim = {
|
||||
plugins.which-key = {
|
||||
enable = true;
|
||||
settings = {
|
||||
spec = [
|
||||
{
|
||||
__unkeyed-1 = "<leader>c";
|
||||
group = "[C]ode";
|
||||
}
|
||||
{
|
||||
__unkeyed-1 = "<leader>d";
|
||||
group = "[D]ocument";
|
||||
}
|
||||
{
|
||||
__unkeyed-1 = "<leader>h";
|
||||
group = "Git [H]unk";
|
||||
mode = [
|
||||
"n"
|
||||
"v"
|
||||
];
|
||||
}
|
||||
{
|
||||
__unkeyed-1 = "<leader>r";
|
||||
group = "[R]ename";
|
||||
}
|
||||
{
|
||||
__unkeyed-1 = "<leader>s";
|
||||
group = "[S]earch";
|
||||
}
|
||||
{
|
||||
__unkeyed-1 = "<leader>t";
|
||||
group = "[T]oggle";
|
||||
}
|
||||
{
|
||||
__unkeyed-1 = "<leader>w";
|
||||
group = "[W]orkspace";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -59,6 +59,7 @@ in {
|
||||
zola
|
||||
go
|
||||
pnpm
|
||||
tree
|
||||
|
||||
#Android
|
||||
android-tools
|
||||
@@ -68,6 +69,9 @@ in {
|
||||
libnotify
|
||||
libvirt
|
||||
lm_sensors
|
||||
gcc
|
||||
clang
|
||||
zig
|
||||
];
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user