summaryrefslogtreecommitdiff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/custom-neovim/config/init.lua68
-rw-r--r--pkgs/custom-neovim/config/lua/keymaps.lua16
-rw-r--r--pkgs/custom-neovim/config/lua/lsp.lua81
-rw-r--r--pkgs/custom-neovim/config/lua/options.lua60
-rw-r--r--pkgs/custom-neovim/config/lua/plugins/colorschemes.lua19
-rw-r--r--pkgs/custom-neovim/config/lua/plugins/mini-clue.lua57
-rw-r--r--pkgs/custom-neovim/config/lua/plugins/mini-files.lua6
-rw-r--r--pkgs/custom-neovim/config/lua/plugins/mini-pick.lua22
-rw-r--r--pkgs/custom-neovim/config/lua/plugins/mini-statusline.lua7
-rw-r--r--pkgs/custom-neovim/default.nix112
-rw-r--r--pkgs/custom-neovim/time787
-rw-r--r--pkgs/custom-neovim/todo.md3
-rw-r--r--pkgs/default.nix1
-rw-r--r--pkgs/old-custom-neovim/.envrc (renamed from pkgs/custom-neovim/.envrc)0
-rw-r--r--pkgs/old-custom-neovim/config/init.lua67
-rw-r--r--pkgs/old-custom-neovim/config/lua/art.lua (renamed from pkgs/custom-neovim/config/lua/art.lua)0
-rw-r--r--pkgs/old-custom-neovim/config/lua/autocommands.lua (renamed from pkgs/custom-neovim/config/lua/autocommands.lua)0
-rw-r--r--pkgs/old-custom-neovim/config/lua/colorschemes.lua (renamed from pkgs/custom-neovim/config/lua/colorschemes.lua)0
-rw-r--r--pkgs/old-custom-neovim/config/lua/colorschemes/carbonfox.lua (renamed from pkgs/custom-neovim/config/lua/colorschemes/carbonfox.lua)0
-rw-r--r--pkgs/old-custom-neovim/config/lua/completion.lua (renamed from pkgs/custom-neovim/config/lua/completion.lua)0
-rw-r--r--pkgs/old-custom-neovim/config/lua/lsp.lua87
-rw-r--r--pkgs/old-custom-neovim/config/lua/mappings.lua (renamed from pkgs/custom-neovim/config/lua/mappings.lua)3
-rw-r--r--pkgs/old-custom-neovim/config/lua/neovide.lua (renamed from pkgs/custom-neovim/config/lua/neovide.lua)0
-rw-r--r--pkgs/old-custom-neovim/config/lua/options.lua58
-rw-r--r--pkgs/old-custom-neovim/config/lua/plugins/actions-preview.lua (renamed from pkgs/custom-neovim/config/lua/plugins/actions-preview.lua)0
-rw-r--r--pkgs/old-custom-neovim/config/lua/plugins/auto-session.lua (renamed from pkgs/custom-neovim/config/lua/plugins/auto-session.lua)0
-rw-r--r--pkgs/old-custom-neovim/config/lua/plugins/comment.lua (renamed from pkgs/custom-neovim/config/lua/plugins/comment.lua)0
-rw-r--r--pkgs/old-custom-neovim/config/lua/plugins/dropbar.lua (renamed from pkgs/custom-neovim/config/lua/plugins/dropbar.lua)0
-rw-r--r--pkgs/old-custom-neovim/config/lua/plugins/fidget.lua (renamed from pkgs/custom-neovim/config/lua/plugins/fidget.lua)0
-rw-r--r--pkgs/old-custom-neovim/config/lua/plugins/focus.lua (renamed from pkgs/custom-neovim/config/lua/plugins/focus.lua)0
-rw-r--r--pkgs/old-custom-neovim/config/lua/plugins/gitsigns.lua (renamed from pkgs/custom-neovim/config/lua/plugins/gitsigns.lua)0
-rw-r--r--pkgs/old-custom-neovim/config/lua/plugins/incline.lua (renamed from pkgs/custom-neovim/config/lua/plugins/incline.lua)0
-rw-r--r--pkgs/old-custom-neovim/config/lua/plugins/mini/clue.lua (renamed from pkgs/custom-neovim/config/lua/plugins/mini/clue.lua)0
-rw-r--r--pkgs/old-custom-neovim/config/lua/plugins/mini/cursorword.lua (renamed from pkgs/custom-neovim/config/lua/plugins/mini/cursorword.lua)0
-rw-r--r--pkgs/old-custom-neovim/config/lua/plugins/mini/files.lua (renamed from pkgs/custom-neovim/config/lua/plugins/mini/files.lua)0
-rw-r--r--pkgs/old-custom-neovim/config/lua/plugins/mini/git.lua (renamed from pkgs/custom-neovim/config/lua/plugins/mini/git.lua)0
-rw-r--r--pkgs/old-custom-neovim/config/lua/plugins/mini/icons.lua (renamed from pkgs/custom-neovim/config/lua/plugins/mini/icons.lua)0
-rw-r--r--pkgs/old-custom-neovim/config/lua/plugins/mini/indentscope.lua (renamed from pkgs/custom-neovim/config/lua/plugins/mini/indentscope.lua)0
-rw-r--r--pkgs/old-custom-neovim/config/lua/plugins/mini/pairs.lua (renamed from pkgs/custom-neovim/config/lua/plugins/mini/pairs.lua)0
-rw-r--r--pkgs/old-custom-neovim/config/lua/plugins/mini/tabline.lua (renamed from pkgs/custom-neovim/config/lua/plugins/mini/tabline.lua)0
-rw-r--r--pkgs/old-custom-neovim/config/lua/plugins/namu.lua (renamed from pkgs/custom-neovim/config/lua/plugins/namu.lua)0
-rw-r--r--pkgs/old-custom-neovim/config/lua/plugins/presence.lua (renamed from pkgs/custom-neovim/config/lua/plugins/presence.lua)0
-rw-r--r--pkgs/old-custom-neovim/config/lua/plugins/render-markdown.lua (renamed from pkgs/custom-neovim/config/lua/plugins/render-markdown.lua)0
-rw-r--r--pkgs/old-custom-neovim/config/lua/plugins/snacks.lua (renamed from pkgs/custom-neovim/config/lua/plugins/snacks.lua)0
-rw-r--r--pkgs/old-custom-neovim/config/lua/plugins/tabby.lua (renamed from pkgs/custom-neovim/config/lua/plugins/tabby.lua)0
-rw-r--r--pkgs/old-custom-neovim/config/lua/plugins/treesitter.lua (renamed from pkgs/custom-neovim/config/lua/plugins/treesitter.lua)0
-rw-r--r--pkgs/old-custom-neovim/config/lua/plugins/ts-autotag.lua (renamed from pkgs/custom-neovim/config/lua/plugins/ts-autotag.lua)0
-rw-r--r--pkgs/old-custom-neovim/config/lua/statusline.lua (renamed from pkgs/custom-neovim/config/lua/statusline.lua)0
-rw-r--r--pkgs/old-custom-neovim/config/lua/utilities.lua (renamed from pkgs/custom-neovim/config/lua/utilities.lua)0
-rw-r--r--pkgs/old-custom-neovim/default.nix83
-rw-r--r--pkgs/old-custom-neovim/design.md (renamed from pkgs/custom-neovim/design.md)7
-rw-r--r--pkgs/old-custom-neovim/flake.lock (renamed from pkgs/custom-neovim/flake.lock)0
-rw-r--r--pkgs/old-custom-neovim/flake.nix (renamed from pkgs/custom-neovim/flake.nix)0
-rw-r--r--pkgs/old-custom-neovim/git-plugins.nix (renamed from pkgs/custom-neovim/git-plugins.nix)0
54 files changed, 1311 insertions, 233 deletions
diff --git a/pkgs/custom-neovim/config/init.lua b/pkgs/custom-neovim/config/init.lua
index cd5e09b..d567b58 100644
--- a/pkgs/custom-neovim/config/init.lua
+++ b/pkgs/custom-neovim/config/init.lua
@@ -1,67 +1,7 @@
-local should_profile = os.getenv("NVIM_PROFILE")
-if should_profile then
- require("profile").instrument_autocmds()
- if should_profile:lower():match("^start") then
- require("profile").start("*")
- else
- require("profile").instrument("*")
- end
-end
+-- Load plugins
+require('lz.n').load('plugins')
-local function toggle_profile()
- local prof = require("profile")
- if prof.is_recording() then
- prof.stop()
- vim.ui.input({ prompt = "Save profile to:", completion = "file", default = "profile.json" }, function(filename)
- if filename then
- prof.export(filename)
- vim.notify(string.format("Wrote %s", filename))
- end
- end)
- else
- prof.start("*")
- end
-end
-vim.keymap.set("", "<f1>", toggle_profile)
-
--- Require utilities.
-require("utilities")
-require("art")
-
--- Require config parts.
+-- Require config modules
require("options")
-require("autocommands")
-require("colorschemes")
-require("neovide")
-require("mappings")
-require("statusline")
-require("completion")
+require("keymaps")
require("lsp")
-
--- UI Plugins:
-require("plugins.mini.icons")
-require("plugins.mini.tabline")
-require("plugins.mini.clue")
-require("plugins.mini.indentscope")
-require("plugins.fidget")
-require("plugins.treesitter")
-require("plugins.mini.files")
-require("plugins.incline")
-require("plugins.auto-session")
-require("plugins.gitsigns")
-require("plugins.namu")
-require("plugins.focus")
-
--- LSP Plugins:
-require("plugins.actions-preview")
-
--- Utility Plugins:
-require("plugins.mini.git")
-require("plugins.mini.pairs")
-require("plugins.ts-autotag")
-require("plugins.comment")
-
--- Misc Plugins:
-require("plugins.presence")
-require("plugins.snacks")
--- require("hardtime").setup()
diff --git a/pkgs/custom-neovim/config/lua/keymaps.lua b/pkgs/custom-neovim/config/lua/keymaps.lua
new file mode 100644
index 0000000..f766fb5
--- /dev/null
+++ b/pkgs/custom-neovim/config/lua/keymaps.lua
@@ -0,0 +1,16 @@
+-- Create keymap function
+local mapkey = function(mode, key, desc, action, plugin)
+ local keymapper = plugin and require("lz.n").keymap(plugin).set or vim.keymap.set
+ keymapper(mode, key, action, {noremap = true, silent = true, desc = desc})
+end
+
+-- Set the leader key
+vim.g.mapleader = " "
+
+-- Pickers
+mapkey("n", "<leader>f", "Open file picker", ":Pick files<cr>", "mini.pick")
+mapkey("n", "<leader>o", "Open old file picker", ":Pick oldfiles<cr>", "mini.pick")
+mapkey("n", "<leader>/", "Open live grep picker", ":Pick grep_live<cr>", "mini.pick")
+
+-- File manager
+mapkey("n", "<leader>e", "Open file manager", ":lua MiniFiles.open()<cr>", "mini.files")
diff --git a/pkgs/custom-neovim/config/lua/lsp.lua b/pkgs/custom-neovim/config/lua/lsp.lua
index a01758c..a4a25bc 100644
--- a/pkgs/custom-neovim/config/lua/lsp.lua
+++ b/pkgs/custom-neovim/config/lua/lsp.lua
@@ -1,3 +1,23 @@
+-- Lua LS
+vim.lsp.config("lua_ls", {
+ cmd = { 'lua-language-server' },
+ filetypes = { 'lua' },
+ root_markers = {
+ '.luarc.json',
+ '.luarc.jsonc',
+ '.luacheckrc',
+ '.stylua.toml',
+ 'stylua.toml',
+ 'selene.toml',
+ 'selene.yml',
+ '.git',
+ },
+ }
+)
+vim.lsp.enable("lua_ls")
+
+-- LSP Autocommands
+
-- Disable semantic tokens to stop weird highlighting.
vim.api.nvim_create_autocmd('LspAttach', {
callback = function(ev)
@@ -16,22 +36,17 @@ vim.api.nvim_create_autocmd('LspAttach', {
-- Enable completion triggered by <c-x><c-o>
-- vim.bo[ev.buf].omnifunc = 'v:lua.vim.lsp.omnifunc'
- local mapkey = Utils.mapkey
-
- -- Workspace management
- mapkey('n', "<leader>o", "Manage LSP workspace", "")
- mapkey('n', '<leader>oa', "Add Workspace Folder", vim.lsp.buf.add_workspace_folder)
- mapkey('n', '<leader>or', "Remove Workspace Folder", vim.lsp.buf.remove_workspace_folder)
- mapkey('n', '<leader>ol', "List Workspace Folders", function()
- print(vim.inspect(vim.lsp.buf.list_workspace_folders()))
- end)
+ local mapkey = function(mode, key, desc, action, plugin)
+ local keymapper = plugin and require("lz.n").keymap(plugin).set or vim.keymap.set
+ keymapper(mode, key, action, {noremap = true, silent = true, desc = desc})
+ end
-- LSP Pickers
mapkey('n', "<leader>a", "Perform code action", ":lua require('actions-preview').code_actions()<cr>")
- -- mapkey("n", "<leader>I", "Open workspace diagnostic picker", ":Namu diagnostics<cr>")
- mapkey("n", "<leader>i", "Open diagnostic picker", ":Namu diagnostics<cr>")
- mapkey("n", "<leader>s", "Open symbol picker", ":Namu symbols<cr>")
- mapkey("n", "<leader>S", "Open workspace symbol picker", ":Namu workspace<cr>")
+ mapkey("n", "<leader>S", "Open workspace symbol picker", [[:Pick lsp scope="workspace_symbol"<cr>]], "mini.pick")
+ mapkey("n", "<leader>s", "Open symbol picker", [[:Pick lsp scope="document_symbol"<cr>]], "mini.pick")
+ mapkey("n", "<leader>I", "Open workspace diagnostic picker", [[:Pick diagnostic scope="all"<cr>]], "mini.pick")
+ mapkey("n", "<leader>i", "Open diagnostic picker", [[:Pick diagnostic scope="current"<cr>]], "mini.pick")
-- Goto Keys
mapkey('n', 'gD', "Go to declaration", vim.lsp.buf.declaration)
@@ -41,47 +56,11 @@ vim.api.nvim_create_autocmd('LspAttach', {
-- Other LSP Keys
mapkey('n', 'gs', "Signature Help", vim.lsp.buf.signature_help)
- mapkey('n', 'gr', "Buffer References", vim.lsp.buf.references)
+ mapkey('n', 'gR', "Buffer References", vim.lsp.buf.references)
+ mapkey('n', 'gr', "Open ", vim.lsp.buf.references)
mapkey('n', '<leader>r', "Rename Symbol", vim.lsp.buf.rename)
mapkey('n', '<leader>h', "Format Buffer", function()
vim.lsp.buf.format { async = true }
end)
end,
})
-
-local lspconfig = require('lspconfig')
-
--- Configure individual lsps
-lspconfig.nil_ls.setup {}
-lspconfig.lua_ls.setup {
- on_init = function(client)
- local path = client.workspace_folders[1].name
- if vim.loop.fs_stat(path..'/.luarc.json') or vim.loop.fs_stat(path..'/.luarc.jsonc') then
- return
- end
-
- client.config.settings.Lua = vim.tbl_deep_extend('force', client.config.settings.Lua, {
- runtime = {
- -- Tell the language server which version of Lua you're using
- -- (most likely LuaJIT in the case of Neovim)
- version = 'LuaJIT'
- },
- -- Make the server aware of Neovim runtime files
- workspace = {
- checkThirdParty = false,
- library = {
- vim.env.VIMRUNTIME,
- -- Depending on the usage, you might want to add additional paths here.
- "${3rd}/luv/library"
- -- "${3rd}/busted/library",
- }
- -- or pull in all of 'runtimepath'. NOTE: this is a lot slower
- -- library = vim.api.nvim_get_runtime_file("", true)
- }
- })
- end,
- settings = {
- Lua = {}
- }
-}
-lspconfig.marksman.setup {}
diff --git a/pkgs/custom-neovim/config/lua/options.lua b/pkgs/custom-neovim/config/lua/options.lua
index 20f3e01..6840085 100644
--- a/pkgs/custom-neovim/config/lua/options.lua
+++ b/pkgs/custom-neovim/config/lua/options.lua
@@ -1,43 +1,16 @@
--- General Settings
-vim.o.winborder = 'rounded'
-vim.o.showtabline = 2 -- whether to only show tabline if there is more than one tab.
+-- General
+vim.opt.clipboard = "unnamedplus" -- use system clipboard
+vim.o.mouse = "" -- Don't use mouse
+
+-- UI
+vim.o.winborder = 'rounded' -- rounded window borders where possible.
+vim.o.showtabline = 1 -- whether to only show tabline if there is more than one tab.
vim.o.laststatus = 3 -- only have one statusline at the bottom of the window.
vim.o.showmode = false -- don't show the mode in the commandline.
vim.o.ruler = false -- don't show #,# in the commandline.
-vim.o.icm = 'split'
-vim.o.cia = 'abbr,kind,menu'
-vim.o.mouse = ""
vim.o.number = true -- set absolute numbered lines
--- vim.o.relativenumber = true -- set relative numbered lines
vim.o.scrolloff = 4 -- minimal number of screen lines to keep above and below the cursor
vim.o.signcolumn = "yes" -- always show the sign column, otherwise it would shift the text each time
-vim.o.clipboard = "unnamedplus" -- use system clipboard
--- vim.o.equalalways = true -- equalize splits
-vim.o.sessionoptions = "blank,curdir,folds,help,tabpages,winsize,winpos,terminal,globals,buffers,localoptions" -- define what is saved with the session.
-
--- Split Behavior
-vim.o.splitright = true
-vim.o.splitbelow = true
-
--- Indention
-local indent = 2
-vim.o.autoindent = true -- auto indentation
-vim.o.expandtab = true -- convert tabs to spaces
-vim.o.shiftwidth = indent -- the number of spaces inserted for each indentation
-vim.o.smartindent = true -- make indenting smarter
-vim.o.softtabstop = indent -- when hitting <BS>, pretend like a tab is removed, even if spaces
-vim.o.tabstop = indent -- insert 2 spaces for a tab
-vim.o.shiftround = true -- use multiple of shiftwidth when indenting with "<" and ">"
-
--- Backups
-vim.o.backup = false -- create a backup file
-vim.o.swapfile = false -- creates a swapfile
-vim.o.writebackup = false -- if a file is being edited by another program, it is not allowed to be edited
-
--- Search
-vim.o.hlsearch = true -- highlight all matches on previous search pattern
-vim.o.ignorecase = true -- ignore case in search patterns
-vim.o.smartcase = true -- smart case
-- Folding
vim.o.foldmethod = "expr"
@@ -56,3 +29,22 @@ vim.opt.fillchars = {
vertright = '┣',
verthoriz = '╋',
}
+
+-- Splits
+vim.o.splitright = true
+vim.o.splitbelow = true
+
+-- Indention
+local indent = 2
+vim.o.autoindent = true -- auto indentation
+vim.o.expandtab = true -- convert tabs to spaces
+vim.o.shiftwidth = indent -- the number of spaces inserted for each indentation
+vim.o.smartindent = true -- make indenting smarter
+vim.o.softtabstop = indent -- when hitting <BS>, pretend like a tab is removed, even if spaces
+vim.o.tabstop = indent -- insert 2 spaces for a tab
+vim.o.shiftround = true -- use multiple of shiftwidth when indenting with "<" and ">"
+
+-- Backups
+vim.o.backup = false -- create a backup file
+vim.o.swapfile = false -- creates a swapfile
+vim.o.writebackup = false -- if a file is being edited by another program, it is not allowed to be edited
diff --git a/pkgs/custom-neovim/config/lua/plugins/colorschemes.lua b/pkgs/custom-neovim/config/lua/plugins/colorschemes.lua
new file mode 100644
index 0000000..1ca3c7e
--- /dev/null
+++ b/pkgs/custom-neovim/config/lua/plugins/colorschemes.lua
@@ -0,0 +1,19 @@
+return {
+ {
+ "nightfox.nvim",
+ -- lazy = false,
+ event = "VimEnter",
+ after = function ()
+ require("nightfox").setup {
+ options = {
+ module_default = false,
+ modules = {
+ "mini",
+ "treesitter",
+ },
+ },
+ }
+ vim.cmd.colorscheme("carbonfox")
+ end
+ },
+}
diff --git a/pkgs/custom-neovim/config/lua/plugins/mini-clue.lua b/pkgs/custom-neovim/config/lua/plugins/mini-clue.lua
new file mode 100644
index 0000000..752b001
--- /dev/null
+++ b/pkgs/custom-neovim/config/lua/plugins/mini-clue.lua
@@ -0,0 +1,57 @@
+return {
+ "mini.clue",
+ event = "VimEnter", -- Load after everything else to capture all keybinds.
+ after = function()
+ local miniclue = require('mini.clue')
+ miniclue.setup({
+ triggers = {
+ -- Leader triggers
+ { mode = 'n', keys = '<Leader>' },
+ { mode = 'x', keys = '<Leader>' },
+
+ -- Built-in completion
+ { mode = 'i', keys = '<C-x>' },
+
+ -- `g` key
+ { mode = 'n', keys = 'g' },
+ { mode = 'x', keys = 'g' },
+
+ -- Marks
+ { mode = 'n', keys = "'" },
+ { mode = 'n', keys = '`' },
+ { mode = 'x', keys = "'" },
+ { mode = 'x', keys = '`' },
+
+ -- Registers
+ { mode = 'n', keys = '"' },
+ { mode = 'x', keys = '"' },
+ { mode = 'i', keys = '<C-r>' },
+ { mode = 'c', keys = '<C-r>' },
+
+ -- Window commands
+ { mode = 'n', keys = '<C-w>' },
+
+ -- `z` key
+ { mode = 'n', keys = 'z' },
+ { mode = 'x', keys = 'z' },
+ },
+
+ clues = {
+ { mode = {'n', 'v'}, keys = '<Leader>' },
+ miniclue.gen_clues.builtin_completion(),
+ miniclue.gen_clues.g(),
+ miniclue.gen_clues.marks(),
+ miniclue.gen_clues.registers(),
+ miniclue.gen_clues.windows(),
+ miniclue.gen_clues.z(),
+ },
+
+ window = {
+ delay = 0,
+
+ scroll_down = "<C-d>",
+ scroll_up = "<C-u>",
+ },
+ })
+ end
+}
diff --git a/pkgs/custom-neovim/config/lua/plugins/mini-files.lua b/pkgs/custom-neovim/config/lua/plugins/mini-files.lua
new file mode 100644
index 0000000..d979221
--- /dev/null
+++ b/pkgs/custom-neovim/config/lua/plugins/mini-files.lua
@@ -0,0 +1,6 @@
+return {
+ "mini.files",
+ after = function()
+ require("mini.files").setup()
+ end
+}
diff --git a/pkgs/custom-neovim/config/lua/plugins/mini-pick.lua b/pkgs/custom-neovim/config/lua/plugins/mini-pick.lua
new file mode 100644
index 0000000..c08c1de
--- /dev/null
+++ b/pkgs/custom-neovim/config/lua/plugins/mini-pick.lua
@@ -0,0 +1,22 @@
+return {
+ "mini.pick",
+ cmd = "Pick",
+ after = function()
+ local win_config = function()
+ local height = math.floor(0.618 * vim.o.lines)
+ local width = math.floor(0.618 * vim.o.columns)
+ return {
+ anchor = 'NW', height = height, width = width,
+ row = math.floor(0.5 * (vim.o.lines - height)),
+ col = math.floor(0.5 * (vim.o.columns - width)),
+ }
+ end
+ require("mini.pick").setup {
+ window = {
+ config = win_config,
+ },
+ }
+ vim.cmd.packadd("mini.extra")
+ require("mini.extra").setup()
+ end
+}
diff --git a/pkgs/custom-neovim/config/lua/plugins/mini-statusline.lua b/pkgs/custom-neovim/config/lua/plugins/mini-statusline.lua
new file mode 100644
index 0000000..f3bf10b
--- /dev/null
+++ b/pkgs/custom-neovim/config/lua/plugins/mini-statusline.lua
@@ -0,0 +1,7 @@
+return {
+ "mini.statusline",
+ lazy = false,
+ after = function()
+ require("mini.statusline").setup()
+ end
+}
diff --git a/pkgs/custom-neovim/default.nix b/pkgs/custom-neovim/default.nix
index 7a75368..f5d63e3 100644
--- a/pkgs/custom-neovim/default.nix
+++ b/pkgs/custom-neovim/default.nix
@@ -1,83 +1,39 @@
{
pkgs,
inputs,
-}: let
- git-plugins = import ./git-plugins.nix {inherit pkgs;};
-in
- inputs.mnw.lib.wrap pkgs {
- neovim = pkgs.neovim-unwrapped;
- plugins = with pkgs.vimPlugins; {
- dev.config = {
- pure = ./config;
- };
- start = [
- # Core Plugins
- mini-nvim # Ton of small modules.
- nvim-lspconfig # Adds lsp presets.
- actions-preview-nvim # Adds a selector for LSP actions.
- nvim-treesitter.withAllGrammars # All treesitter grammars.
- snacks-nvim # Many small modules.
- auto-session # Automatic session manager.
- nvim-ts-autotag # Autopair HTML tags.
- gitsigns-nvim # Git signcolumn.
- git-plugins.namu-nvim-git # LSP and colorscheme picker.
- vim-nix # Indenting for nix files.
- comment-nvim # Advanced commenting.
- fidget-nvim # Simple notification UI
- focus-nvim # Automatic split resizer and manager.
- render-markdown-nvim # Render markdown fancily.
- incline-nvim # Puts the filename in the winbar.
-
- git-plugins.profile-nvim-git
-
- # Completion
- nvim-cmp # Completer.
- cmp-buffer
- cmp-path
- cmp_luasnip
- cmp-nvim-lsp
- luasnip # Snippet manager.
- friendly-snippets # Snippet collection.
-
- # Colorschemes
- oxocarbon-nvim # IBM Carbon themes.
- rose-pine # Rose Pine themes.
- kanagawa-nvim # Kanagawa inspired themes.
- everforest # Green themes.
- nordic-nvim # Cool dark nordic theme.
- tokyonight-nvim
- nightfox-nvim # Varied colorscheme collection.
-
- # Miscellaneous Plugins
- presence-nvim # Discord RPC for nvim.
- cellular-automaton-nvim # Fun useless plugin.
- vim-wakatime # For hack club challenge.
- hardtime-nvim # Break bad vim habits.
- ];
- opt = [];
+}:
+inputs.mnw.lib.wrap pkgs {
+ neovim = pkgs.neovim-unwrapped;
+ plugins = with pkgs.vimPlugins; {
+ dev.config = {
+ pure = ./config;
+ impure = "/home/culsans/Sync/setup/pkgs/custom-neovim/config";
};
-
- luaFiles = [./config/init.lua];
-
- extraBinPath = with pkgs; [
- # LSP Servers
- lua-language-server # Lua LS
- nixd # Nix LS
- nil
- marksman # Markdown LS
-
- # Formatters
- alejandra # Nix Formatter
-
- # Extra Tools
- ripgrep
- fd
- cliphist
- lazygit
- luajitPackages.jsregexp
- gcc
-
- # Temporary
- wakatime-cli
+ start = [
+ # Not lazy loaded.
+ lz-n # Lazy loader
+ nvim-treesitter.withAllGrammars # All treesitter grammars
+ ];
+ opt = [
+ # Lazy loaded.
+ mini-clue
+ mini-pick
+ mini-statusline
+ mini-files
+ mini-extra
+ comment-nvim
+ vim-nix
+ nightfox-nvim
];
- }
+ };
+ luaFiles = [./config/init.lua];
+ extraBinPath = with pkgs; [
+ # LSP Servers
+ lua-language-server
+
+ # Extra Utils
+ ripgrep
+ gcc
+ fd
+ ];
+}
diff --git a/pkgs/custom-neovim/time b/pkgs/custom-neovim/time
new file mode 100644
index 0000000..19ebc08
--- /dev/null
+++ b/pkgs/custom-neovim/time
@@ -0,0 +1,787 @@
+--- Startup times for process: Primary (or UI client) ---
+
+times in msec
+ clock self+sourced self: sourced script
+ clock elapsed: other lines
+
+000.002 000.002: --- NVIM STARTING ---
+000.122 000.120: event init
+000.202 000.080: early init
+000.245 000.043: locale set
+000.290 000.045: init first window
+000.656 000.366: inits 1
+000.665 000.008: window checked
+000.667 000.002: parsing arguments
+001.186 000.047 000.047: require('vim.shared')
+001.289 000.042 000.042: require('vim.inspect')
+001.339 000.041 000.041: require('vim._options')
+001.341 000.150 000.067: require('vim._editor')
+001.343 000.239 000.041: require('vim._init_packages')
+001.345 000.439: init lua interpreter
+002.712 001.367: nvim_ui_attach
+003.009 000.297: nvim_set_client_info
+003.011 000.002: --- NVIM STARTED ---
+
+--- Startup times for process: Embedded ---
+
+times in msec
+ clock self+sourced self: sourced script
+ clock elapsed: other lines
+
+000.002 000.002: --- NVIM STARTING ---
+000.133 000.131: event init
+000.203 000.070: early init
+000.256 000.053: locale set
+000.305 000.049: init first window
+000.649 000.344: inits 1
+000.660 000.011: window checked
+000.661 000.002: parsing arguments
+001.092 000.038 000.038: require('vim.shared')
+001.180 000.032 000.032: require('vim.inspect')
+001.219 000.032 000.032: require('vim._options')
+001.220 000.123 000.059: require('vim._editor')
+001.221 000.183 000.022: require('vim._init_packages')
+001.223 000.378: init lua interpreter
+001.275 000.053: expanding arguments
+001.298 000.023: inits 2
+001.538 000.240: init highlight
+001.538 000.001: waiting for UI
+001.703 000.164: done waiting for UI
+001.709 000.006: clear screen
+001.817 000.008 000.008: require('vim.keymap')
+002.462 000.124 000.124: sourcing nvim_exec2()
+002.620 000.909 000.778: require('vim._defaults')
+002.622 000.004: init default mappings & autocommands
+002.926 000.304: --cmd commands
+003.914 000.046 000.046: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/ftplugin.vim
+003.981 000.016 000.016: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/indent.vim
+004.297 000.122 000.122: require('lz.n')
+004.459 000.159 000.159: require('lz.n.spec')
+004.481 000.019 000.019: require('vim.fs')
+004.652 000.028 000.028: require('plugins.colorschemes')
+005.023 000.367 000.367: require('vim.iter')
+005.369 000.121 000.121: require('lz.n.loader')
+005.439 000.068 000.068: require('lz.n.handler.state')
+005.442 000.283 000.095: require('lz.n.handler.cmd')
+005.592 000.149 000.149: require('lz.n.handler.event')
+005.647 000.054 000.054: require('lz.n.handler.ft')
+005.766 000.118 000.118: require('lz.n.handler.keys')
+005.823 000.055 000.055: require('lz.n.handler.colorscheme')
+005.867 000.043 000.043: require('lz.n.handler.lazy')
+005.869 000.818 000.117: require('lz.n.handler')
+005.917 000.040 000.040: require('plugins.mini-clue')
+005.950 000.019 000.019: require('plugins.mini-files')
+006.012 000.039 000.039: require('plugins.mini-pick')
+006.042 000.019 000.019: require('plugins.mini-statusline')
+006.587 000.028 000.028: sourcing /nix/store/cbvmcpy9w5nkai20x736xqaglc5njrdd-mnw-configDir/pack/mnw/opt/nightfox.nvim/plugin/nightfox.vim
+007.856 000.078 000.078: require('nightfox.lib.collect')
+007.959 000.100 000.100: require('nightfox.util')
+007.994 000.328 000.150: require('nightfox.config')
+008.105 000.108 000.108: require('nightfox')
+008.179 000.072 000.072: require('nightfox.override')
+008.281 000.057 000.057: require('nightfox.lib.hash')
+008.357 000.073 000.073: require('nightfox.lib.log')
+008.543 000.083 000.083: require('nightfox.lib.highlight')
+008.545 000.187 000.104: require('nightfox.lib.compiler')
+008.675 000.129 000.129: require('nightfox.palette')
+008.836 000.080 000.080: require('nightfox.util.template')
+008.838 000.161 000.081: require('nightfox.spec')
+009.205 000.236 000.236: require('nightfox.lib.color')
+009.272 000.065 000.065: require('nightfox.lib.shade')
+009.376 000.535 000.234: require('nightfox.palette.carbonfox')
+009.718 000.116 000.116: require('nightfox.group')
+009.929 000.209 000.209: require('nightfox.group.editor')
+010.037 000.093 000.093: require('nightfox.group.syntax')
+010.127 000.052 000.052: require('nightfox.group.modules.alpha')
+010.176 000.042 000.042: require('nightfox.group.modules.aerial')
+010.242 000.059 000.059: require('nightfox.group.modules.barbar')
+010.324 000.072 000.072: require('nightfox.group.modules.blink')
+010.422 000.070 000.070: require('nightfox.group.modules.cmp')
+010.480 000.044 000.044: require('nightfox.group.modules.coc')
+010.561 000.060 000.060: require('nightfox.group.modules.dap_ui')
+010.629 000.046 000.046: require('nightfox.group.modules.dashboard')
+010.703 000.061 000.061: require('nightfox.group.modules.diagnostic')
+010.761 000.043 000.043: require('nightfox.group.modules.fern')
+010.817 000.042 000.042: require('nightfox.group.modules.fidget')
+010.873 000.044 000.044: require('nightfox.group.modules.gitgutter')
+010.931 000.043 000.043: require('nightfox.group.modules.gitsigns')
+010.996 000.053 000.053: require('nightfox.group.modules.glyph_palette')
+011.076 000.047 000.047: require('nightfox.group.modules.hop')
+011.142 000.043 000.043: require('nightfox.group.modules.illuminate')
+011.212 000.050 000.050: require('nightfox.group.modules.indent_blankline')
+011.279 000.043 000.043: require('nightfox.group.modules.lazy')
+011.348 000.050 000.050: require('nightfox.group.modules.leap')
+011.410 000.042 000.042: require('nightfox.group.modules.lightspeed')
+011.485 000.050 000.050: require('nightfox.group.modules.lsp_saga')
+011.577 000.071 000.071: require('nightfox.group.modules.lsp_semantic_tokens')
+011.647 000.046 000.046: require('nightfox.group.modules.lsp_trouble')
+011.797 000.130 000.130: require('nightfox.group.modules.mini')
+011.874 000.046 000.046: require('nightfox.group.modules.modes')
+011.951 000.050 000.050: require('nightfox.group.modules.native_lsp')
+012.038 000.064 000.064: require('nightfox.group.modules.navic')
+012.126 000.055 000.055: require('nightfox.group.modules.neogit')
+012.215 000.061 000.061: require('nightfox.group.modules.neotest')
+012.314 000.071 000.071: require('nightfox.group.modules.neotree')
+012.449 000.087 000.087: require('nightfox.group.modules.notify')
+012.604 000.091 000.091: require('nightfox.group.modules.nvimtree')
+012.727 000.062 000.062: require('nightfox.group.modules.pounce')
+012.820 000.057 000.057: require('nightfox.group.modules.signify')
+012.917 000.056 000.056: require('nightfox.group.modules.sneak')
+013.015 000.057 000.057: require('nightfox.group.modules.symbol_outline')
+013.203 000.083 000.083: require('nightfox.group.modules.rainbow-delimiters')
+013.361 000.107 000.107: require('nightfox.group.modules.telescope')
+013.528 000.136 000.136: require('nightfox.group.modules.treesitter')
+013.629 000.065 000.065: require('nightfox.group.modules.tsrainbow')
+013.708 000.047 000.047: require('nightfox.group.modules.tsrainbow2')
+013.787 000.046 000.046: require('nightfox.group.modules.whichkey')
+013.868 000.050 000.050: require('nightfox.group.terminal')
+016.007 000.178 000.178: require('nightfox.palette.dawnfox')
+019.233 000.191 000.191: require('nightfox.palette.dayfox')
+021.989 000.137 000.137: require('nightfox.palette.duskfox')
+024.842 000.209 000.209: require('nightfox.palette.nightfox')
+027.485 000.220 000.220: require('nightfox.palette.nordfox')
+030.303 000.222 000.222: require('nightfox.palette.terafox')
+033.207 025.560 019.738: sourcing /nix/store/cbvmcpy9w5nkai20x736xqaglc5njrdd-mnw-configDir/pack/mnw/opt/nightfox.nvim/colors/carbonfox.vim
+034.917 001.209 001.209: require('mini.statusline')
+037.937 002.548 002.548: require('mini.files')
+038.085 000.013 000.013: sourcing nvim_exec2() called at /nix/store/cbvmcpy9w5nkai20x736xqaglc5njrdd-mnw-configDir/init.lua:0
+038.093 000.004 000.004: sourcing nvim_exec2() called at /nix/store/cbvmcpy9w5nkai20x736xqaglc5njrdd-mnw-configDir/init.lua:0
+039.426 000.109 000.109: require('vim.treesitter.language')
+039.487 000.059 000.059: require('vim.func')
+039.623 000.133 000.133: require('vim.func._memoize')
+039.639 000.746 000.445: require('vim.treesitter.query')
+039.755 000.114 000.114: require('vim.treesitter._range')
+039.764 001.341 000.480: require('vim.treesitter.languagetree')
+039.768 001.561 000.220: require('vim.treesitter')
+040.000 000.231 000.231: require('vim.treesitter._fold')
+040.039 001.909 000.117: require('options')
+040.408 000.368 000.368: require('keymaps')
+041.227 000.181 000.181: require('vim.lsp.log')
+041.705 000.475 000.475: require('vim.lsp.protocol')
+042.629 000.921 000.921: require('vim.lsp.util')
+042.985 000.164 000.164: require('vim.lsp.sync')
+042.988 000.357 000.193: require('vim.lsp._changetracking')
+043.407 000.131 000.131: require('vim.lsp._transport')
+043.453 000.448 000.316: require('vim.lsp.rpc')
+043.491 003.024 000.642: require('vim.lsp')
+043.538 003.127 000.104: require('lsp')
+043.539 039.405 003.009: sourcing /nix/store/cbvmcpy9w5nkai20x736xqaglc5njrdd-mnw-configDir/init.lua
+043.543 001.150: sourcing vimrc file(s)
+043.802 000.092 000.092: sourcing nvim_exec2() called at /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/filetype.lua:0
+043.806 000.150 000.058: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/filetype.lua
+044.036 000.083 000.083: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/syntax/synload.vim
+044.133 000.278 000.195: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/syntax/syntax.vim
+044.873 000.010 000.010: sourcing /nix/store/cbvmcpy9w5nkai20x736xqaglc5njrdd-mnw-configDir/pack/mnw/opt/nightfox.nvim/plugin/nightfox.vim
+045.460 000.170 000.170: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/gzip.vim
+046.275 000.142 000.142: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim
+046.373 000.886 000.744: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/matchit.vim
+046.487 000.093 000.093: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/matchparen.vim
+047.292 000.178 000.178: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/pack/dist/opt/netrw/plugin/netrwPlugin.vim
+047.382 000.872 000.695: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/netrwPlugin.vim
+047.559 000.151 000.151: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/rplugin.vim
+047.722 000.039 000.039: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/shada.vim
+047.761 000.011 000.011: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/spellfile.vim
+047.847 000.061 000.061: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/tarPlugin.vim
+047.891 000.012 000.012: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/tutor.vim
+048.009 000.090 000.090: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/zipPlugin.vim
+048.092 000.036 000.036: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/editorconfig.lua
+048.164 000.045 000.045: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/man.lua
+048.243 000.053 000.053: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/osc52.lua
+048.296 000.027 000.027: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/tohtml.lua
+048.312 001.783: loading rtp plugins
+050.038 000.125 000.125: require('nvim-treesitter.utils')
+051.541 001.500 001.500: require('nvim-treesitter.parsers')
+052.328 000.055 000.055: require('nvim-treesitter.compat')
+052.651 000.221 000.221: require('nvim-treesitter.ts_utils')
+052.655 000.325 000.103: require('nvim-treesitter.tsrange')
+052.711 000.055 000.055: require('nvim-treesitter.caching')
+052.718 000.640 000.205: require('nvim-treesitter.query')
+052.726 001.007 000.367: require('nvim-treesitter.configs')
+052.728 001.184 000.177: require('nvim-treesitter.info')
+052.892 000.164 000.164: require('nvim-treesitter.shell_command_selectors')
+052.904 003.426 000.453: require('nvim-treesitter.install')
+052.962 000.056 000.056: require('nvim-treesitter.statusline')
+053.064 000.100 000.100: require('nvim-treesitter.query_predicates')
+053.066 004.520 000.937: require('nvim-treesitter')
+053.766 005.268 000.748: sourcing /nix/store/cbvmcpy9w5nkai20x736xqaglc5njrdd-mnw-configDir/pack/mnw/start/nvim-treesitter/plugin/nvim-treesitter.lua
+054.061 000.481: loading packages
+054.062 000.001: loading after plugins
+054.069 000.007: inits 3
+056.199 002.130: reading ShaDa
+056.402 000.203: opening buffers
+056.434 000.032: BufEnter autocommands
+056.435 000.002: editing files in windows
+058.603 001.755 001.755: require('mini.clue')
+059.003 000.813: VimEnter autocommands
+059.014 000.004 000.004: require('vim.F')
+059.153 000.129 000.129: require('vim.termcap')
+059.170 000.010 000.010: require('vim.text')
+059.185 000.039: UIEnter autocommands
+059.501 000.222 000.222: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/autoload/provider/clipboard.vim
+059.506 000.098: before starting main loop
+060.037 000.531: first screen update
+060.039 000.002: --- NVIM STARTED ---
+
+--- Startup times for process: Primary (or UI client) ---
+
+times in msec
+ clock self+sourced self: sourced script
+ clock elapsed: other lines
+
+000.002 000.002: --- NVIM STARTING ---
+000.139 000.137: event init
+000.214 000.074: early init
+000.263 000.050: locale set
+000.317 000.054: init first window
+000.734 000.417: inits 1
+000.745 000.011: window checked
+000.747 000.002: parsing arguments
+001.211 000.039 000.039: require('vim.shared')
+001.293 000.034 000.034: require('vim.inspect')
+001.333 000.033 000.033: require('vim._options')
+001.334 000.120 000.054: require('vim._editor')
+001.335 000.186 000.027: require('vim._init_packages')
+001.337 000.403: init lua interpreter
+002.511 001.174: nvim_ui_attach
+002.737 000.227: nvim_set_client_info
+002.738 000.001: --- NVIM STARTED ---
+
+--- Startup times for process: Embedded ---
+
+times in msec
+ clock self+sourced self: sourced script
+ clock elapsed: other lines
+
+000.002 000.002: --- NVIM STARTING ---
+000.153 000.151: event init
+000.243 000.090: early init
+000.311 000.068: locale set
+000.364 000.053: init first window
+000.811 000.447: inits 1
+000.826 000.014: window checked
+000.828 000.002: parsing arguments
+001.294 000.042 000.042: require('vim.shared')
+001.387 000.039 000.039: require('vim.inspect')
+001.432 000.036 000.036: require('vim._options')
+001.434 000.135 000.059: require('vim._editor')
+001.435 000.209 000.032: require('vim._init_packages')
+001.436 000.399: init lua interpreter
+001.502 000.066: expanding arguments
+001.528 000.026: inits 2
+001.763 000.235: init highlight
+001.764 000.001: waiting for UI
+001.924 000.160: done waiting for UI
+001.930 000.006: clear screen
+002.043 000.009 000.009: require('vim.keymap')
+002.686 000.122 000.122: sourcing nvim_exec2()
+002.844 000.913 000.782: require('vim._defaults')
+002.846 000.004: init default mappings & autocommands
+003.117 000.271: --cmd commands
+004.259 000.063 000.063: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/ftplugin.vim
+004.337 000.017 000.017: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/indent.vim
+004.712 000.134 000.134: require('lz.n')
+004.827 000.113 000.113: require('lz.n.spec')
+004.891 000.061 000.061: require('vim.fs')
+005.009 000.026 000.026: require('plugins.colorschemes')
+005.326 000.315 000.315: require('vim.iter')
+005.649 000.104 000.104: require('lz.n.loader')
+005.726 000.075 000.075: require('lz.n.handler.state')
+005.730 000.274 000.095: require('lz.n.handler.cmd')
+005.869 000.138 000.138: require('lz.n.handler.event')
+005.922 000.052 000.052: require('lz.n.handler.ft')
+006.043 000.119 000.119: require('lz.n.handler.keys')
+006.099 000.055 000.055: require('lz.n.handler.colorscheme')
+006.136 000.036 000.036: require('lz.n.handler.lazy')
+006.141 000.790 000.117: require('lz.n.handler')
+006.192 000.041 000.041: require('plugins.mini-clue')
+006.293 000.024 000.024: require('plugins.mini-files')
+006.344 000.041 000.041: require('plugins.mini-pick')
+006.374 000.021 000.021: require('plugins.mini-statusline')
+009.396 002.466 002.466: require('mini.files')
+009.527 000.009 000.009: sourcing nvim_exec2() called at /nix/store/x872xdfy32agph86rdaig44mffp5w2cn-mnw-configDir/init.lua:0
+009.534 000.003 000.003: sourcing nvim_exec2() called at /nix/store/x872xdfy32agph86rdaig44mffp5w2cn-mnw-configDir/init.lua:0
+011.147 001.118 001.118: require('mini.statusline')
+012.446 000.104 000.104: require('vim.treesitter.language')
+012.501 000.053 000.053: require('vim.func')
+012.591 000.087 000.087: require('vim.func._memoize')
+012.607 000.678 000.434: require('vim.treesitter.query')
+012.732 000.124 000.124: require('vim.treesitter._range')
+012.751 001.286 000.484: require('vim.treesitter.languagetree')
+012.761 001.497 000.211: require('vim.treesitter')
+013.009 000.246 000.246: require('vim.treesitter._fold')
+013.051 001.857 000.115: require('options')
+013.368 000.315 000.315: require('keymaps')
+014.227 000.157 000.157: require('vim.lsp.log')
+014.879 000.649 000.649: require('vim.lsp.protocol')
+016.063 001.180 001.180: require('vim.lsp.util')
+016.575 000.219 000.219: require('vim.lsp.sync')
+016.579 000.513 000.294: require('vim.lsp._changetracking')
+017.090 000.130 000.130: require('vim.lsp._transport')
+017.122 000.541 000.411: require('vim.lsp.rpc')
+017.161 003.726 000.687: require('vim.lsp')
+017.207 003.838 000.111: require('lsp')
+017.210 012.717 001.546: sourcing /nix/store/x872xdfy32agph86rdaig44mffp5w2cn-mnw-configDir/init.lua
+017.215 001.300: sourcing vimrc file(s)
+017.436 000.070 000.070: sourcing nvim_exec2() called at /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/filetype.lua:0
+017.439 000.123 000.053: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/filetype.lua
+017.614 000.063 000.063: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/syntax/synload.vim
+017.693 000.216 000.153: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/syntax/syntax.vim
+018.697 000.154 000.154: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/gzip.vim
+019.445 000.134 000.134: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim
+019.537 000.816 000.682: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/matchit.vim
+019.655 000.098 000.098: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/matchparen.vim
+020.466 000.172 000.172: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/pack/dist/opt/netrw/plugin/netrwPlugin.vim
+020.559 000.869 000.697: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/netrwPlugin.vim
+020.741 000.154 000.154: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/rplugin.vim
+020.805 000.036 000.036: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/shada.vim
+020.846 000.011 000.011: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/spellfile.vim
+020.928 000.059 000.059: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/tarPlugin.vim
+020.976 000.011 000.011: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/tutor.vim
+021.091 000.092 000.092: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/zipPlugin.vim
+021.173 000.035 000.035: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/editorconfig.lua
+021.242 000.043 000.043: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/man.lua
+021.317 000.049 000.049: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/osc52.lua
+021.365 000.023 000.023: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/tohtml.lua
+021.380 001.377: loading rtp plugins
+023.088 000.125 000.125: require('nvim-treesitter.utils')
+024.332 001.241 001.241: require('nvim-treesitter.parsers')
+024.990 000.058 000.058: require('nvim-treesitter.compat')
+025.336 000.232 000.232: require('nvim-treesitter.ts_utils')
+025.340 000.348 000.115: require('nvim-treesitter.tsrange')
+025.400 000.059 000.059: require('nvim-treesitter.caching')
+025.409 000.695 000.230: require('nvim-treesitter.query')
+025.420 000.966 000.271: require('nvim-treesitter.configs')
+025.422 001.087 000.121: require('nvim-treesitter.info')
+025.616 000.193 000.193: require('nvim-treesitter.shell_command_selectors')
+025.635 003.096 000.450: require('nvim-treesitter.install')
+025.706 000.069 000.069: require('nvim-treesitter.statusline')
+025.814 000.106 000.106: require('nvim-treesitter.query_predicates')
+025.816 004.226 000.955: require('nvim-treesitter')
+026.264 004.699 000.473: sourcing /nix/store/x872xdfy32agph86rdaig44mffp5w2cn-mnw-configDir/pack/mnw/start/nvim-treesitter/plugin/nvim-treesitter.lua
+026.592 000.513: loading packages
+026.594 000.002: loading after plugins
+026.601 000.008: inits 3
+028.735 002.134: reading ShaDa
+028.967 000.232: opening buffers
+029.012 000.045: BufEnter autocommands
+029.014 000.002: editing files in windows
+029.428 000.019 000.019: sourcing /nix/store/x872xdfy32agph86rdaig44mffp5w2cn-mnw-configDir/pack/mnw/opt/nightfox.nvim/plugin/nightfox.vim
+030.868 000.084 000.084: require('nightfox.lib.collect')
+030.979 000.109 000.109: require('nightfox.util')
+031.063 000.442 000.249: require('nightfox.config')
+031.189 000.124 000.124: require('nightfox')
+031.263 000.073 000.073: require('nightfox.override')
+031.373 000.061 000.061: require('nightfox.lib.hash')
+031.452 000.075 000.075: require('nightfox.lib.log')
+031.654 000.090 000.090: require('nightfox.lib.highlight')
+031.664 000.210 000.120: require('nightfox.lib.compiler')
+031.791 000.126 000.126: require('nightfox.palette')
+031.939 000.077 000.077: require('nightfox.util.template')
+031.941 000.148 000.071: require('nightfox.spec')
+032.328 000.248 000.248: require('nightfox.lib.color')
+032.397 000.067 000.067: require('nightfox.lib.shade')
+032.505 000.561 000.246: require('nightfox.palette.carbonfox')
+032.635 000.096 000.096: require('nightfox.group')
+032.795 000.158 000.158: require('nightfox.group.editor')
+032.929 000.118 000.118: require('nightfox.group.syntax')
+033.029 000.061 000.061: require('nightfox.group.modules.alpha')
+033.088 000.047 000.047: require('nightfox.group.modules.aerial')
+033.176 000.077 000.077: require('nightfox.group.modules.barbar')
+033.283 000.087 000.087: require('nightfox.group.modules.blink')
+033.402 000.084 000.084: require('nightfox.group.modules.cmp')
+033.475 000.051 000.051: require('nightfox.group.modules.coc')
+033.571 000.076 000.076: require('nightfox.group.modules.dap_ui')
+033.652 000.054 000.054: require('nightfox.group.modules.dashboard')
+033.760 000.082 000.082: require('nightfox.group.modules.diagnostic')
+033.849 000.050 000.050: require('nightfox.group.modules.fern')
+033.914 000.049 000.049: require('nightfox.group.modules.fidget')
+033.984 000.052 000.052: require('nightfox.group.modules.gitgutter')
+034.050 000.046 000.046: require('nightfox.group.modules.gitsigns')
+034.130 000.062 000.062: require('nightfox.group.modules.glyph_palette')
+034.253 000.089 000.089: require('nightfox.group.modules.hop')
+034.376 000.092 000.092: require('nightfox.group.modules.illuminate')
+034.519 000.114 000.114: require('nightfox.group.modules.indent_blankline')
+034.649 000.101 000.101: require('nightfox.group.modules.lazy')
+034.816 000.132 000.132: require('nightfox.group.modules.leap')
+034.911 000.063 000.063: require('nightfox.group.modules.lightspeed')
+034.989 000.054 000.054: require('nightfox.group.modules.lsp_saga')
+035.071 000.060 000.060: require('nightfox.group.modules.lsp_semantic_tokens')
+035.139 000.044 000.044: require('nightfox.group.modules.lsp_trouble')
+035.291 000.131 000.131: require('nightfox.group.modules.mini')
+035.369 000.046 000.046: require('nightfox.group.modules.modes')
+035.444 000.050 000.050: require('nightfox.group.modules.native_lsp')
+035.533 000.062 000.062: require('nightfox.group.modules.navic')
+035.610 000.052 000.052: require('nightfox.group.modules.neogit')
+035.695 000.061 000.061: require('nightfox.group.modules.neotest')
+035.778 000.058 000.058: require('nightfox.group.modules.neotree')
+035.872 000.060 000.060: require('nightfox.group.modules.notify')
+035.973 000.060 000.060: require('nightfox.group.modules.nvimtree')
+036.051 000.046 000.046: require('nightfox.group.modules.pounce')
+036.156 000.056 000.056: require('nightfox.group.modules.signify')
+036.255 000.061 000.061: require('nightfox.group.modules.sneak')
+036.352 000.058 000.058: require('nightfox.group.modules.symbol_outline')
+036.445 000.054 000.054: require('nightfox.group.modules.rainbow-delimiters')
+036.537 000.048 000.048: require('nightfox.group.modules.telescope')
+036.731 000.140 000.140: require('nightfox.group.modules.treesitter')
+036.829 000.050 000.050: require('nightfox.group.modules.tsrainbow')
+036.918 000.048 000.048: require('nightfox.group.modules.tsrainbow2')
+037.005 000.046 000.046: require('nightfox.group.modules.whichkey')
+037.095 000.050 000.050: require('nightfox.group.terminal')
+039.303 000.184 000.184: require('nightfox.palette.dawnfox')
+042.974 000.215 000.215: require('nightfox.palette.dayfox')
+045.572 000.164 000.164: require('nightfox.palette.duskfox')
+048.755 000.442 000.442: require('nightfox.palette.nightfox')
+051.405 000.189 000.189: require('nightfox.palette.nordfox')
+053.772 000.182 000.182: require('nightfox.palette.terafox')
+057.129 026.530 020.097: sourcing /nix/store/x872xdfy32agph86rdaig44mffp5w2cn-mnw-configDir/pack/mnw/opt/nightfox.nvim/colors/carbonfox.vim
+059.225 001.732 001.732: require('mini.clue')
+059.745 002.450: VimEnter autocommands
+059.757 000.005 000.005: require('vim.F')
+059.895 000.129 000.129: require('vim.termcap')
+059.911 000.009 000.009: require('vim.text')
+059.926 000.039: UIEnter autocommands
+060.262 000.234 000.234: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/autoload/provider/clipboard.vim
+060.267 000.106: before starting main loop
+060.805 000.538: first screen update
+060.807 000.002: --- NVIM STARTED ---
+
+--- Startup times for process: Primary (or UI client) ---
+
+times in msec
+ clock self+sourced self: sourced script
+ clock elapsed: other lines
+
+000.002 000.002: --- NVIM STARTING ---
+000.137 000.134: event init
+000.221 000.085: early init
+000.273 000.052: locale set
+000.325 000.052: init first window
+000.695 000.370: inits 1
+000.704 000.009: window checked
+000.707 000.003: parsing arguments
+001.144 000.039 000.039: require('vim.shared')
+001.243 000.035 000.035: require('vim.inspect')
+001.298 000.047 000.047: require('vim._options')
+001.299 000.150 000.069: require('vim._editor')
+001.300 000.215 000.026: require('vim._init_packages')
+001.302 000.380: init lua interpreter
+002.474 001.173: nvim_ui_attach
+002.699 000.225: nvim_set_client_info
+002.701 000.001: --- NVIM STARTED ---
+
+--- Startup times for process: Embedded ---
+
+times in msec
+ clock self+sourced self: sourced script
+ clock elapsed: other lines
+
+000.002 000.002: --- NVIM STARTING ---
+000.141 000.138: event init
+000.224 000.083: early init
+000.292 000.068: locale set
+000.346 000.054: init first window
+000.758 000.412: inits 1
+000.770 000.012: window checked
+000.773 000.003: parsing arguments
+001.277 000.043 000.043: require('vim.shared')
+001.356 000.033 000.033: require('vim.inspect')
+001.397 000.034 000.034: require('vim._options')
+001.399 000.116 000.049: require('vim._editor')
+001.400 000.191 000.032: require('vim._init_packages')
+001.402 000.438: init lua interpreter
+001.482 000.080: expanding arguments
+001.515 000.033: inits 2
+001.751 000.236: init highlight
+001.752 000.001: waiting for UI
+001.951 000.199: done waiting for UI
+001.957 000.006: clear screen
+002.069 000.008 000.008: require('vim.keymap')
+002.712 000.115 000.115: sourcing nvim_exec2()
+002.865 000.906 000.783: require('vim._defaults')
+002.867 000.004: init default mappings & autocommands
+003.137 000.270: --cmd commands
+004.223 000.058 000.058: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/ftplugin.vim
+004.293 000.017 000.017: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/indent.vim
+004.717 000.150 000.150: require('lz.n')
+004.882 000.162 000.162: require('lz.n.spec')
+004.905 000.019 000.019: require('vim.fs')
+005.035 000.030 000.030: require('plugins.colorschemes')
+005.338 000.300 000.300: require('vim.iter')
+005.677 000.104 000.104: require('lz.n.loader')
+005.741 000.062 000.062: require('lz.n.handler.state')
+005.744 000.253 000.087: require('lz.n.handler.cmd')
+005.881 000.137 000.137: require('lz.n.handler.event')
+005.953 000.071 000.071: require('lz.n.handler.ft')
+006.076 000.122 000.122: require('lz.n.handler.keys')
+006.133 000.055 000.055: require('lz.n.handler.colorscheme')
+006.173 000.039 000.039: require('lz.n.handler.lazy')
+006.175 000.788 000.113: require('lz.n.handler')
+006.229 000.043 000.043: require('plugins.mini-clue')
+006.261 000.021 000.021: require('plugins.mini-files')
+006.344 000.043 000.043: require('plugins.mini-pick')
+006.380 000.026 000.026: require('plugins.mini-statusline')
+008.333 001.343 001.343: require('mini.statusline')
+011.273 002.399 002.399: require('mini.files')
+011.409 000.011 000.011: sourcing nvim_exec2() called at /nix/store/2z9b6mqsz517y6bwh0z4z98cxhfr9pni-mnw-configDir/init.lua:0
+011.415 000.003 000.003: sourcing nvim_exec2() called at /nix/store/2z9b6mqsz517y6bwh0z4z98cxhfr9pni-mnw-configDir/init.lua:0
+012.730 000.103 000.103: require('vim.treesitter.language')
+012.786 000.053 000.053: require('vim.func')
+012.868 000.079 000.079: require('vim.func._memoize')
+012.884 000.674 000.439: require('vim.treesitter.query')
+013.000 000.115 000.115: require('vim.treesitter._range')
+013.009 001.265 000.476: require('vim.treesitter.languagetree')
+013.013 001.472 000.207: require('vim.treesitter')
+013.267 000.252 000.252: require('vim.treesitter._fold')
+013.310 001.846 000.122: require('options')
+013.639 000.327 000.327: require('keymaps')
+014.514 000.150 000.150: require('vim.lsp.log')
+015.137 000.620 000.620: require('vim.lsp.protocol')
+016.377 001.237 001.237: require('vim.lsp.util')
+016.891 000.235 000.235: require('vim.lsp.sync')
+016.895 000.515 000.280: require('vim.lsp._changetracking')
+017.339 000.126 000.126: require('vim.lsp._transport')
+017.349 000.453 000.327: require('vim.lsp.rpc')
+017.391 003.684 000.711: require('vim.lsp')
+017.437 003.796 000.111: require('lsp')
+017.439 012.985 001.678: sourcing /nix/store/2z9b6mqsz517y6bwh0z4z98cxhfr9pni-mnw-configDir/init.lua
+017.445 001.249: sourcing vimrc file(s)
+017.664 000.068 000.068: sourcing nvim_exec2() called at /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/filetype.lua:0
+017.667 000.119 000.051: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/filetype.lua
+017.889 000.061 000.061: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/syntax/synload.vim
+017.960 000.254 000.193: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/syntax/syntax.vim
+018.962 000.154 000.154: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/gzip.vim
+019.692 000.121 000.121: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim
+019.782 000.795 000.674: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/matchit.vim
+019.894 000.092 000.092: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/matchparen.vim
+020.672 000.170 000.170: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/pack/dist/opt/netrw/plugin/netrwPlugin.vim
+020.763 000.837 000.667: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/netrwPlugin.vim
+020.953 000.161 000.161: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/rplugin.vim
+021.018 000.036 000.036: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/shada.vim
+021.059 000.011 000.011: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/spellfile.vim
+021.142 000.059 000.059: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/tarPlugin.vim
+021.185 000.011 000.011: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/tutor.vim
+021.305 000.096 000.096: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/zipPlugin.vim
+021.382 000.032 000.032: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/editorconfig.lua
+021.448 000.040 000.040: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/man.lua
+021.519 000.044 000.044: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/osc52.lua
+021.566 000.022 000.022: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/tohtml.lua
+021.581 001.372: loading rtp plugins
+023.209 000.114 000.114: require('nvim-treesitter.utils')
+024.385 001.173 001.173: require('nvim-treesitter.parsers')
+025.021 000.059 000.059: require('nvim-treesitter.compat')
+025.386 000.244 000.244: require('nvim-treesitter.ts_utils')
+025.390 000.368 000.124: require('nvim-treesitter.tsrange')
+025.452 000.060 000.060: require('nvim-treesitter.caching')
+025.460 000.712 000.225: require('nvim-treesitter.query')
+025.471 000.966 000.254: require('nvim-treesitter.configs')
+025.473 001.086 000.120: require('nvim-treesitter.info')
+025.659 000.185 000.185: require('nvim-treesitter.shell_command_selectors')
+025.676 002.969 000.412: require('nvim-treesitter.install')
+025.736 000.059 000.059: require('nvim-treesitter.statusline')
+025.846 000.109 000.109: require('nvim-treesitter.query_predicates')
+025.849 004.060 000.923: require('nvim-treesitter')
+026.336 004.570 000.510: sourcing /nix/store/2z9b6mqsz517y6bwh0z4z98cxhfr9pni-mnw-configDir/pack/mnw/start/nvim-treesitter/plugin/nvim-treesitter.lua
+026.634 000.483: loading packages
+026.635 000.001: loading after plugins
+026.642 000.007: inits 3
+028.839 002.197: reading ShaDa
+029.066 000.227: opening buffers
+029.115 000.049: BufEnter autocommands
+029.117 000.002: editing files in windows
+031.833 002.215 002.215: require('mini.clue')
+032.650 000.019 000.019: sourcing /nix/store/2z9b6mqsz517y6bwh0z4z98cxhfr9pni-mnw-configDir/pack/mnw/opt/nightfox.nvim/plugin/nightfox.vim
+034.040 000.008 000.008: require('vim.F')
+034.140 002.781: VimEnter autocommands
+034.296 000.136 000.136: require('vim.termcap')
+034.326 000.019 000.019: require('vim.text')
+034.347 000.052: UIEnter autocommands
+034.665 000.230 000.230: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/autoload/provider/clipboard.vim
+034.670 000.094: before starting main loop
+035.282 000.612: first screen update
+035.284 000.002: --- NVIM STARTED ---
+
+--- Startup times for process: Primary (or UI client) ---
+
+times in msec
+ clock self+sourced self: sourced script
+ clock elapsed: other lines
+
+000.002 000.002: --- NVIM STARTING ---
+000.128 000.126: event init
+000.200 000.073: early init
+000.243 000.042: locale set
+000.290 000.047: init first window
+000.704 000.414: inits 1
+000.713 000.009: window checked
+000.715 000.002: parsing arguments
+001.147 000.036 000.036: require('vim.shared')
+001.229 000.034 000.034: require('vim.inspect')
+001.267 000.031 000.031: require('vim._options')
+001.269 000.118 000.053: require('vim._editor')
+001.270 000.179 000.025: require('vim._init_packages')
+001.272 000.377: init lua interpreter
+002.430 001.158: nvim_ui_attach
+002.668 000.238: nvim_set_client_info
+002.669 000.001: --- NVIM STARTED ---
+
+--- Startup times for process: Embedded ---
+
+times in msec
+ clock self+sourced self: sourced script
+ clock elapsed: other lines
+
+000.003 000.003: --- NVIM STARTING ---
+000.155 000.152: event init
+000.240 000.085: early init
+000.312 000.071: locale set
+000.364 000.052: init first window
+000.714 000.350: inits 1
+000.728 000.014: window checked
+000.731 000.002: parsing arguments
+001.238 000.036 000.036: require('vim.shared')
+001.321 000.034 000.034: require('vim.inspect')
+001.362 000.033 000.033: require('vim._options')
+001.363 000.121 000.054: require('vim._editor')
+001.364 000.194 000.037: require('vim._init_packages')
+001.366 000.441: init lua interpreter
+001.421 000.055: expanding arguments
+001.443 000.023: inits 2
+001.662 000.219: init highlight
+001.663 000.001: waiting for UI
+001.812 000.149: done waiting for UI
+001.818 000.006: clear screen
+001.930 000.007 000.007: require('vim.keymap')
+002.582 000.117 000.117: sourcing nvim_exec2()
+002.716 000.896 000.773: require('vim._defaults')
+002.718 000.003: init default mappings & autocommands
+003.022 000.304: --cmd commands
+004.244 000.048 000.048: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/ftplugin.vim
+004.312 000.016 000.016: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/indent.vim
+004.629 000.121 000.121: require('lz.n')
+004.787 000.156 000.156: require('lz.n.spec')
+004.807 000.017 000.017: require('vim.fs')
+004.934 000.026 000.026: require('plugins.colorschemes')
+005.276 000.339 000.339: require('vim.iter')
+005.584 000.098 000.098: require('lz.n.loader')
+005.735 000.149 000.149: require('lz.n.handler.state')
+005.742 000.338 000.092: require('lz.n.handler.cmd')
+005.907 000.163 000.163: require('lz.n.handler.event')
+005.971 000.062 000.062: require('lz.n.handler.ft')
+006.118 000.146 000.146: require('lz.n.handler.keys')
+006.181 000.061 000.061: require('lz.n.handler.colorscheme')
+006.220 000.038 000.038: require('lz.n.handler.lazy')
+006.222 000.926 000.118: require('lz.n.handler')
+006.302 000.059 000.059: require('plugins.mini-clue')
+006.338 000.020 000.020: require('plugins.mini-files')
+006.388 000.039 000.039: require('plugins.mini-pick')
+006.456 000.023 000.023: require('plugins.mini-statusline')
+008.376 001.262 001.262: require('mini.statusline')
+011.765 002.878 002.878: require('mini.files')
+011.824 000.016 000.016: sourcing nvim_exec2() called at /nix/store/vhmywbyv63nynk123qfwgclvrwvyba70-mnw-configDir/init.lua:0
+011.831 000.004 000.004: sourcing nvim_exec2() called at /nix/store/vhmywbyv63nynk123qfwgclvrwvyba70-mnw-configDir/init.lua:0
+013.416 000.111 000.111: require('vim.treesitter.language')
+013.472 000.053 000.053: require('vim.func')
+013.599 000.123 000.123: require('vim.func._memoize')
+013.621 000.801 000.513: require('vim.treesitter.query')
+013.749 000.126 000.126: require('vim.treesitter._range')
+013.758 001.517 000.590: require('vim.treesitter.languagetree')
+013.762 001.791 000.274: require('vim.treesitter')
+014.009 000.246 000.246: require('vim.treesitter._fold')
+014.061 002.185 000.149: require('options')
+014.325 000.262 000.262: require('keymaps')
+015.207 000.155 000.155: require('vim.lsp.log')
+015.860 000.650 000.650: require('vim.lsp.protocol')
+017.298 001.435 001.435: require('vim.lsp.util')
+017.804 000.170 000.170: require('vim.lsp.sync')
+017.808 000.505 000.335: require('vim.lsp._changetracking')
+018.211 000.130 000.130: require('vim.lsp._transport')
+018.223 000.413 000.283: require('vim.lsp.rpc')
+018.256 003.864 000.706: require('vim.lsp')
+018.277 003.950 000.085: require('lsp')
+018.279 013.813 001.531: sourcing /nix/store/vhmywbyv63nynk123qfwgclvrwvyba70-mnw-configDir/init.lua
+018.286 001.388: sourcing vimrc file(s)
+018.539 000.078 000.078: sourcing nvim_exec2() called at /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/filetype.lua:0
+018.542 000.147 000.069: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/filetype.lua
+018.718 000.059 000.059: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/syntax/synload.vim
+018.783 000.199 000.140: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/syntax/syntax.vim
+019.799 000.146 000.146: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/gzip.vim
+020.553 000.138 000.138: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/pack/dist/opt/matchit/plugin/matchit.vim
+020.644 000.822 000.684: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/matchit.vim
+020.754 000.090 000.090: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/matchparen.vim
+021.542 000.172 000.172: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/pack/dist/opt/netrw/plugin/netrwPlugin.vim
+021.632 000.855 000.683: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/netrwPlugin.vim
+021.807 000.146 000.146: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/rplugin.vim
+021.871 000.036 000.036: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/shada.vim
+021.912 000.011 000.011: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/spellfile.vim
+021.996 000.060 000.060: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/tarPlugin.vim
+022.048 000.020 000.020: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/tutor.vim
+022.170 000.094 000.094: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/zipPlugin.vim
+022.248 000.032 000.032: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/editorconfig.lua
+022.319 000.042 000.042: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/man.lua
+022.392 000.046 000.046: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/osc52.lua
+022.441 000.024 000.024: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/plugin/tohtml.lua
+022.456 001.400: loading rtp plugins
+024.090 000.121 000.121: require('nvim-treesitter.utils')
+025.507 001.414 001.414: require('nvim-treesitter.parsers')
+026.238 000.072 000.072: require('nvim-treesitter.compat')
+026.596 000.233 000.233: require('nvim-treesitter.ts_utils')
+026.602 000.362 000.129: require('nvim-treesitter.tsrange')
+026.661 000.058 000.058: require('nvim-treesitter.caching')
+026.669 000.746 000.254: require('nvim-treesitter.query')
+026.685 001.039 000.293: require('nvim-treesitter.configs')
+026.687 001.177 000.138: require('nvim-treesitter.info')
+026.900 000.212 000.212: require('nvim-treesitter.shell_command_selectors')
+026.922 003.337 000.413: require('nvim-treesitter.install')
+026.990 000.066 000.066: require('nvim-treesitter.statusline')
+027.126 000.135 000.135: require('nvim-treesitter.query_predicates')
+027.128 004.465 000.927: require('nvim-treesitter')
+027.633 004.993 000.528: sourcing /nix/store/vhmywbyv63nynk123qfwgclvrwvyba70-mnw-configDir/pack/mnw/start/nvim-treesitter/plugin/nvim-treesitter.lua
+027.932 000.482: loading packages
+027.933 000.001: loading after plugins
+027.940 000.007: inits 3
+029.975 002.035: reading ShaDa
+030.226 000.251: opening buffers
+030.270 000.044: BufEnter autocommands
+030.272 000.003: editing files in windows
+033.012 002.226 002.226: require('mini.clue')
+033.802 000.017 000.017: sourcing /nix/store/vhmywbyv63nynk123qfwgclvrwvyba70-mnw-configDir/pack/mnw/opt/nightfox.nvim/plugin/nightfox.vim
+035.178 000.082 000.082: require('nightfox.lib.collect')
+035.276 000.096 000.096: require('nightfox.util')
+035.363 000.372 000.194: require('nightfox.config')
+035.365 001.362 000.990: require('nightfox')
+035.443 000.076 000.076: require('nightfox.override')
+035.549 000.060 000.060: require('nightfox.lib.hash')
+035.655 000.077 000.077: require('nightfox.lib.log')
+035.941 000.113 000.113: require('nightfox.lib.highlight')
+035.943 000.286 000.173: require('nightfox.lib.compiler')
+036.105 000.160 000.160: require('nightfox.palette')
+036.299 000.102 000.102: require('nightfox.util.template')
+036.301 000.194 000.092: require('nightfox.spec')
+036.839 000.353 000.353: require('nightfox.lib.color')
+036.909 000.067 000.067: require('nightfox.lib.shade')
+037.005 000.702 000.281: require('nightfox.palette.carbonfox')
+037.116 000.088 000.088: require('nightfox.group')
+037.226 000.108 000.108: require('nightfox.group.editor')
+037.325 000.092 000.092: require('nightfox.group.syntax')
+037.427 000.069 000.069: require('nightfox.group.modules.diagnostic')
+037.504 000.064 000.064: require('nightfox.group.modules.lsp_semantic_tokens')
+037.568 000.051 000.051: require('nightfox.group.modules.native_lsp')
+037.713 000.133 000.133: require('nightfox.group.modules.treesitter')
+037.805 000.053 000.053: require('nightfox.group.terminal')
+038.768 000.188 000.188: require('nightfox.palette.dawnfox')
+039.734 000.152 000.152: require('nightfox.palette.dayfox')
+040.601 000.145 000.145: require('nightfox.palette.duskfox')
+041.565 000.133 000.133: require('nightfox.palette.nightfox')
+042.550 000.157 000.157: require('nightfox.palette.nordfox')
+043.625 000.159 000.159: require('nightfox.palette.terafox')
+044.898 000.379 000.379: sourcing /nix/store/vhmywbyv63nynk123qfwgclvrwvyba70-mnw-configDir/pack/mnw/opt/nightfox.nvim/colors/carbonfox.vim
+045.021 007.620: VimEnter autocommands
+045.048 000.021 000.021: require('vim.F')
+045.231 000.167 000.167: require('vim.termcap')
+045.257 000.017 000.017: require('vim.text')
+045.271 000.046: UIEnter autocommands
+045.588 000.225 000.225: sourcing /nix/store/zhhp2qbwdklz2vb0i7p4dp8xh133qapn-neovim-unwrapped-0.11.3/share/nvim/runtime/autoload/provider/clipboard.vim
+045.592 000.096: before starting main loop
+046.390 000.798: first screen update
+046.393 000.003: --- NVIM STARTED ---
+
diff --git a/pkgs/custom-neovim/todo.md b/pkgs/custom-neovim/todo.md
new file mode 100644
index 0000000..7549d90
--- /dev/null
+++ b/pkgs/custom-neovim/todo.md
@@ -0,0 +1,3 @@
+# Todo
+
+-
diff --git a/pkgs/default.nix b/pkgs/default.nix
index 16e43d6..32a1f6a 100644
--- a/pkgs/default.nix
+++ b/pkgs/default.nix
@@ -6,4 +6,5 @@
custom-hello = pkgs.callPackage ./custom-hello.nix {};
setup-manager = pkgs.callPackage ./setup-manager {};
custom-neovim = pkgs.callPackage ./custom-neovim {inherit inputs;};
+ old-custom-neovim = pkgs.callPackage ./old-custom-neovim {inherit inputs;};
}
diff --git a/pkgs/custom-neovim/.envrc b/pkgs/old-custom-neovim/.envrc
index 3550a30..3550a30 100644
--- a/pkgs/custom-neovim/.envrc
+++ b/pkgs/old-custom-neovim/.envrc
diff --git a/pkgs/old-custom-neovim/config/init.lua b/pkgs/old-custom-neovim/config/init.lua
new file mode 100644
index 0000000..cd5e09b
--- /dev/null
+++ b/pkgs/old-custom-neovim/config/init.lua
@@ -0,0 +1,67 @@
+local should_profile = os.getenv("NVIM_PROFILE")
+if should_profile then
+ require("profile").instrument_autocmds()
+ if should_profile:lower():match("^start") then
+ require("profile").start("*")
+ else
+ require("profile").instrument("*")
+ end
+end
+
+local function toggle_profile()
+ local prof = require("profile")
+ if prof.is_recording() then
+ prof.stop()
+ vim.ui.input({ prompt = "Save profile to:", completion = "file", default = "profile.json" }, function(filename)
+ if filename then
+ prof.export(filename)
+ vim.notify(string.format("Wrote %s", filename))
+ end
+ end)
+ else
+ prof.start("*")
+ end
+end
+vim.keymap.set("", "<f1>", toggle_profile)
+
+-- Require utilities.
+require("utilities")
+require("art")
+
+-- Require config parts.
+require("options")
+require("autocommands")
+require("colorschemes")
+require("neovide")
+require("mappings")
+require("statusline")
+require("completion")
+require("lsp")
+
+-- UI Plugins:
+require("plugins.mini.icons")
+require("plugins.mini.tabline")
+require("plugins.mini.clue")
+require("plugins.mini.indentscope")
+require("plugins.fidget")
+require("plugins.treesitter")
+require("plugins.mini.files")
+require("plugins.incline")
+require("plugins.auto-session")
+require("plugins.gitsigns")
+require("plugins.namu")
+require("plugins.focus")
+
+-- LSP Plugins:
+require("plugins.actions-preview")
+
+-- Utility Plugins:
+require("plugins.mini.git")
+require("plugins.mini.pairs")
+require("plugins.ts-autotag")
+require("plugins.comment")
+
+-- Misc Plugins:
+require("plugins.presence")
+require("plugins.snacks")
+-- require("hardtime").setup()
diff --git a/pkgs/custom-neovim/config/lua/art.lua b/pkgs/old-custom-neovim/config/lua/art.lua
index f36a5d9..f36a5d9 100644
--- a/pkgs/custom-neovim/config/lua/art.lua
+++ b/pkgs/old-custom-neovim/config/lua/art.lua
diff --git a/pkgs/custom-neovim/config/lua/autocommands.lua b/pkgs/old-custom-neovim/config/lua/autocommands.lua
index c452696..c452696 100644
--- a/pkgs/custom-neovim/config/lua/autocommands.lua
+++ b/pkgs/old-custom-neovim/config/lua/autocommands.lua
diff --git a/pkgs/custom-neovim/config/lua/colorschemes.lua b/pkgs/old-custom-neovim/config/lua/colorschemes.lua
index cbbbd60..cbbbd60 100644
--- a/pkgs/custom-neovim/config/lua/colorschemes.lua
+++ b/pkgs/old-custom-neovim/config/lua/colorschemes.lua
diff --git a/pkgs/custom-neovim/config/lua/colorschemes/carbonfox.lua b/pkgs/old-custom-neovim/config/lua/colorschemes/carbonfox.lua
index a3bba87..a3bba87 100644
--- a/pkgs/custom-neovim/config/lua/colorschemes/carbonfox.lua
+++ b/pkgs/old-custom-neovim/config/lua/colorschemes/carbonfox.lua
diff --git a/pkgs/custom-neovim/config/lua/completion.lua b/pkgs/old-custom-neovim/config/lua/completion.lua
index 1ba2a91..1ba2a91 100644
--- a/pkgs/custom-neovim/config/lua/completion.lua
+++ b/pkgs/old-custom-neovim/config/lua/completion.lua
diff --git a/pkgs/old-custom-neovim/config/lua/lsp.lua b/pkgs/old-custom-neovim/config/lua/lsp.lua
new file mode 100644
index 0000000..a01758c
--- /dev/null
+++ b/pkgs/old-custom-neovim/config/lua/lsp.lua
@@ -0,0 +1,87 @@
+-- Disable semantic tokens to stop weird highlighting.
+vim.api.nvim_create_autocmd('LspAttach', {
+ callback = function(ev)
+ local client = vim.lsp.get_client_by_id(ev.data.client_id)
+ if client then
+ client.server_capabilities.semanticTokensProvider = nil
+ end
+ end
+})
+
+-- Use LspAttach autocommand to only map the following keys
+-- after the language server attaches to the current buffer
+vim.api.nvim_create_autocmd('LspAttach', {
+ group = vim.api.nvim_create_augroup('UserLspConfig', {}),
+ callback = function(ev)
+ -- Enable completion triggered by <c-x><c-o>
+ -- vim.bo[ev.buf].omnifunc = 'v:lua.vim.lsp.omnifunc'
+
+ local mapkey = Utils.mapkey
+
+ -- Workspace management
+ mapkey('n', "<leader>o", "Manage LSP workspace", "")
+ mapkey('n', '<leader>oa', "Add Workspace Folder", vim.lsp.buf.add_workspace_folder)
+ mapkey('n', '<leader>or', "Remove Workspace Folder", vim.lsp.buf.remove_workspace_folder)
+ mapkey('n', '<leader>ol', "List Workspace Folders", function()
+ print(vim.inspect(vim.lsp.buf.list_workspace_folders()))
+ end)
+
+ -- LSP Pickers
+ mapkey('n', "<leader>a", "Perform code action", ":lua require('actions-preview').code_actions()<cr>")
+ -- mapkey("n", "<leader>I", "Open workspace diagnostic picker", ":Namu diagnostics<cr>")
+ mapkey("n", "<leader>i", "Open diagnostic picker", ":Namu diagnostics<cr>")
+ mapkey("n", "<leader>s", "Open symbol picker", ":Namu symbols<cr>")
+ mapkey("n", "<leader>S", "Open workspace symbol picker", ":Namu workspace<cr>")
+
+ -- Goto Keys
+ mapkey('n', 'gD', "Go to declaration", vim.lsp.buf.declaration)
+ mapkey('n', 'gd', "Go to definition", vim.lsp.buf.definition)
+ mapkey('n', 'go', "Go to type definition", vim.lsp.buf.type_definition)
+ mapkey('n', 'gi', "Go to implementation", vim.lsp.buf.implementation)
+
+ -- Other LSP Keys
+ mapkey('n', 'gs', "Signature Help", vim.lsp.buf.signature_help)
+ mapkey('n', 'gr', "Buffer References", vim.lsp.buf.references)
+ mapkey('n', '<leader>r', "Rename Symbol", vim.lsp.buf.rename)
+ mapkey('n', '<leader>h', "Format Buffer", function()
+ vim.lsp.buf.format { async = true }
+ end)
+ end,
+})
+
+local lspconfig = require('lspconfig')
+
+-- Configure individual lsps
+lspconfig.nil_ls.setup {}
+lspconfig.lua_ls.setup {
+ on_init = function(client)
+ local path = client.workspace_folders[1].name
+ if vim.loop.fs_stat(path..'/.luarc.json') or vim.loop.fs_stat(path..'/.luarc.jsonc') then
+ return
+ end
+
+ client.config.settings.Lua = vim.tbl_deep_extend('force', client.config.settings.Lua, {
+ runtime = {
+ -- Tell the language server which version of Lua you're using
+ -- (most likely LuaJIT in the case of Neovim)
+ version = 'LuaJIT'
+ },
+ -- Make the server aware of Neovim runtime files
+ workspace = {
+ checkThirdParty = false,
+ library = {
+ vim.env.VIMRUNTIME,
+ -- Depending on the usage, you might want to add additional paths here.
+ "${3rd}/luv/library"
+ -- "${3rd}/busted/library",
+ }
+ -- or pull in all of 'runtimepath'. NOTE: this is a lot slower
+ -- library = vim.api.nvim_get_runtime_file("", true)
+ }
+ })
+ end,
+ settings = {
+ Lua = {}
+ }
+}
+lspconfig.marksman.setup {}
diff --git a/pkgs/custom-neovim/config/lua/mappings.lua b/pkgs/old-custom-neovim/config/lua/mappings.lua
index b763d05..cab9565 100644
--- a/pkgs/custom-neovim/config/lua/mappings.lua
+++ b/pkgs/old-custom-neovim/config/lua/mappings.lua
@@ -7,6 +7,7 @@ vim.g.mapleader = ' '
-- Pickers
mapkey("n", "<leader>f", "Open file picker", ":lua Snacks.picker.files()<cr>")
mapkey("n", "<leader>l", "Open recent file picker", ":lua Snacks.picker.recent()<cr>")
+mapkey("n", "<leader>L", "Go to most recent buffer", ":b#<cr>")
mapkey("n", "<leader>y", "Open clipboard history picker", ":lua Snacks.picker.cliphist()<cr>")
mapkey("n", "<leader>/", "Open live grep picker", ":lua Snacks.picker.grep()<cr>")
mapkey("n", "<leader>\\", "Open command palette", ":lua Snacks.picker.commands()<cr>")
@@ -40,8 +41,8 @@ mapkey("n", "<leader>bc", "Clear invisible buffers", function ()
local bufinfos = vim.fn.getbufinfo({buflisted = 1})
vim.tbl_map(function (bufinfo)
if bufinfo.changed == 0 and (not bufinfo.windows or #bufinfo.windows == 0) then
- print(('Deleting buffer %d : %s'):format(bufinfo.bufnr, bufinfo.name))
vim.api.nvim_buf_delete(bufinfo.bufnr, {force = false, unload = false})
+ vim.cmd.redrawtabline()
end
end, bufinfos)
end)
diff --git a/pkgs/custom-neovim/config/lua/neovide.lua b/pkgs/old-custom-neovim/config/lua/neovide.lua
index 9d648c4..9d648c4 100644
--- a/pkgs/custom-neovim/config/lua/neovide.lua
+++ b/pkgs/old-custom-neovim/config/lua/neovide.lua
diff --git a/pkgs/old-custom-neovim/config/lua/options.lua b/pkgs/old-custom-neovim/config/lua/options.lua
new file mode 100644
index 0000000..20f3e01
--- /dev/null
+++ b/pkgs/old-custom-neovim/config/lua/options.lua
@@ -0,0 +1,58 @@
+-- General Settings
+vim.o.winborder = 'rounded'
+vim.o.showtabline = 2 -- whether to only show tabline if there is more than one tab.
+vim.o.laststatus = 3 -- only have one statusline at the bottom of the window.
+vim.o.showmode = false -- don't show the mode in the commandline.
+vim.o.ruler = false -- don't show #,# in the commandline.
+vim.o.icm = 'split'
+vim.o.cia = 'abbr,kind,menu'
+vim.o.mouse = ""
+vim.o.number = true -- set absolute numbered lines
+-- vim.o.relativenumber = true -- set relative numbered lines
+vim.o.scrolloff = 4 -- minimal number of screen lines to keep above and below the cursor
+vim.o.signcolumn = "yes" -- always show the sign column, otherwise it would shift the text each time
+vim.o.clipboard = "unnamedplus" -- use system clipboard
+-- vim.o.equalalways = true -- equalize splits
+vim.o.sessionoptions = "blank,curdir,folds,help,tabpages,winsize,winpos,terminal,globals,buffers,localoptions" -- define what is saved with the session.
+
+-- Split Behavior
+vim.o.splitright = true
+vim.o.splitbelow = true
+
+-- Indention
+local indent = 2
+vim.o.autoindent = true -- auto indentation
+vim.o.expandtab = true -- convert tabs to spaces
+vim.o.shiftwidth = indent -- the number of spaces inserted for each indentation
+vim.o.smartindent = true -- make indenting smarter
+vim.o.softtabstop = indent -- when hitting <BS>, pretend like a tab is removed, even if spaces
+vim.o.tabstop = indent -- insert 2 spaces for a tab
+vim.o.shiftround = true -- use multiple of shiftwidth when indenting with "<" and ">"
+
+-- Backups
+vim.o.backup = false -- create a backup file
+vim.o.swapfile = false -- creates a swapfile
+vim.o.writebackup = false -- if a file is being edited by another program, it is not allowed to be edited
+
+-- Search
+vim.o.hlsearch = true -- highlight all matches on previous search pattern
+vim.o.ignorecase = true -- ignore case in search patterns
+vim.o.smartcase = true -- smart case
+
+-- Folding
+vim.o.foldmethod = "expr"
+vim.o.foldexpr = "v:lua.vim.treesitter.foldexpr()" -- Set folder to treesitter.
+vim.o.foldlevel = 99 -- Don't fold initially.
+vim.o.foldnestmax = 4 -- Don't fold if more than 4 folds deep.
+vim.o.foldtext = "" -- Color text in folds.
+
+-- Thick window borders.
+vim.opt.fillchars = {
+ horiz = '━',
+ horizup = '┻',
+ horizdown = '┳',
+ vert = '┃',
+ vertleft = '┫',
+ vertright = '┣',
+ verthoriz = '╋',
+}
diff --git a/pkgs/custom-neovim/config/lua/plugins/actions-preview.lua b/pkgs/old-custom-neovim/config/lua/plugins/actions-preview.lua
index 0e3cc02..0e3cc02 100644
--- a/pkgs/custom-neovim/config/lua/plugins/actions-preview.lua
+++ b/pkgs/old-custom-neovim/config/lua/plugins/actions-preview.lua
diff --git a/pkgs/custom-neovim/config/lua/plugins/auto-session.lua b/pkgs/old-custom-neovim/config/lua/plugins/auto-session.lua
index 99df59b..99df59b 100644
--- a/pkgs/custom-neovim/config/lua/plugins/auto-session.lua
+++ b/pkgs/old-custom-neovim/config/lua/plugins/auto-session.lua
diff --git a/pkgs/custom-neovim/config/lua/plugins/comment.lua b/pkgs/old-custom-neovim/config/lua/plugins/comment.lua
index bd47faf..bd47faf 100644
--- a/pkgs/custom-neovim/config/lua/plugins/comment.lua
+++ b/pkgs/old-custom-neovim/config/lua/plugins/comment.lua
diff --git a/pkgs/custom-neovim/config/lua/plugins/dropbar.lua b/pkgs/old-custom-neovim/config/lua/plugins/dropbar.lua
index 5d4bb43..5d4bb43 100644
--- a/pkgs/custom-neovim/config/lua/plugins/dropbar.lua
+++ b/pkgs/old-custom-neovim/config/lua/plugins/dropbar.lua
diff --git a/pkgs/custom-neovim/config/lua/plugins/fidget.lua b/pkgs/old-custom-neovim/config/lua/plugins/fidget.lua
index 4f1ab35..4f1ab35 100644
--- a/pkgs/custom-neovim/config/lua/plugins/fidget.lua
+++ b/pkgs/old-custom-neovim/config/lua/plugins/fidget.lua
diff --git a/pkgs/custom-neovim/config/lua/plugins/focus.lua b/pkgs/old-custom-neovim/config/lua/plugins/focus.lua
index 560f3ce..560f3ce 100644
--- a/pkgs/custom-neovim/config/lua/plugins/focus.lua
+++ b/pkgs/old-custom-neovim/config/lua/plugins/focus.lua
diff --git a/pkgs/custom-neovim/config/lua/plugins/gitsigns.lua b/pkgs/old-custom-neovim/config/lua/plugins/gitsigns.lua
index d16d238..d16d238 100644
--- a/pkgs/custom-neovim/config/lua/plugins/gitsigns.lua
+++ b/pkgs/old-custom-neovim/config/lua/plugins/gitsigns.lua
diff --git a/pkgs/custom-neovim/config/lua/plugins/incline.lua b/pkgs/old-custom-neovim/config/lua/plugins/incline.lua
index 92ced03..92ced03 100644
--- a/pkgs/custom-neovim/config/lua/plugins/incline.lua
+++ b/pkgs/old-custom-neovim/config/lua/plugins/incline.lua
diff --git a/pkgs/custom-neovim/config/lua/plugins/mini/clue.lua b/pkgs/old-custom-neovim/config/lua/plugins/mini/clue.lua
index 3dcac1b..3dcac1b 100644
--- a/pkgs/custom-neovim/config/lua/plugins/mini/clue.lua
+++ b/pkgs/old-custom-neovim/config/lua/plugins/mini/clue.lua
diff --git a/pkgs/custom-neovim/config/lua/plugins/mini/cursorword.lua b/pkgs/old-custom-neovim/config/lua/plugins/mini/cursorword.lua
index 530b88b..530b88b 100644
--- a/pkgs/custom-neovim/config/lua/plugins/mini/cursorword.lua
+++ b/pkgs/old-custom-neovim/config/lua/plugins/mini/cursorword.lua
diff --git a/pkgs/custom-neovim/config/lua/plugins/mini/files.lua b/pkgs/old-custom-neovim/config/lua/plugins/mini/files.lua
index 1dc1c3e..1dc1c3e 100644
--- a/pkgs/custom-neovim/config/lua/plugins/mini/files.lua
+++ b/pkgs/old-custom-neovim/config/lua/plugins/mini/files.lua
diff --git a/pkgs/custom-neovim/config/lua/plugins/mini/git.lua b/pkgs/old-custom-neovim/config/lua/plugins/mini/git.lua
index 943f91d..943f91d 100644
--- a/pkgs/custom-neovim/config/lua/plugins/mini/git.lua
+++ b/pkgs/old-custom-neovim/config/lua/plugins/mini/git.lua
diff --git a/pkgs/custom-neovim/config/lua/plugins/mini/icons.lua b/pkgs/old-custom-neovim/config/lua/plugins/mini/icons.lua
index fd2c5f9..fd2c5f9 100644
--- a/pkgs/custom-neovim/config/lua/plugins/mini/icons.lua
+++ b/pkgs/old-custom-neovim/config/lua/plugins/mini/icons.lua
diff --git a/pkgs/custom-neovim/config/lua/plugins/mini/indentscope.lua b/pkgs/old-custom-neovim/config/lua/plugins/mini/indentscope.lua
index 2543c40..2543c40 100644
--- a/pkgs/custom-neovim/config/lua/plugins/mini/indentscope.lua
+++ b/pkgs/old-custom-neovim/config/lua/plugins/mini/indentscope.lua
diff --git a/pkgs/custom-neovim/config/lua/plugins/mini/pairs.lua b/pkgs/old-custom-neovim/config/lua/plugins/mini/pairs.lua
index 493c4d0..493c4d0 100644
--- a/pkgs/custom-neovim/config/lua/plugins/mini/pairs.lua
+++ b/pkgs/old-custom-neovim/config/lua/plugins/mini/pairs.lua
diff --git a/pkgs/custom-neovim/config/lua/plugins/mini/tabline.lua b/pkgs/old-custom-neovim/config/lua/plugins/mini/tabline.lua
index 1ec6e7f..1ec6e7f 100644
--- a/pkgs/custom-neovim/config/lua/plugins/mini/tabline.lua
+++ b/pkgs/old-custom-neovim/config/lua/plugins/mini/tabline.lua
diff --git a/pkgs/custom-neovim/config/lua/plugins/namu.lua b/pkgs/old-custom-neovim/config/lua/plugins/namu.lua
index 82275b9..82275b9 100644
--- a/pkgs/custom-neovim/config/lua/plugins/namu.lua
+++ b/pkgs/old-custom-neovim/config/lua/plugins/namu.lua
diff --git a/pkgs/custom-neovim/config/lua/plugins/presence.lua b/pkgs/old-custom-neovim/config/lua/plugins/presence.lua
index 7ffb57f..7ffb57f 100644
--- a/pkgs/custom-neovim/config/lua/plugins/presence.lua
+++ b/pkgs/old-custom-neovim/config/lua/plugins/presence.lua
diff --git a/pkgs/custom-neovim/config/lua/plugins/render-markdown.lua b/pkgs/old-custom-neovim/config/lua/plugins/render-markdown.lua
index 45bdcf2..45bdcf2 100644
--- a/pkgs/custom-neovim/config/lua/plugins/render-markdown.lua
+++ b/pkgs/old-custom-neovim/config/lua/plugins/render-markdown.lua
diff --git a/pkgs/custom-neovim/config/lua/plugins/snacks.lua b/pkgs/old-custom-neovim/config/lua/plugins/snacks.lua
index c2cf737..c2cf737 100644
--- a/pkgs/custom-neovim/config/lua/plugins/snacks.lua
+++ b/pkgs/old-custom-neovim/config/lua/plugins/snacks.lua
diff --git a/pkgs/custom-neovim/config/lua/plugins/tabby.lua b/pkgs/old-custom-neovim/config/lua/plugins/tabby.lua
index c00dad7..c00dad7 100644
--- a/pkgs/custom-neovim/config/lua/plugins/tabby.lua
+++ b/pkgs/old-custom-neovim/config/lua/plugins/tabby.lua
diff --git a/pkgs/custom-neovim/config/lua/plugins/treesitter.lua b/pkgs/old-custom-neovim/config/lua/plugins/treesitter.lua
index 3ad4c9f..3ad4c9f 100644
--- a/pkgs/custom-neovim/config/lua/plugins/treesitter.lua
+++ b/pkgs/old-custom-neovim/config/lua/plugins/treesitter.lua
diff --git a/pkgs/custom-neovim/config/lua/plugins/ts-autotag.lua b/pkgs/old-custom-neovim/config/lua/plugins/ts-autotag.lua
index 67b9f06..67b9f06 100644
--- a/pkgs/custom-neovim/config/lua/plugins/ts-autotag.lua
+++ b/pkgs/old-custom-neovim/config/lua/plugins/ts-autotag.lua
diff --git a/pkgs/custom-neovim/config/lua/statusline.lua b/pkgs/old-custom-neovim/config/lua/statusline.lua
index 08bbe50..08bbe50 100644
--- a/pkgs/custom-neovim/config/lua/statusline.lua
+++ b/pkgs/old-custom-neovim/config/lua/statusline.lua
diff --git a/pkgs/custom-neovim/config/lua/utilities.lua b/pkgs/old-custom-neovim/config/lua/utilities.lua
index d2a26b6..d2a26b6 100644
--- a/pkgs/custom-neovim/config/lua/utilities.lua
+++ b/pkgs/old-custom-neovim/config/lua/utilities.lua
diff --git a/pkgs/old-custom-neovim/default.nix b/pkgs/old-custom-neovim/default.nix
new file mode 100644
index 0000000..7a75368
--- /dev/null
+++ b/pkgs/old-custom-neovim/default.nix
@@ -0,0 +1,83 @@
+{
+ pkgs,
+ inputs,
+}: let
+ git-plugins = import ./git-plugins.nix {inherit pkgs;};
+in
+ inputs.mnw.lib.wrap pkgs {
+ neovim = pkgs.neovim-unwrapped;
+ plugins = with pkgs.vimPlugins; {
+ dev.config = {
+ pure = ./config;
+ };
+ start = [
+ # Core Plugins
+ mini-nvim # Ton of small modules.
+ nvim-lspconfig # Adds lsp presets.
+ actions-preview-nvim # Adds a selector for LSP actions.
+ nvim-treesitter.withAllGrammars # All treesitter grammars.
+ snacks-nvim # Many small modules.
+ auto-session # Automatic session manager.
+ nvim-ts-autotag # Autopair HTML tags.
+ gitsigns-nvim # Git signcolumn.
+ git-plugins.namu-nvim-git # LSP and colorscheme picker.
+ vim-nix # Indenting for nix files.
+ comment-nvim # Advanced commenting.
+ fidget-nvim # Simple notification UI
+ focus-nvim # Automatic split resizer and manager.
+ render-markdown-nvim # Render markdown fancily.
+ incline-nvim # Puts the filename in the winbar.
+
+ git-plugins.profile-nvim-git
+
+ # Completion
+ nvim-cmp # Completer.
+ cmp-buffer
+ cmp-path
+ cmp_luasnip
+ cmp-nvim-lsp
+ luasnip # Snippet manager.
+ friendly-snippets # Snippet collection.
+
+ # Colorschemes
+ oxocarbon-nvim # IBM Carbon themes.
+ rose-pine # Rose Pine themes.
+ kanagawa-nvim # Kanagawa inspired themes.
+ everforest # Green themes.
+ nordic-nvim # Cool dark nordic theme.
+ tokyonight-nvim
+ nightfox-nvim # Varied colorscheme collection.
+
+ # Miscellaneous Plugins
+ presence-nvim # Discord RPC for nvim.
+ cellular-automaton-nvim # Fun useless plugin.
+ vim-wakatime # For hack club challenge.
+ hardtime-nvim # Break bad vim habits.
+ ];
+ opt = [];
+ };
+
+ luaFiles = [./config/init.lua];
+
+ extraBinPath = with pkgs; [
+ # LSP Servers
+ lua-language-server # Lua LS
+ nixd # Nix LS
+ nil
+ marksman # Markdown LS
+
+ # Formatters
+ alejandra # Nix Formatter
+
+ # Extra Tools
+ ripgrep
+ fd
+ cliphist
+ lazygit
+ luajitPackages.jsregexp
+ gcc
+
+ # Temporary
+ wakatime-cli
+ ];
+ }
diff --git a/pkgs/custom-neovim/design.md b/pkgs/old-custom-neovim/design.md
index 4dba97e..c4888fe 100644
--- a/pkgs/custom-neovim/design.md
+++ b/pkgs/old-custom-neovim/design.md
@@ -12,16 +12,13 @@
- make lazyvim launch with default shell bash
- add quick window switch plugin
-- replace nvim-cmp with blink.cmp
- add markview
-- make statusline cwd depend on the neovim window and not focused window
-- add key to open new session
-- make clearing buffers reload the tab bar
-- add keybind to go to the previous file (maybe <leader>L)
+- make statusline cwd width depend on the neovim window and not focused window
## Todo if possible
- switch to maple mono font
- make splits automatically equalize when window resized
- prevent dropbar filename from truncating
- make mini.git run commands from cwd instead of git root
+- replace nvim-cmp with blink.cmp
- make custom carbon colorscheme
diff --git a/pkgs/custom-neovim/flake.lock b/pkgs/old-custom-neovim/flake.lock
index dfbed26..dfbed26 100644
--- a/pkgs/custom-neovim/flake.lock
+++ b/pkgs/old-custom-neovim/flake.lock
diff --git a/pkgs/custom-neovim/flake.nix b/pkgs/old-custom-neovim/flake.nix
index 6611516..6611516 100644
--- a/pkgs/custom-neovim/flake.nix
+++ b/pkgs/old-custom-neovim/flake.nix
diff --git a/pkgs/custom-neovim/git-plugins.nix b/pkgs/old-custom-neovim/git-plugins.nix
index adc7403..adc7403 100644
--- a/pkgs/custom-neovim/git-plugins.nix
+++ b/pkgs/old-custom-neovim/git-plugins.nix