mirror of
https://github.com/nix-community/nixvim.git
synced 2025-06-20 16:15:43 +02:00
wrappers: add nixvim-print-init package
This commit is contained in:
parent
032f697da6
commit
45d788bdd9
5 changed files with 44 additions and 5 deletions
|
@ -28,7 +28,10 @@ in {
|
|||
config = mkIf cfg.enable (mkMerge [
|
||||
{
|
||||
environment.systemPackages =
|
||||
[cfg.finalPackage]
|
||||
[
|
||||
cfg.finalPackage
|
||||
cfg.printInitPackage
|
||||
]
|
||||
++ (lib.optional cfg.enableMan self.packages.${pkgs.system}.man-docs);
|
||||
}
|
||||
{
|
||||
|
|
|
@ -37,7 +37,10 @@ in {
|
|||
(mkMerge [
|
||||
{
|
||||
home.packages =
|
||||
[cfg.finalPackage]
|
||||
[
|
||||
cfg.finalPackage
|
||||
cfg.printInitPackage
|
||||
]
|
||||
++ (lib.optional cfg.enableMan self.packages.${pkgs.system}.man-docs);
|
||||
}
|
||||
(mkIf (!cfg.wrapRc) {
|
||||
|
|
|
@ -61,12 +61,26 @@ in {
|
|||
readOnly = true;
|
||||
};
|
||||
|
||||
initPath = mkOption {
|
||||
type = types.str;
|
||||
description = "The path to the init.lua file";
|
||||
readOnly = true;
|
||||
visible = false;
|
||||
};
|
||||
|
||||
initContent = mkOption {
|
||||
type = types.str;
|
||||
description = "The content of the init.lua file";
|
||||
readOnly = true;
|
||||
visible = false;
|
||||
};
|
||||
|
||||
printInitPackage = mkOption {
|
||||
type = types.package;
|
||||
description = "A tool to show the content of the generated init.lua file.";
|
||||
readOnly = true;
|
||||
visible = false;
|
||||
};
|
||||
};
|
||||
|
||||
config = let
|
||||
|
@ -110,11 +124,14 @@ in {
|
|||
''
|
||||
+ config.content;
|
||||
|
||||
init = pkgs.writeText "init.lua" customRC;
|
||||
initPath = toString init;
|
||||
|
||||
extraWrapperArgs = builtins.concatStringsSep " " (
|
||||
(optional (config.extraPackages != [])
|
||||
''--prefix PATH : "${makeBinPath config.extraPackages}"'')
|
||||
++ (optional config.wrapRc
|
||||
''--add-flags -u --add-flags "${pkgs.writeText "init.lua" customRC}"'')
|
||||
''--add-flags -u --add-flags "${init}"'')
|
||||
);
|
||||
|
||||
wrappedNeovim = pkgs.wrapNeovimUnstable config.package (neovimConfig
|
||||
|
@ -126,6 +143,16 @@ in {
|
|||
type = lib.mkForce "lua";
|
||||
finalPackage = wrappedNeovim;
|
||||
initContent = customRC;
|
||||
inherit initPath;
|
||||
|
||||
printInitPackage = pkgs.writeShellApplication {
|
||||
name = "nixvim-print-init";
|
||||
runtimeInputs = with pkgs; [stylua bat];
|
||||
text = ''
|
||||
stylua - <"${initPath}" | bat --language=lua
|
||||
'';
|
||||
};
|
||||
|
||||
extraPlugins =
|
||||
if config.wrapRc
|
||||
then [config.filesPlugin]
|
||||
|
|
|
@ -38,7 +38,10 @@ in {
|
|||
(mkMerge [
|
||||
{
|
||||
environment.systemPackages =
|
||||
[cfg.finalPackage]
|
||||
[
|
||||
cfg.finalPackage
|
||||
cfg.printInitPackage
|
||||
]
|
||||
++ (lib.optional cfg.enableMan self.packages.${pkgs.system}.man-docs);
|
||||
}
|
||||
(mkIf (!cfg.wrapRc) {
|
||||
|
|
|
@ -33,7 +33,10 @@ in
|
|||
pkgs.symlinkJoin {
|
||||
name = "nixvim";
|
||||
paths =
|
||||
[config.finalPackage]
|
||||
[
|
||||
config.finalPackage
|
||||
config.printInitPackage
|
||||
]
|
||||
++ pkgs.lib.optional config.enableMan self.packages.${pkgs.system}.man-docs;
|
||||
meta.mainProgram = "nvim";
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue