Introduce lazyvim for macos and linux
This commit is contained in:
parent
85490e788d
commit
9f0dbfe7d5
@ -8,4 +8,8 @@ LICENSE
|
|||||||
.Xresources
|
.Xresources
|
||||||
.xsession
|
.xsession
|
||||||
.config/openbox/*
|
.config/openbox/*
|
||||||
|
.config/nvim/after
|
||||||
|
{{ else }}
|
||||||
|
lazyvim.json
|
||||||
|
stylua.toml
|
||||||
{{ end }}
|
{{ end }}
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
{{- if eq .chezmoi.os "openbsd" }}
|
||||||
HOME = os.getenv("HOME")
|
HOME = os.getenv("HOME")
|
||||||
vim.cmd([[colorscheme gruvbox]])
|
vim.cmd([[colorscheme gruvbox]])
|
||||||
|
|
||||||
@ -22,11 +23,6 @@ require "paq" {
|
|||||||
"lukas-reineke/lsp-format.nvim",
|
"lukas-reineke/lsp-format.nvim",
|
||||||
"neovim/nvim-lspconfig",
|
"neovim/nvim-lspconfig",
|
||||||
|
|
||||||
{{- if ne .chezmoi.os "openbsd" }}
|
|
||||||
"williamboman/mason.nvim",
|
|
||||||
"williamboman/mason-lspconfig.nvim",
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
-- Autocomplete
|
-- Autocomplete
|
||||||
"hrsh7th/nvim-cmp",
|
"hrsh7th/nvim-cmp",
|
||||||
"hrsh7th/cmp-buffer",
|
"hrsh7th/cmp-buffer",
|
||||||
@ -301,3 +297,7 @@ map('n', '<leader>xl', '<cmd>TroubleToggle loclist<cr>', { noremap = true, silen
|
|||||||
map('n', '<leader>xq', '<cmd>TroubleToggle quickfix<cr>', { noremap = true, silent = true })
|
map('n', '<leader>xq', '<cmd>TroubleToggle quickfix<cr>', { noremap = true, silent = true })
|
||||||
|
|
||||||
map('n', '<leader>g', '<cmd>vertical rightbelow Git<cr>', { noremap = true, silent = true })
|
map('n', '<leader>g', '<cmd>vertical rightbelow Git<cr>', { noremap = true, silent = true })
|
||||||
|
{{ else }}
|
||||||
|
-- bootstrap lazy.nvim, LazyVim and your plugins
|
||||||
|
require("config.lazy")
|
||||||
|
{{ end }}
|
||||||
|
9
dot_config/nvim/lazyvim.json
Normal file
9
dot_config/nvim/lazyvim.json
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"extras": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"news": {
|
||||||
|
"NEWS.md": "2123"
|
||||||
|
},
|
||||||
|
"version": 2
|
||||||
|
}
|
3
dot_config/nvim/lua/config/autocmds.lua
Normal file
3
dot_config/nvim/lua/config/autocmds.lua
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
-- 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
|
12
dot_config/nvim/lua/config/keymaps.lua
Normal file
12
dot_config/nvim/lua/config/keymaps.lua
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
-- 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
|
||||||
|
|
||||||
|
-- replace ex mode map and use it for repeating 'q' macro
|
||||||
|
map("n", "Q", "@q")
|
||||||
|
map("v", "Q", "<cmd>norm @q<CR>")
|
||||||
|
|
||||||
|
-- Easier in-file navigation with Tab and S-Tab
|
||||||
|
map("n", "<S-Tab>", "<C-U>")
|
||||||
|
map("n", "<Tab>", "<C-D>")
|
47
dot_config/nvim/lua/config/lazy.lua
Normal file
47
dot_config/nvim/lua/config/lazy.lua
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
|
||||||
|
if not vim.loop.fs_stat(lazypath) then
|
||||||
|
-- bootstrap lazy.nvim
|
||||||
|
-- stylua: ignore
|
||||||
|
vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", lazypath })
|
||||||
|
end
|
||||||
|
vim.opt.rtp:prepend(vim.env.LAZY or lazypath)
|
||||||
|
|
||||||
|
require("lazy").setup({
|
||||||
|
spec = {
|
||||||
|
-- add LazyVim and import its plugins
|
||||||
|
{ "LazyVim/LazyVim", import = "lazyvim.plugins" },
|
||||||
|
-- import any extras modules here
|
||||||
|
{ import = "lazyvim.plugins.extras.editor.leap" },
|
||||||
|
{ import = "lazyvim.plugins.extras.lang.go" },
|
||||||
|
{ import = "lazyvim.plugins.extras.lang.json" },
|
||||||
|
{ import = "lazyvim.plugins.extras.lang.clangd" },
|
||||||
|
-- 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 }, -- automatically check for plugin updates
|
||||||
|
performance = {
|
||||||
|
rtp = {
|
||||||
|
-- disable some rtp plugins
|
||||||
|
disabled_plugins = {
|
||||||
|
"gzip",
|
||||||
|
-- "matchit",
|
||||||
|
-- "matchparen",
|
||||||
|
-- "netrwPlugin",
|
||||||
|
"tarPlugin",
|
||||||
|
"tohtml",
|
||||||
|
"tutor",
|
||||||
|
"zipPlugin",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
})
|
9
dot_config/nvim/lua/config/options.lua
Normal file
9
dot_config/nvim/lua/config/options.lua
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
-- 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
|
||||||
|
|
||||||
|
if vim.g.neovide then
|
||||||
|
vim.g.neovide_cursor_animation_length = 0
|
||||||
|
vim.o.guifont = "BrutalistMono Nerd Font Regular:h16"
|
||||||
|
vim.g.neovide_theme = "auto"
|
||||||
|
end
|
20
dot_config/nvim/lua/plugins/colorscheme.lua
Normal file
20
dot_config/nvim/lua/plugins/colorscheme.lua
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
return {
|
||||||
|
-- gruvbox
|
||||||
|
{
|
||||||
|
"ellisonleao/gruvbox.nvim",
|
||||||
|
opts = { contrast = "hard" },
|
||||||
|
},
|
||||||
|
|
||||||
|
-- kanagawa
|
||||||
|
{
|
||||||
|
"rebelot/kanagawa.nvim",
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Configure LazyVim to load gruvbox
|
||||||
|
{
|
||||||
|
"LazyVim/LazyVim",
|
||||||
|
opts = {
|
||||||
|
colorscheme = "kanagawa",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
4
dot_config/nvim/lua/plugins/core.lua
Normal file
4
dot_config/nvim/lua/plugins/core.lua
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
return {
|
||||||
|
{ "folke/lazy.nvim", version = false },
|
||||||
|
{ "LazyVim/LazyVim", version = false },
|
||||||
|
}
|
101
dot_config/nvim/lua/plugins/notes.lua
Normal file
101
dot_config/nvim/lua/plugins/notes.lua
Normal file
@ -0,0 +1,101 @@
|
|||||||
|
return {
|
||||||
|
{
|
||||||
|
"renerocksai/telekasten.nvim",
|
||||||
|
lazy = true,
|
||||||
|
dependencies = {
|
||||||
|
"nvim-telescope/telescope.nvim",
|
||||||
|
"renerocksai/calendar-vim",
|
||||||
|
},
|
||||||
|
opts = {
|
||||||
|
home = vim.fn.expand("~/doc/zettelkasten"),
|
||||||
|
take_over_my_home = true,
|
||||||
|
auto_set_filetype = true,
|
||||||
|
-- dailies = home .. '/' .. 'daily',
|
||||||
|
-- weeklies = home .. '/' .. 'weekly',
|
||||||
|
-- templates = home .. '/' .. 'templates',
|
||||||
|
image_subdir = "img",
|
||||||
|
extension = ".md",
|
||||||
|
new_note_filename = "uuid-title",
|
||||||
|
uuid_type = "%Y%m%d%H%M",
|
||||||
|
uuid_sep = "-",
|
||||||
|
follow_creates_nonexisting = true,
|
||||||
|
dailies_create_nonexisting = true,
|
||||||
|
weeklies_create_nonexisting = true,
|
||||||
|
journal_auto_open = false,
|
||||||
|
|
||||||
|
-- template for new notes (new_note, follow_link)
|
||||||
|
-- set to `nil` or do not specify if you do not want a template
|
||||||
|
-- template_new_note = home .. '/' .. 'templates/new_note.md',
|
||||||
|
|
||||||
|
-- template for newly created daily notes (goto_today)
|
||||||
|
-- set to `nil` or do not specify if you do not want a template
|
||||||
|
-- template_new_daily = home .. '/' .. 'templates/daily.md',
|
||||||
|
|
||||||
|
-- template for newly created weekly notes (goto_thisweek)
|
||||||
|
-- set to `nil` or do not specify if you do not want a template
|
||||||
|
-- template_new_weekly= home .. '/' .. 'templates/weekly.md',
|
||||||
|
|
||||||
|
-- image link style
|
||||||
|
-- wiki: ![[image name]]
|
||||||
|
-- markdown: ![](image_subdir/xxxxx.png)
|
||||||
|
image_link_style = "wiki",
|
||||||
|
|
||||||
|
-- default sort option: 'filename', 'modified'
|
||||||
|
sort = "filename",
|
||||||
|
|
||||||
|
-- integrate with calendar-vim
|
||||||
|
plug_into_calendar = true,
|
||||||
|
calendar_opts = {
|
||||||
|
weeknm = 4,
|
||||||
|
calendar_monday = 1,
|
||||||
|
calendar_mark = "left-fit",
|
||||||
|
},
|
||||||
|
|
||||||
|
close_after_yanking = false,
|
||||||
|
insert_after_inserting = true,
|
||||||
|
tag_notation = "#tag",
|
||||||
|
command_palette_theme = "dropdown",
|
||||||
|
show_tags_theme = "ivy",
|
||||||
|
subdirs_in_links = true,
|
||||||
|
template_handling = "smart",
|
||||||
|
new_note_location = "smart",
|
||||||
|
rename_update_links = true,
|
||||||
|
follow_url_fallback = nil,
|
||||||
|
},
|
||||||
|
keys = {
|
||||||
|
{ "<leader>zf", "<cmd>Telekasten find_notes<cr>" },
|
||||||
|
{ "<leader>zd", "<cmd>Telekasten find_daily_notes<cr>" },
|
||||||
|
{ "<leader>zg", "<cmd>Telekasten search_notes<cr>" },
|
||||||
|
{ "<leader>zz", "<cmd>Telekasten follow_link<cr>" },
|
||||||
|
{ "<leader>zn", "<cmd>Telekasten new_note<cr>" },
|
||||||
|
{ "<leader>zr", "<cmd>Telekasten rename_note<cr>" },
|
||||||
|
{ "<leader>zc", "<cmd>Telekasten show_calendar<cr>" },
|
||||||
|
{ "<leader>#", "<cmd>Telekasten show_tags<cr>" },
|
||||||
|
{ "<leader>z", "<cmd>Telekasten panel<cr>" },
|
||||||
|
},
|
||||||
|
init = function()
|
||||||
|
vim.api.nvim_set_hl(0, "tklink", { fg = "#689d6a", bg = "" })
|
||||||
|
vim.api.nvim_set_hl(0, "tkBrackets", { fg = "gray", bg = "gray" })
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"nvim-neorg/neorg",
|
||||||
|
build = ":Neorg sync-parsers",
|
||||||
|
dependencies = { "nvim-lua/plenary.nvim" },
|
||||||
|
opts = {
|
||||||
|
load = {
|
||||||
|
["core.defaults"] = {},
|
||||||
|
["core.concealer"] = {}, -- Adds pretty icons to your documents
|
||||||
|
["core.dirman"] = { -- Manages Neorg workspaces
|
||||||
|
config = {
|
||||||
|
workspaces = {
|
||||||
|
notes = "~/doc/notes/private",
|
||||||
|
work = "~/doc/notes/work",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
14
dot_config/nvim/lua/plugins/telescope.lua
Normal file
14
dot_config/nvim/lua/plugins/telescope.lua
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
return {
|
||||||
|
|
||||||
|
-- add telescope-fzf-native
|
||||||
|
{
|
||||||
|
"telescope.nvim",
|
||||||
|
dependencies = {
|
||||||
|
"nvim-telescope/telescope-fzf-native.nvim",
|
||||||
|
build = "make",
|
||||||
|
config = function()
|
||||||
|
require("telescope").load_extension("fzf")
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
3
dot_config/nvim/stylua.toml
Normal file
3
dot_config/nvim/stylua.toml
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
indent_type = "Spaces"
|
||||||
|
indent_width = 2
|
||||||
|
column_width = 120
|
Loading…
Reference in New Issue
Block a user