Compare commits

...

3 Commits

Author SHA1 Message Date
raf cc639deee3
Merge branch 'main' into main 2024-07-21 15:25:18 +00:00
NotAShelf 2b8d0af2e6
modules: add meta.mainProgram to symlinkJoined Neovim wrapper 2024-07-20 16:55:56 +03:00
raf 8b15271f63
modules: add helper scripts (#346)
* modules: add helpers to display init.lua and its store path

* docs: update 0.7 release notes

* modules: use writeDashBin for helpers
2024-07-20 13:01:40 +00:00
2 changed files with 35 additions and 2 deletions

View File

@ -139,3 +139,11 @@ configuration formats.
- Add [neo-tree.nvim] as an alternative file-tree plugin. It will be available
under `vim.filetree.neo-tree`, similar to nvimtree.
- Add `print-nvf-config` & `print-nvf-config-path` helper scripts to Neovim
closure. Both of those scripts have been automatically added to your PATH upon
using neovimConfig or `programs.nvf.enable`.
- `print-nvf-config` will display your `init.lua`, in full.
- `print-nvf-config-path` will display the path to _a clone_ of your
`init.lua`. This is not the path used by the Neovim wrapper, but an
identical clone.

View File

@ -113,10 +113,35 @@ inputs: {
inherit (vimOptions) viAlias vimAlias withRuby withNodeJs withPython3;
inherit extraLuaPackages extraPython3Packages;
};
# Additional helper scripts for printing and displaying nvf configuration
# in your commandline.
printConfig = pkgs.writers.writeDashBin "print-nvf-config" ''
cat << EOF
${vimOptions.builtLuaConfigRC}
EOF
'';
printConfigPath = pkgs.writers.writeDashBin "print-nvf-config-path" ''
realpath ${pkgs.writeTextFile {
name = "nvf-init.lua";
text = vimOptions.builtLuaConfigRC;
}}
'';
in {
inherit (module) options config;
inherit (module._module.args) pkgs;
# expose wrapped neovim-package
neovim = neovim-wrapped;
# Expose wrapped neovim-package for userspace
# or module consumption.
neovim = pkgs.symlinkJoin {
name = "nvf-with-helpers";
paths = [neovim-wrapped printConfig printConfigPath];
postBuild = "echo helpers added";
meta = {
description = "Wrapped version of Neovim with additional helper scripts";
mainProgram = "nvim";
};
};
}