-
Notifications
You must be signed in to change notification settings - Fork 328
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Sub modules not loading #66
Comments
I see you're using Nix. Might be related to that. local Util = require("lazy.core.util")
Util.lsmod("plugins", function(modname, modpath)
print(modname .. ": " .. modpath)
end) |
Is there anything else special about your Nix env I should know? |
Nothing at all gets printed?! I tried inserting it into a file and running
All my neovim config files are symlinks into the nix store (only the files, not the folders):
This also means, that all files are readonly from neovims perspective. And I generate some paths to lspservers in nix and source them in neovim, this sould however not matter here.
Did not change a thing. Same problem |
gotcha. It's because they are links instead of files. Will change it so it works for links too |
Currently, there are 5 packages that can be managed with Home Manager that expose `finalPackage` option publicly: `pandoc`, `rofi`, `timidity`, `emacs`, `hyprland`. This commit adds the 6th one: `neovim`. While the final package that is being built after all of the modifications should be considered an implementation detail, in cases of complex software like `neovim` this could hide important details. One particular case that comes to mind is using `lazy.nvim` package manager. It exposes a number of useful APIs that really help managing configuration, such as conditional keybindings, dependency tree building, merging configurations, and so on. Questions about using it on NixOS come up often, because manually recreating this functionality is hard, and it's a very popular method of managing plugins that has good UI/UX. As it is now, it is impossible to use `lazy.nvim` with Nix efficiently. `lazy.nvim` monopolizes the plugin management, which means that installing plugins with Nix and managing them with `lazy.nvim` is not supported. Some of the pitfalls are already described: folke/lazy.nvim#402 folke/lazy.nvim#66 In short, to integrate `lazy.nvim` with Nix there are three things that must be done: 1. `lazy.nvim` resets packpath, which should be managed by Nix; it has to be turned off with `performance.reset_packpath = false` option in `lazy.nvim` 2. Same thing applies to rtp, the relevant option is `performance.rtp.reset = false` 3. `dev.path` must be specified as the folder that contains the plugins. This folder is the path to Nix store path with Neovim plugins, and the plugins that are managed by Nix must be marked as `dev = true` The third condition can not be fulfilled without this PR, as the final package that Home Manager produces is not exposed, therefore it is impossible to extract the Nix store path. This PR makes it possible to be extracted via `${pkgs.vimUtils.packDir config.home-manager.users.<user>.programs.neovim.finalPackage.passthru.packpathDirs}/pack/myNeovimPackages/start}` expression.
Hey, I tried migrating from packer to lazy. My current plugin structure is this.
In my init.lua i specify:
The readme tells me:
But currently only the
~/.config/nvim/lua/plugins/init.lua
file gets sourced and plugins installed from it. For example my fuzzy finder is neither loaded nor installed::lua require('fzf-lua').files()
:What am I missing?
The text was updated successfully, but these errors were encountered: