From 5cc889d066862ed881361a9cec3a593ffab53842 Mon Sep 17 00:00:00 2001 From: Minijackson Date: Tue, 10 Dec 2024 21:34:32 +0100 Subject: treewide: remove old vim options they aren't used since the addition of nixvim --- common/nixvim.nix | 1187 +++++++++++++++++++++++++++-------------------------- 1 file changed, 599 insertions(+), 588 deletions(-) (limited to 'common/nixvim.nix') diff --git a/common/nixvim.nix b/common/nixvim.nix index 5e87ad9..aef8380 100644 --- a/common/nixvim.nix +++ b/common/nixvim.nix @@ -18,676 +18,687 @@ in }; }; - config.programs.nixvim = { - # enable = true; - luaLoader.enable = true; - - globals = { - mapleader = ";"; - maplocalleader = ","; - polyglot_disabled = [ - # ftdetect messes up `vim.filetype.add` - "ftdetect" - "autoindent" - "sensible" - ]; - }; - - opts = { - backup = true; - # Use `//` at the end to store the absolute file name - backupdir.__raw = "vim.fn.stdpath('data') .. '/backup//'"; - colorcolumn = "80"; - completeopt = [ - "menu" - "menuone" - "noinsert" - "noselect" - ]; - cursorline = true; - diffopt = [ - "internal" - "filler" - "closeoff" - "linematch:60" - ]; - grepprg = "${lib.getExe pkgs.ripgrep} --vimgrep --smart-case"; - ignorecase = true; - inccommand = "split"; - list = true; - listchars = { - extends = ">"; - nbsp = "+"; - precedes = "<"; - tab = " "; - trail = "-"; + config = { + programs.nixvim = { + # enable = true; + luaLoader.enable = true; + + globals = { + mapleader = ";"; + maplocalleader = ","; + polyglot_disabled = [ + # ftdetect messes up `vim.filetype.add` + "ftdetect" + "autoindent" + "sensible" + ]; }; - scrolloff = 3; - shiftwidth = 4; - shortmess = "ncAxoTOtfFli"; - showmode = false; - sidescrolloff = 5; - smartcase = true; - smartindent = true; - tabstop = 4; - title = true; - undofile = true; - updatetime = 1000; - wildmode = [ - "longest:full" - "full" - ]; - }; - colorschemes.gruvbox = { - enable = true; - - settings = { - # bold = true; - # italics = true; - # underline = true; - # undercurl = true; - italic.strings = false; - overrides = { - GitSignsAdd.link = "GruvboxGreenSign"; - GitSignsChange.link = "GruvboxOrangeSign"; - GitSignsDelete.link = "GruvboxRedSign"; - IblScope.link = "GruvboxAqua"; + opts = { + backup = true; + # Use `//` at the end to store the absolute file name + backupdir.__raw = "vim.fn.stdpath('data') .. '/backup//'"; + colorcolumn = "80"; + completeopt = [ + "menu" + "menuone" + "noinsert" + "noselect" + ]; + cursorline = true; + diffopt = [ + "internal" + "filler" + "closeoff" + "linematch:60" + ]; + grepprg = "${lib.getExe pkgs.ripgrep} --vimgrep --smart-case"; + ignorecase = true; + inccommand = "split"; + list = true; + listchars = { + extends = ">"; + nbsp = "+"; + precedes = "<"; + tab = " "; + trail = "-"; }; + scrolloff = 3; + shiftwidth = 4; + shortmess = "ncAxoTOtfFli"; + showmode = false; + sidescrolloff = 5; + smartcase = true; + smartindent = true; + tabstop = 4; + title = true; + undofile = true; + updatetime = 1000; + wildmode = [ + "longest:full" + "full" + ]; }; - }; - highlight = { - TSDefinition.link = "GruvboxBlueSign"; - TSDefinitionUsage.link = "GruvboxAquaSign"; - }; + colorschemes.gruvbox = { + enable = true; - keymaps = - let - toggle = key: option: { - mode = "n"; - key = "yo${key}"; - action = "setlocal ${option}! ${option}?"; - options.desc = "Toggle ${option}"; - }; - in - [ - { - key = "-"; - action.__raw = "require('oil').open"; - options.desc = "Open parent directory"; - } - - # Git - - { - key = "gg"; - action = "Neogit"; - options.desc = "Open Neogit"; - } - - { - key = "gd"; - action = "DiffviewOpen"; - options.desc = "Open Diffview"; - } - - # TODO: noremap? buffer local? silent? - { - key = "gs"; - action.__raw = "require('gitsigns').stage_hunk"; - options.desc = "Stage hunk"; - } - - { - key = "gr"; - action.__raw = "require('gitsigns').reset_hunk"; - options.desc = "Reset hunk"; - } - - # TODO: visual stage/reset - - { - key = "gS"; - action.__raw = "require('gitsigns').stage_buffer"; - options.desc = "Stage buffer"; - } - - { - key = "gR"; - action.__raw = "require('gitsigns').reset_buffer"; - options.desc = "Stage buffer"; - } - - { - key = "gu"; - action.__raw = "require('gitsigns').undo_stage_hunk"; - options.desc = "Undo stage hunk"; - } - - { - key = "gp"; - action.__raw = "require('gitsigns').preview_hunk_inline"; - options.desc = "Preview hunk"; - } - - { - key = "gb"; - action.__raw = "function() require('gitsigns').blame_line { full = true } end"; - options.desc = "Blame line"; - } - - { - key = "]g"; - action.__raw = '' - function() - if vim.wo.diff then return ']c' end - vim.schedule(function() package.loaded.gitsigns.next_hunk() end) - return '' - end - ''; - options = { - expr = true; - desc = "Next hunk"; + settings = { + # bold = true; + # italics = true; + # underline = true; + # undercurl = true; + italic.strings = false; + overrides = { + GitSignsAdd.link = "GruvboxGreenSign"; + GitSignsChange.link = "GruvboxOrangeSign"; + GitSignsDelete.link = "GruvboxRedSign"; + IblScope.link = "GruvboxAqua"; }; - } - - { - key = "[g"; - action.__raw = '' - function() - if vim.wo.diff then return '[c' end - vim.schedule(function() package.loaded.gitsigns.prev_hunk() end) - return '' - end - ''; - options = { - expr = true; - desc = "Next hunk"; + }; + }; + + highlight = { + TSDefinition.link = "GruvboxBlueSign"; + TSDefinitionUsage.link = "GruvboxAquaSign"; + }; + + keymaps = + let + toggle = key: option: { + mode = "n"; + key = "yo${key}"; + action = "setlocal ${option}! ${option}?"; + options.desc = "Toggle ${option}"; }; - } - - # Leap - - { - key = ""; - mode = [ - "n" - "x" - "o" - ]; - action = "(leap-forward)"; - options.desc = "Leap forward to"; - } - - { - key = ""; - mode = [ - "n" - "x" - "o" - ]; - action = "(leap-backward)"; - options.desc = "Leap backward to"; - } - - { - key = "g"; - mode = [ - "n" - "x" - "o" - ]; - action = "(leap-from-window)"; - options.desc = "Leap from window"; - } - - { - key = "gnn"; - mode = [ - "n" - "x" - "o" - ]; - action.__raw = '' - function() - require('leap.treesitter').select() - end - ''; - options.desc = "Start incremental selection"; - } - - { - key = "gnN"; - mode = [ - "n" - "x" - "o" - ]; - action = "Vlua require('leap.treesitter').select()"; - options.desc = "Start linewise incremental selection"; - } - - # Toggle options - (toggle "c" "cursorline") - (toggle "C" "cursorcolumn") - (toggle "h" "hlsearch") - (toggle "i" "ignorecase") - (toggle "l" "list") - (toggle "n" "number") - (toggle "r" "relativenumber") - (toggle "s" "spell") - (toggle "w" "wrap") - - { - mode = "n"; - key = "yod"; - action.__raw = '' - function() - if vim.wo.diff then - vim.cmd.diffoff() - print('diffoff') - else - vim.cmd.diffthis() - print('diffthis') + in + [ + { + key = "-"; + action.__raw = "require('oil').open"; + options.desc = "Open parent directory"; + } + + # Git + + { + key = "gg"; + action = "Neogit"; + options.desc = "Open Neogit"; + } + + { + key = "gd"; + action = "DiffviewOpen"; + options.desc = "Open Diffview"; + } + + # TODO: noremap? buffer local? silent? + { + key = "gs"; + action.__raw = "require('gitsigns').stage_hunk"; + options.desc = "Stage hunk"; + } + + { + key = "gr"; + action.__raw = "require('gitsigns').reset_hunk"; + options.desc = "Reset hunk"; + } + + # TODO: visual stage/reset + + { + key = "gS"; + action.__raw = "require('gitsigns').stage_buffer"; + options.desc = "Stage buffer"; + } + + { + key = "gR"; + action.__raw = "require('gitsigns').reset_buffer"; + options.desc = "Stage buffer"; + } + + { + key = "gu"; + action.__raw = "require('gitsigns').undo_stage_hunk"; + options.desc = "Undo stage hunk"; + } + + { + key = "gp"; + action.__raw = "require('gitsigns').preview_hunk_inline"; + options.desc = "Preview hunk"; + } + + { + key = "gb"; + action.__raw = "function() require('gitsigns').blame_line { full = true } end"; + options.desc = "Blame line"; + } + + { + key = "]g"; + action.__raw = '' + function() + if vim.wo.diff then return ']c' end + vim.schedule(function() package.loaded.gitsigns.next_hunk() end) + return '' end - end - ''; - options.desc = "Toggle diff"; - } - ]; + ''; + options = { + expr = true; + desc = "Next hunk"; + }; + } + + { + key = "[g"; + action.__raw = '' + function() + if vim.wo.diff then return '[c' end + vim.schedule(function() package.loaded.gitsigns.prev_hunk() end) + return '' + end + ''; + options = { + expr = true; + desc = "Next hunk"; + }; + } - # TODO: - # extraPlugins = with pkgs.unstable.vimPlugins; [ - extraPlugins = with inputs.nixpkgs-unstable.legacyPackages.x86_64-linux.vimPlugins; [ - highlight-undo-nvim - vim-abolish + # Leap - # TODO: make that modular - playground + { + key = ""; + mode = [ + "n" + "x" + "o" + ]; + action = "(leap-forward)"; + options.desc = "Leap forward to"; + } + + { + key = ""; + mode = [ + "n" + "x" + "o" + ]; + action = "(leap-backward)"; + options.desc = "Leap backward to"; + } + + { + key = "g"; + mode = [ + "n" + "x" + "o" + ]; + action = "(leap-from-window)"; + options.desc = "Leap from window"; + } + + { + key = "gnn"; + mode = [ + "n" + "x" + "o" + ]; + action.__raw = '' + function() + require('leap.treesitter').select() + end + ''; + options.desc = "Start incremental selection"; + } + + { + key = "gnN"; + mode = [ + "n" + "x" + "o" + ]; + action = "Vlua require('leap.treesitter').select()"; + options.desc = "Start linewise incremental selection"; + } + + # Toggle options + (toggle "c" "cursorline") + (toggle "C" "cursorcolumn") + (toggle "h" "hlsearch") + (toggle "i" "ignorecase") + (toggle "l" "list") + (toggle "n" "number") + (toggle "r" "relativenumber") + (toggle "s" "spell") + (toggle "w" "wrap") + + { + mode = "n"; + key = "yod"; + action.__raw = '' + function() + if vim.wo.diff then + vim.cmd.diffoff() + print('diffoff') + else + vim.cmd.diffthis() + print('diffthis') + end + end + ''; + options.desc = "Toggle diff"; + } + ]; - vim-rhubarb - fugitive-gitlab-vim + # TODO: + # extraPlugins = with pkgs.unstable.vimPlugins; [ + extraPlugins = with inputs.nixpkgs-unstable.legacyPackages.x86_64-linux.vimPlugins; [ + highlight-undo-nvim + vim-abolish - vim-polyglot + # TODO: make that modular + playground - nvim-surround - ]; + vim-rhubarb + fugitive-gitlab-vim - plugins = { - cmp = { - enable = true; + vim-polyglot - settings = { - mapping.__raw = '' - cmp.mapping.preset.insert { - [''] = cmp.mapping.confirm({ select = false }), - - [""] = cmp.mapping(function(fallback) - local luasnip = require("luasnip") - if luasnip.locally_jumpable(1) then - luasnip.jump(1) - else - fallback() - end - end, { "i", "s" }), + nvim-surround + ]; - [""] = cmp.mapping(function(fallback) - local luasnip = require("luasnip") - if luasnip.locally_jumpable(-1) then - luasnip.jump(-1) - else - fallback() - end - end, { "i", "s" }), - } - ''; + plugins = { + cmp = { + enable = true; - snippet.expand = '' - function(args) - require('luasnip').lsp_expand(args.body) - end - ''; - - sources = [ - { name = "nvim_lsp"; } - { name = "nvim_lsp_signature_help"; } - { name = "cmp_pandoc"; } - # TODO: make this modular - { name = "crates"; } - { name = "luasnip"; } - { name = "calc"; } - { name = "path"; } - { name = "treesitter"; } - { name = "git"; } - { name = "tmux"; } - { name = "spell"; } - # Use \k for iskeyword because of UTF-8 - { - name = "buffer"; - option.keyword_pattern = ''\k\+''; - } - ]; + settings = { + mapping.__raw = '' + cmp.mapping.preset.insert { + [''] = cmp.mapping.confirm({ select = false }), + + [""] = cmp.mapping(function(fallback) + local luasnip = require("luasnip") + if luasnip.locally_jumpable(1) then + luasnip.jump(1) + else + fallback() + end + end, { "i", "s" }), + + [""] = cmp.mapping(function(fallback) + local luasnip = require("luasnip") + if luasnip.locally_jumpable(-1) then + luasnip.jump(-1) + else + fallback() + end + end, { "i", "s" }), + } + ''; + + snippet.expand = '' + function(args) + require('luasnip').lsp_expand(args.body) + end + ''; + + sources = [ + { name = "nvim_lsp"; } + { name = "nvim_lsp_signature_help"; } + { name = "cmp_pandoc"; } + # TODO: make this modular + { name = "crates"; } + { name = "luasnip"; } + { name = "calc"; } + { name = "path"; } + { name = "treesitter"; } + { name = "git"; } + { name = "tmux"; } + { name = "spell"; } + # Use \k for iskeyword because of UTF-8 + { + name = "buffer"; + option.keyword_pattern = ''\k\+''; + } + ]; + }; }; - }; - # cmp-buffer.enable = true; - # cmp-calc.enable = true; - # cmp-cmdline.enable = true; - # cmp-git.enable = true; + # cmp-buffer.enable = true; + # cmp-calc.enable = true; + # cmp-cmdline.enable = true; + # cmp-git.enable = true; - diffview.enable = true; + diffview.enable = true; - dressing.enable = true; + dressing.enable = true; - fidget = { - enable = true; - notification.overrideVimNotify = true; - }; + fidget = { + enable = true; + notification.overrideVimNotify = true; + }; - fugitive.enable = true; + fugitive.enable = true; - gitignore.enable = true; + gitignore.enable = true; - gitsigns.enable = true; + gitsigns.enable = true; - indent-blankline = { - enable = true; - settings.indent = { - char = "│"; - tab_char = "│"; + indent-blankline = { + enable = true; + settings.indent = { + char = "│"; + tab_char = "│"; + }; }; - }; - lastplace.enable = true; + lastplace.enable = true; - leap = { - enable = true; - addDefaultMappings = false; - }; + leap = { + enable = true; + addDefaultMappings = false; + }; - lualine = { - enable = true; - settings.options = { - component_separators.left = ""; - component_separators.right = ""; + lualine = { + enable = true; + settings.options = { + component_separators.left = ""; + component_separators.right = ""; - section_separators.left = ""; - section_separators.right = ""; + section_separators.left = ""; + section_separators.right = ""; - icons_enabled = false; + icons_enabled = false; + }; }; - }; - luasnip.enable = true; + luasnip.enable = true; - mini = { - enable = true; - modules = { - ai.custom_textobjects = { - search_method = "cover_or_nearest"; - - f.__raw = "require('mini.ai').gen_spec.treesitter({ a = '@function.outer', i = '@function.inner' })"; - F.__raw = "require('mini.ai').gen_spec.treesitter({ a = '@call.outer', i = '@call.inner' })"; - c.__raw = "require('mini.ai').gen_spec.treesitter({ a = '@comment.outer', i = '@comment.inner' })"; - b.__raw = "require('mini.ai').gen_spec.treesitter({ a = '@block.outer', i = '@block.inner' })"; - a.__raw = "require('mini.ai').gen_spec.treesitter({ a = '@parameter.outer', i = '@parameter.inner' })"; - o.__raw = '' - require('mini.ai').gen_spec.treesitter({ - a = { '@conditional.outer', '@loop.outer' }, - i = { '@conditional.inner', '@loop.inner' }, - }) - ''; - }; - align = { }; - bracketed = { }; - clue = { - triggers = [ - { - mode = "n"; - keys = "yo"; - } - { - mode = "n"; - keys = "["; - } - { - mode = "n"; - keys = "]"; - } - { - mode = "n"; - keys = ""; - } - ]; + mini = { + enable = true; + modules = { + ai.custom_textobjects = { + search_method = "cover_or_nearest"; + + f.__raw = "require('mini.ai').gen_spec.treesitter({ a = '@function.outer', i = '@function.inner' })"; + F.__raw = "require('mini.ai').gen_spec.treesitter({ a = '@call.outer', i = '@call.inner' })"; + c.__raw = "require('mini.ai').gen_spec.treesitter({ a = '@comment.outer', i = '@comment.inner' })"; + b.__raw = "require('mini.ai').gen_spec.treesitter({ a = '@block.outer', i = '@block.inner' })"; + a.__raw = "require('mini.ai').gen_spec.treesitter({ a = '@parameter.outer', i = '@parameter.inner' })"; + o.__raw = '' + require('mini.ai').gen_spec.treesitter({ + a = { '@conditional.outer', '@loop.outer' }, + i = { '@conditional.inner', '@loop.inner' }, + }) + ''; + }; + align = { }; + bracketed = { }; + clue = { + triggers = [ + { + mode = "n"; + keys = "yo"; + } + { + mode = "n"; + keys = "["; + } + { + mode = "n"; + keys = "]"; + } + { + mode = "n"; + keys = ""; + } + ]; + }; + trailspace = { }; }; - trailspace = { }; }; - }; - neogit = { - enable = true; - settings = { - graph_style = "unicode"; - integrations = { - diffview = true; - telescope = true; + neogit = { + enable = true; + settings = { + graph_style = "unicode"; + integrations = { + diffview = true; + telescope = true; + }; }; }; - }; - none-ls = { - enable = true; - sources = { - code_actions = { - gitrebase.enable = true; - gitsigns.enable = true; - # TODO: maybe? - #refactoring.enable = true; - statix.enable = true; - }; + none-ls = { + enable = true; + sources = { + code_actions = { + gitrebase.enable = true; + gitsigns.enable = true; + # TODO: maybe? + #refactoring.enable = true; + statix.enable = true; + }; - diagnostics = { - deadnix.enable = true; - statix = { - enable = true; - settings.extra_args = - let - config = (pkgs.formats.toml { }).generate "statix.toml" { - disabled = [ "repeated_keys" ]; - }; - in - [ - "-c" - "${config}" + diagnostics = { + deadnix.enable = true; + statix = { + enable = true; + settings.extra_args = + let + config = (pkgs.formats.toml { }).generate "statix.toml" { + disabled = [ "repeated_keys" ]; + }; + in + [ + "-c" + "${config}" + ]; + }; + vale = { + enable = true; + settings.extra_filetypes = [ + "pandoc" + "rst" ]; + }; }; - vale = { - enable = true; - settings.extra_filetypes = [ - "pandoc" - "rst" - ]; - }; - }; - formatting = { - shfmt.enable = true; - typstyle.enable = true; + formatting = { + shfmt.enable = true; + typstyle.enable = true; + }; }; }; - }; - nvim-osc52 = { - enable = true; - keymaps.enable = true; - }; + # TODO: neovim 0.10: replace + nvim-osc52 = { + enable = true; + keymaps.enable = true; + }; - oil.enable = true; + oil.enable = true; - # TODO: maybe - #refactoring.enable = true; + # TODO: maybe + #refactoring.enable = true; - spider = { - enable = true; - keymaps.motions = { - b = "b"; - e = "e"; - ge = "ge"; - w = "w"; + spider = { + enable = true; + keymaps.motions = { + b = "b"; + e = "e"; + ge = "ge"; + w = "w"; + }; }; - }; - telescope = { - enable = true; - settings = { }; + telescope = { + enable = true; + settings = { }; - extensions.undo.enable = true; + extensions.undo.enable = true; - keymaps = { - "fb" = { - action = "buffers"; - options.desc = "Telescope buffers"; - }; + keymaps = { + "fb" = { + action = "buffers"; + options.desc = "Telescope buffers"; + }; - "ff" = { - action = "find_files"; - options.desc = "Telescope find files"; - }; + "ff" = { + action = "find_files"; + options.desc = "Telescope find files"; + }; - "fg" = { - action = "live_grep"; - options.desc = "Telescope live grep"; - }; + "fg" = { + action = "live_grep"; + options.desc = "Telescope live grep"; + }; - "fh" = { - action = "help_tags"; - options.desc = "Telescope help tags"; - }; + "fh" = { + action = "help_tags"; + options.desc = "Telescope help tags"; + }; - "fo" = { - action = "oldfiles"; - options.desc = "Telescope old files"; - }; + "fo" = { + action = "oldfiles"; + options.desc = "Telescope old files"; + }; - "fs" = { - action = "spell_suggest"; - options.desc = "Telescope spell suggest"; - }; + "fs" = { + action = "spell_suggest"; + options.desc = "Telescope spell suggest"; + }; - "ft" = { - action = "treesitter"; - options.desc = "Telescope treesitter"; - }; + "ft" = { + action = "treesitter"; + options.desc = "Telescope treesitter"; + }; - "fu" = { - action = "undo"; - options.desc = "Telescope undo"; - }; + "fu" = { + action = "undo"; + options.desc = "Telescope undo"; + }; - "fw" = { - action = "git_status"; - options.desc = "Telescope git status"; + "fw" = { + action = "git_status"; + options.desc = "Telescope git status"; + }; }; }; - }; - treesitter = { - enable = true; - nixvimInjections = true; + treesitter = { + enable = true; + nixvimInjections = true; - settings = { - highlight.enable = true; - indent.enable = true; + settings = { + highlight.enable = true; + indent.enable = true; + }; }; - }; - treesitter-context = { - enable = true; - settings = { - max_lines = 5; - min_window_height = 20; + treesitter-context = { + enable = true; + settings = { + max_lines = 5; + min_window_height = 20; + }; }; - }; - treesitter-refactor = { - enable = true; - highlightDefinitions.enable = true; - }; + treesitter-refactor = { + enable = true; + highlightDefinitions.enable = true; + }; - treesitter-textobjects = { - enable = true; - lspInterop = { + treesitter-textobjects = { enable = true; - peekDefinitionCode = { - "df" = { - query = "@function.outer"; - desc = "Peek outer function"; - }; - "dF" = { - query = "@class.outer"; - desc = "Peek outer class"; + lspInterop = { + enable = true; + peekDefinitionCode = { + "df" = { + query = "@function.outer"; + desc = "Peek outer function"; + }; + "dF" = { + query = "@class.outer"; + desc = "Peek outer class"; + }; }; }; }; - }; - vim-matchup = { - enable = true; - treesitterIntegration.enable = true; + vim-matchup = { + enable = true; + treesitterIntegration.enable = true; + }; + + web-devicons.enable = true; }; - web-devicons.enable = true; + extraConfigLua = '' + vim.api.nvim_create_autocmd("TextYankPost", { + desc = "Highlight yanked text", + callback = function() + vim.highlight.on_yank() + end, + }) + + require('highlight-undo').setup({ + keymaps = { + -- Right now messes up registers + paste = { disabled = true, }, + Paste = { disabled = true, }, + }, + }) + + -- For fugitive's :GBrowse + vim.api.nvim_create_user_command("Browse", function(opts) + vim.ui.open(opts.args) + end, { nargs = 1 }) + + require("nvim-surround").setup() + ''; + + extraConfigLuaPost = '' + -- Load local config + + local function isModuleAvailable(name) + if package.loaded[name] then + return true + else + for _, searcher in ipairs(package.searchers or package.loaders) do + local loader = searcher(name) + if type(loader) == "function" then + package.preload[name] = loader + return true + end + end + return false + end + end + + vim.opt.runtimepath:append(vim.fn.stdpath("config")) -- ~/.config/nvim + + if isModuleAvailable "local_config" then + require "local_config" + end + ''; }; - extraConfigLua = '' - vim.api.nvim_create_autocmd("TextYankPost", { - desc = "Highlight yanked text", - callback = function() - vim.highlight.on_yank() - end, - }) - - require('highlight-undo').setup({ - keymaps = { - -- Right now messes up registers - paste = { disabled = true, }, - Paste = { disabled = true, }, - }, - }) - - -- For fugitive's :GBrowse - vim.api.nvim_create_user_command("Browse", function(opts) - vim.ui.open(opts.args) - end, { nargs = 1 }) - - require("nvim-surround").setup() - ''; - - extraConfigLuaPost = '' - -- Load local config - - local function isModuleAvailable(name) - if package.loaded[name] then - return true - else - for _, searcher in ipairs(package.searchers or package.loaders) do - local loader = searcher(name) - if type(loader) == "function" then - package.preload[name] = loader - return true - end - end - return false - end - end + environment.systemPackages = [ config.programs.nixvim.finalPackage ]; - vim.opt.runtimepath:append(vim.fn.stdpath("config")) -- ~/.config/nvim + environment.variables = { + EDITOR = "nvim"; + MANPAGER = "nvim +Man!"; + }; - if isModuleAvailable "local_config" then - require "local_config" - end - ''; + home-manager.users.minijackson.xdg.dataFile."nvim/backup/.keep".text = ""; + home-manager.users.root.xdg.dataFile."nvim/backup/.keep".text = ""; }; - - config.environment.systemPackages = [ config.programs.nixvim.finalPackage ]; } -- cgit v1.2.3