diff --git a/flake.nix b/flake.nix index d581155..a105d13 100644 --- a/flake.nix +++ b/flake.nix @@ -188,14 +188,15 @@ (builtins.filter (n: builtins.substring 0 12 n == "nvim_plugin-") (builtins.attrNames inputs)); }); - # All runtime dependencies are now optional and checked lazily by plugins + # All runtime dependencies are now optional and checked at runtime by plugins # This keeps the neovim flake lean and allows project devShells to provide tools - # Core dependencies that telescope needs are kept here + # Core dependencies that neovim itself might need can still be added here runtimeDependencies = with pkgs; [ - ripgrep # search - core to telescope, checked in telescope.lua init - fd # file finding - improves telescope performance, checked in telescope.lua init + # Keeping ripgrep and fd as they're core to telescope functionality + ripgrep # search - used heavily by telescope + fd # file finding - used by telescope # All other tools (LSPs, formatters, linters, glow, sshfs, etc.) are now optional - # and will show helpful errors when missing at the point of use + # and will show helpful errors when missing ]; in @@ -218,7 +219,6 @@ ++ [ # Add minimal runtime dependencies to neovim path # Most tools are now optional and checked at runtime - # Project devShells take precedence via --suffix "--suffix" "PATH" ":" diff --git a/lua/plugins/conform_formatter.lua b/lua/plugins/conform_formatter.lua index bdd2cb7..d651548 100644 --- a/lua/plugins/conform_formatter.lua +++ b/lua/plugins/conform_formatter.lua @@ -83,8 +83,7 @@ return { -- args = { "fmt" }, -- }, }, - -- Formatters are checked lazily on format attempt - -- conform.nvim will show errors if formatters are missing + -- Note that all these need to be available at runtime, add them to flake.nix#runtimeDependencies formatters_by_ft = { sql = { "sql_formatter", lsp_format = "first" }, lua = { "stylua", lsp_format = "first" }, diff --git a/lua/plugins/markdown_glow.lua b/lua/plugins/markdown_glow.lua index 5572115..ff7f8de 100644 --- a/lua/plugins/markdown_glow.lua +++ b/lua/plugins/markdown_glow.lua @@ -13,16 +13,6 @@ return { default_type = "keep", }, cmd = "Glow", - config = function(_, opts) - -- Check for glow when plugin is first used - if not U.cmd_executable("glow") then - vim.notify( - "'glow' not found on PATH. Install it to use markdown preview.", - vim.log.levels.ERROR - ) - end - require("glow").setup(opts) - end, keys = { { ",m", "Glow", desc = "Markdown preview" }, }, diff --git a/lua/plugins/remote-sshfs.lua b/lua/plugins/remote-sshfs.lua index 1ba6dd3..f0c288d 100644 --- a/lua/plugins/remote-sshfs.lua +++ b/lua/plugins/remote-sshfs.lua @@ -20,13 +20,6 @@ return { dependencies = { "nvim-telescope/telescope.nvim" }, opts = {}, config = function(_, opts) - -- Check for sshfs when plugin is first used - if not U.cmd_executable("sshfs") then - vim.notify( - "'sshfs' not found on PATH. Install it to use RemoteSSHFS commands.", - vim.log.levels.ERROR - ) - end require("remote-sshfs").setup(opts) require("telescope").load_extension("remote-sshfs") end,