From fd9b0ecef4142a62b45404700ba1cff488f84a73 Mon Sep 17 00:00:00 2001 From: Benedikt Peetz Date: Thu, 23 May 2024 13:31:11 +0200 Subject: refactor(modules/home): Setup as "normal" NixOS module --- .../conf/nvim/plgs/lsp-progress-nvim/default.nix | 50 ++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 modules/home/conf/nvim/plgs/lsp-progress-nvim/default.nix (limited to 'modules/home/conf/nvim/plgs/lsp-progress-nvim/default.nix') diff --git a/modules/home/conf/nvim/plgs/lsp-progress-nvim/default.nix b/modules/home/conf/nvim/plgs/lsp-progress-nvim/default.nix new file mode 100644 index 00000000..6602ceb6 --- /dev/null +++ b/modules/home/conf/nvim/plgs/lsp-progress-nvim/default.nix @@ -0,0 +1,50 @@ +{ + lib, + pkgs, + ... +}: { + programs.nixvim = { + # TODO: package lsp-progress-nvim though a module + extraConfigLuaPost = '' + ${lib.strings.fileContents ./lua/lsp-progress-nvim.lua} + ''; + extraPlugins = [ + pkgs.vimExtraPlugins.lsp-progress-nvim + ]; + + # Status line setup + autoGroups.lsp_refresh.clear = true; + autoCmd = [ + { + event = ["User LspProgressStatusUpdated"]; + pattern = ["*"]; + callback = + /* + lua + */ + { + __raw = '' + require("lualine").refresh + ''; + }; + group = "lsp_refresh"; + description = "Refresh the statusbar when the lsp status was updated."; + } + ]; + plugins.lualine = let + get_lsp_progress = { + __raw = + /* + lua + */ + '' + require('lsp-progress').progress + ''; + }; + in { + sections = { + lualine_c = [{name = get_lsp_progress;}]; + }; + }; + }; +} -- cgit 1.4.1