mirror of
https://github.com/nix-community/nixvim.git
synced 2025-06-21 00:25:42 +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 [
|
config = mkIf cfg.enable (mkMerge [
|
||||||
{
|
{
|
||||||
environment.systemPackages =
|
environment.systemPackages =
|
||||||
[cfg.finalPackage]
|
[
|
||||||
|
cfg.finalPackage
|
||||||
|
cfg.printInitPackage
|
||||||
|
]
|
||||||
++ (lib.optional cfg.enableMan self.packages.${pkgs.system}.man-docs);
|
++ (lib.optional cfg.enableMan self.packages.${pkgs.system}.man-docs);
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
|
|
|
@ -37,7 +37,10 @@ in {
|
||||||
(mkMerge [
|
(mkMerge [
|
||||||
{
|
{
|
||||||
home.packages =
|
home.packages =
|
||||||
[cfg.finalPackage]
|
[
|
||||||
|
cfg.finalPackage
|
||||||
|
cfg.printInitPackage
|
||||||
|
]
|
||||||
++ (lib.optional cfg.enableMan self.packages.${pkgs.system}.man-docs);
|
++ (lib.optional cfg.enableMan self.packages.${pkgs.system}.man-docs);
|
||||||
}
|
}
|
||||||
(mkIf (!cfg.wrapRc) {
|
(mkIf (!cfg.wrapRc) {
|
||||||
|
|
|
@ -61,12 +61,26 @@ in {
|
||||||
readOnly = true;
|
readOnly = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
initPath = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
description = "The path to the init.lua file";
|
||||||
|
readOnly = true;
|
||||||
|
visible = false;
|
||||||
|
};
|
||||||
|
|
||||||
initContent = mkOption {
|
initContent = mkOption {
|
||||||
type = types.str;
|
type = types.str;
|
||||||
description = "The content of the init.lua file";
|
description = "The content of the init.lua file";
|
||||||
readOnly = true;
|
readOnly = true;
|
||||||
visible = false;
|
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
|
config = let
|
||||||
|
@ -110,11 +124,14 @@ in {
|
||||||
''
|
''
|
||||||
+ config.content;
|
+ config.content;
|
||||||
|
|
||||||
|
init = pkgs.writeText "init.lua" customRC;
|
||||||
|
initPath = toString init;
|
||||||
|
|
||||||
extraWrapperArgs = builtins.concatStringsSep " " (
|
extraWrapperArgs = builtins.concatStringsSep " " (
|
||||||
(optional (config.extraPackages != [])
|
(optional (config.extraPackages != [])
|
||||||
''--prefix PATH : "${makeBinPath config.extraPackages}"'')
|
''--prefix PATH : "${makeBinPath config.extraPackages}"'')
|
||||||
++ (optional config.wrapRc
|
++ (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
|
wrappedNeovim = pkgs.wrapNeovimUnstable config.package (neovimConfig
|
||||||
|
@ -126,6 +143,16 @@ in {
|
||||||
type = lib.mkForce "lua";
|
type = lib.mkForce "lua";
|
||||||
finalPackage = wrappedNeovim;
|
finalPackage = wrappedNeovim;
|
||||||
initContent = customRC;
|
initContent = customRC;
|
||||||
|
inherit initPath;
|
||||||
|
|
||||||
|
printInitPackage = pkgs.writeShellApplication {
|
||||||
|
name = "nixvim-print-init";
|
||||||
|
runtimeInputs = with pkgs; [stylua bat];
|
||||||
|
text = ''
|
||||||
|
stylua - <"${initPath}" | bat --language=lua
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
extraPlugins =
|
extraPlugins =
|
||||||
if config.wrapRc
|
if config.wrapRc
|
||||||
then [config.filesPlugin]
|
then [config.filesPlugin]
|
||||||
|
|
|
@ -38,7 +38,10 @@ in {
|
||||||
(mkMerge [
|
(mkMerge [
|
||||||
{
|
{
|
||||||
environment.systemPackages =
|
environment.systemPackages =
|
||||||
[cfg.finalPackage]
|
[
|
||||||
|
cfg.finalPackage
|
||||||
|
cfg.printInitPackage
|
||||||
|
]
|
||||||
++ (lib.optional cfg.enableMan self.packages.${pkgs.system}.man-docs);
|
++ (lib.optional cfg.enableMan self.packages.${pkgs.system}.man-docs);
|
||||||
}
|
}
|
||||||
(mkIf (!cfg.wrapRc) {
|
(mkIf (!cfg.wrapRc) {
|
||||||
|
|
|
@ -33,7 +33,10 @@ in
|
||||||
pkgs.symlinkJoin {
|
pkgs.symlinkJoin {
|
||||||
name = "nixvim";
|
name = "nixvim";
|
||||||
paths =
|
paths =
|
||||||
[config.finalPackage]
|
[
|
||||||
|
config.finalPackage
|
||||||
|
config.printInitPackage
|
||||||
|
]
|
||||||
++ pkgs.lib.optional config.enableMan self.packages.${pkgs.system}.man-docs;
|
++ pkgs.lib.optional config.enableMan self.packages.${pkgs.system}.man-docs;
|
||||||
meta.mainProgram = "nvim";
|
meta.mainProgram = "nvim";
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue