diff options
Diffstat (limited to 'users/seth/programs/neovim')
| -rw-r--r-- | users/seth/programs/neovim/.luarc.json | 3 | ||||
| -rw-r--r-- | users/seth/programs/neovim/config/init.lua | 17 | ||||
| -rw-r--r-- | users/seth/programs/neovim/config/keybinds.lua | 49 | ||||
| -rw-r--r-- | users/seth/programs/neovim/config/plugins/general.lua | 107 | ||||
| -rw-r--r-- | users/seth/programs/neovim/config/plugins/init.lua | 3 | ||||
| -rw-r--r-- | users/seth/programs/neovim/config/plugins/lsp.lua | 170 | ||||
| -rw-r--r-- | users/seth/programs/neovim/config/plugins/ui.lua | 40 | ||||
| -rw-r--r-- | users/seth/programs/neovim/default.nix | 93 |
8 files changed, 0 insertions, 482 deletions
diff --git a/users/seth/programs/neovim/.luarc.json b/users/seth/programs/neovim/.luarc.json deleted file mode 100644 index 23b9ee2..0000000 --- a/users/seth/programs/neovim/.luarc.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "workspace.checkThirdParty": false -}
\ No newline at end of file diff --git a/users/seth/programs/neovim/config/init.lua b/users/seth/programs/neovim/config/init.lua deleted file mode 100644 index 854f26c..0000000 --- a/users/seth/programs/neovim/config/init.lua +++ /dev/null @@ -1,17 +0,0 @@ -local cmd = vim.cmd -local opt = vim.opt - --- text options -opt.tabstop = 2 -opt.shiftwidth = 2 -opt.expandtab = false -opt.smartindent = true -opt.wrap = true - --- appearance -opt.syntax = "on" -cmd("filetype plugin indent on") -opt.termguicolors = true - -require("getchoo.keybinds") -require("getchoo.plugins") diff --git a/users/seth/programs/neovim/config/keybinds.lua b/users/seth/programs/neovim/config/keybinds.lua deleted file mode 100644 index 7dab12e..0000000 --- a/users/seth/programs/neovim/config/keybinds.lua +++ /dev/null @@ -1,49 +0,0 @@ -vim.g.mapleader = "," - -local opts = { noremap = true, silent = true } -local set = function(mode, key, vimcmd) - vim.keymap.set(mode, key, vimcmd, opts) -end - -if pcall(require, "neo-tree.command") then - set("n", "<leader>t", function() - require("neo-tree.command").execute({ - toggle = true, - dir = vim.loop.cwd(), - }) - end) -end - -if pcall(require, "flash") then - set({ "n", "o", "x" }, "s", function() - require("flash").jump() - end) -end - -for i = 1, 9 do - set("n", "<leader>" .. i, function() - local vimcmd = "BufferLineGoToBuffer " .. i - vim.cmd(vimcmd) - end) -end - -set("n", "<leader>q", function() - vim.cmd("BufferLinePickClose") -end) - -set("n", "<leader>e", vim.diagnostic.open_float) -set("n", "[d", vim.diagnostic.goto_prev) -set("n", "]d", vim.diagnostic.goto_next) -set("n", "<leader>u", vim.diagnostic.setloclist) - -set("n", "<leader>f", function() - vim.cmd("Telescope") -end) - -set("n", "<leader>p", function() - vim.cmd("TroubleToggle") -end) - -set("n", "<leader>z", function() - vim.api.nvim_clear_autocmds({ group = "LspFormatting" }) -end) diff --git a/users/seth/programs/neovim/config/plugins/general.lua b/users/seth/programs/neovim/config/plugins/general.lua deleted file mode 100644 index f9a0c2c..0000000 --- a/users/seth/programs/neovim/config/plugins/general.lua +++ /dev/null @@ -1,107 +0,0 @@ ----- catppuccin -local compile_path = vim.fn.stdpath("cache") .. "/catppuccin-nvim" -vim.fn.mkdir(compile_path, "p") -vim.opt.runtimepath:append(compile_path) - -require("catppuccin").setup({ - compile_path = compile_path, - flavour = "mocha", -- mocha, macchiato, frappe, latte - integrations = { - cmp = true, - flash = true, - gitsigns = true, - native_lsp = { - enabled = true, - }, - neotree = true, - treesitter_context = true, - treesitter = true, - telescope = true, - lsp_trouble = true, - }, - no_italic = true, -}) -vim.api.nvim_command("colorscheme catppuccin") - ----- bufferline -require("bufferline").setup({ - options = { - always_show_bufferline = false, - highlights = require("catppuccin.groups.integrations.bufferline").get(), - diagnostics = "nvim_lsp", - mode = "buffers", - numbers = "ordinal", - separator_style = "slant", - offsets = { - { - filetype = "neo-tree", - text = "neo-tree", - highlight = "Directory", - text_align = "left", - }, - }, - }, -}) - ----- gitsigns -require("gitsigns").setup() - ----- indent-blankline.nvim -require("indent_blankline").setup({ - filetype_exclude = { - "help", - "neo-tree", - "Trouble", - "lazy", - "mason", - "notify", - "toggleterm", - }, - show_trailing_blankline_indent = false, - show_current_context = false, -}) - ----- lualine -require("lualine").setup({ - options = { - theme = "catppuccin", - }, - extensions = { "neo-tree", "trouble" }, -}) - ----- mini.nvim -require("mini.pairs").setup({}) -require("mini.indentscope").setup({ - options = { try_as_border = true }, -}) - -vim.api.nvim_create_autocmd("FileType", { - pattern = { - "help", - "neo-tree", - "Trouble", - "lazy", - "mason", - "notify", - "toggleterm", - }, - callback = function() - vim.b.miniindentscope_disable = true - end, -}) - ----- nvim-tree -require("neo-tree").setup({ - sources = { "filesystem", "buffers", "git_status", "document_symbols" }, - open_files_do_not_replace_types = { "terminal", "Trouble", "qf", "Outline" }, - filesystem = { - bind_to_cwd = false, - follow_current_file = { enabled = true }, - use_libuv_file_watcher = true, - }, -}) - ----- which-key -require("which-key").setup({ - plugins = { spelling = true }, -}) diff --git a/users/seth/programs/neovim/config/plugins/init.lua b/users/seth/programs/neovim/config/plugins/init.lua deleted file mode 100644 index 95883c7..0000000 --- a/users/seth/programs/neovim/config/plugins/init.lua +++ /dev/null @@ -1,3 +0,0 @@ -require("getchoo.plugins.general") -require("getchoo.plugins.lsp") -require("getchoo.plugins.ui") diff --git a/users/seth/programs/neovim/config/plugins/lsp.lua b/users/seth/programs/neovim/config/plugins/lsp.lua deleted file mode 100644 index e776ed4..0000000 --- a/users/seth/programs/neovim/config/plugins/lsp.lua +++ /dev/null @@ -1,170 +0,0 @@ ----- cmp -local cmp = require("cmp") -local luasnip = require("luasnip") -local mapping = cmp.mapping - -require("cmp").setup({ - completion = { - completeopt = "menu,menuone,noinsert", - }, - - snippet = { - expand = function(args) - luasnip.lsp_expand(args.body) - end, - }, - - mapping = mapping.preset.insert({ - ["<C-n>"] = mapping.select_next_item({ behavior = cmp.SelectBehavior.Insert }), - ["<C-p>"] = mapping.select_prev_item({ behavior = cmp.SelectBehavior.Insert }), - ["<C-b>"] = mapping.scroll_docs(-4), - ["<C-f>"] = mapping.scroll_docs(4), - ["<C-Space>"] = mapping.complete(), - ["<C-e>"] = mapping.abort(), - ["<CR>"] = mapping.confirm({ select = true }), - ["<S-CR>"] = mapping.confirm({ - behavior = cmp.ConfirmBehavior.Replace, - select = true, - }), - }), - - sources = cmp.config.sources({ - { name = "nvim_lsp" }, - { name = "luasnip" }, - { name = "async_path" }, - { name = "buffer" }, - }), -}) - ----- gitsigns -require("gitsigns").setup() - ----- fidget -require("fidget").setup() - ----- lsp sources -local null_ls = require("null-ls") -local diagnostics = null_ls.builtins.diagnostics -local formatting = null_ls.builtins.formatting - -local sources = { - lsp_servers = { - ["bashls"] = "bash-language-server", - ["clangd"] = "clangd", - ["eslint"] = "eslint", - ["nil_ls"] = "nil", - ["pyright"] = "pyright-langserver", - ["rust_analyzer"] = "rust-analyzer", - ["tsserver"] = "typescript-language-server", - }, - null_ls = { - diagnostics.actionlint, - diagnostics.alex, - diagnostics.codespell, - diagnostics.deadnix, - diagnostics.pylint, - diagnostics.shellcheck, - diagnostics.statix, - formatting.alejandra, - formatting.beautysh, - formatting.codespell, - formatting.just, - formatting.nimpretty, - formatting.prettier, - formatting.rustfmt, - formatting.shellharden, - formatting.stylua, - formatting.yapf, - }, -} - ---- lsp config -local capabilities = vim.tbl_deep_extend( - "force", - require("cmp_nvim_lsp").default_capabilities(vim.lsp.protocol.make_client_capabilities()), - { workspace = { didChangeWatchedFiles = { dynamicRegistration = true } } } -) - -local all_config = { - capabilities = capabilities, -} - -local servers = {} -for server, binary in pairs(sources.lsp_servers) do - if vim.fn.executable(binary) == 1 then - servers[server] = all_config - end -end - -servers["lua_ls"] = { - capabilities = capabilities, - settings = { - Lua = { - runtime = { - version = "LuaJIT", - }, - diagnostics = { - globals = { "vim" }, - }, - workspace = { - library = vim.api.nvim_get_runtime_file("", true), - }, - }, - }, -} - -for server, settings in pairs(servers) do - require("lspconfig")[server].setup(settings) -end - ----- null-ls --- auto-format -local lsp_formatting = function(bufnr) - vim.lsp.buf.format({ - filter = function(client) - return client.name == "null-ls" - end, - bufnr = bufnr, - }) -end - -local augroup = vim.api.nvim_create_augroup("LspFormatting", {}) -local formatting_on_attach = function(client, bufnr) - if client.supports_method("textDocument/formatting") then - vim.api.nvim_clear_autocmds({ group = augroup, buffer = bufnr }) - vim.api.nvim_create_autocmd("BufWritePre", { - group = augroup, - buffer = bufnr, - callback = function() - lsp_formatting(bufnr) - end, - }) - end -end - -require("mini.comment").setup({ - options = { - custom_commentstring = function() - return require("ts_context_commentstring.internal").calculate_commentstring() - or vim.bo.context_commentstring - end, - }, -}) - -require("null-ls").setup({ - on_attach = formatting_on_attach, - sources = sources.null_ls, -}) - -require("nvim-treesitter.configs").setup({ - auto_install = false, - highlight = { enable = true }, - indent = { enable = true }, - context_commentstring = { - enable = true, - enable_autocmd = false, - }, -}) - ----- trouble -require("trouble").setup() diff --git a/users/seth/programs/neovim/config/plugins/ui.lua b/users/seth/programs/neovim/config/plugins/ui.lua deleted file mode 100644 index 3a0cc2e..0000000 --- a/users/seth/programs/neovim/config/plugins/ui.lua +++ /dev/null @@ -1,40 +0,0 @@ -require("dressing") - -vim.notify = require("notify") - -vim.ui.select = function(...) - return vim.ui.select(...) -end - -vim.ui.input = function(...) - return vim.ui.input(...) -end - -require("noice").setup({ - lsp = { - override = { - ["vim.lsp.util.convert_input_to_markdown_lines"] = true, - ["vim.lsp.util.stylize_markdown"] = true, - ["cmp.entry.get_documentation"] = true, - }, - }, - routes = { - { - filter = { - event = "msg_show", - any = { - { find = "%d+L, %d+B" }, - { find = "; after #%d+" }, - { find = "; before #%d+" }, - }, - }, - view = "mini", - }, - }, - presets = { - bottom_search = true, - command_palette = true, - long_message_to_split = true, - inc_rename = true, - }, -}) diff --git a/users/seth/programs/neovim/default.nix b/users/seth/programs/neovim/default.nix deleted file mode 100644 index 2a186ac..0000000 --- a/users/seth/programs/neovim/default.nix +++ /dev/null @@ -1,93 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: let - cfg = config.getchoo.programs.neovim; - inherit (lib) mkEnableOption mkIf; -in { - options.getchoo.programs.neovim.enable = mkEnableOption "neovim" // {default = true;}; - - config = mkIf cfg.enable { - programs.neovim = { - enable = true; - defaultEditor = true; - extraPackages = with pkgs; [ - actionlint - alejandra - beautysh - codespell - deadnix - just - nil - nodePackages.alex - shellcheck - statix - stylua - sumneko-lua-language-server - ]; - plugins = with pkgs.vimPlugins; [ - # general - catppuccin-nvim - - # TODO: don't pin when deprecation notice - # is no longer in nixpkgs - (fidget-nvim.overrideAttrs (_: { - src = pkgs.fetchFromGitHub { - owner = "j-hui"; - repo = "fidget.nvim"; - rev = "41f327b53c7977d47aee56f05e0bdbb4b994c5eb"; - hash = "sha256-v9qARsW8Gozit4Z3+igiemjI467QgRhwM+crqwO9r6U="; - }; - })) - - flash-nvim - gitsigns-nvim - indent-blankline-nvim - lualine-nvim - neo-tree-nvim - nvim-web-devicons - mini-nvim - - # completion - nvim-cmp - cmp-nvim-lsp - cmp-buffer - cmp_luasnip - cmp-async-path - luasnip - - # ui - dressing-nvim - noice-nvim - nui-nvim - nvim-notify - - # lsp - nvim-lspconfig - null-ls-nvim - pkgs.vim-just - - ## utils - bufferline-nvim - plenary-nvim - telescope-nvim - trouble-nvim - which-key-nvim - - # treesitter - nvim-treesitter.withAllGrammars - nvim-ts-context-commentstring - ]; - extraLuaConfig = '' - require("getchoo") - ''; - }; - - xdg.configFile."nvim/lua/getchoo" = { - source = ./config; - recursive = true; - }; - }; -} |
