mirror of
https://github.com/nix-community/nixvim.git
synced 2025-06-21 00:25:42 +02:00
misc: refactor helpers propagation
Co-authored-by: Robert Hensing <robert@roberthensing.nl>
This commit is contained in:
parent
3bbb3d5453
commit
5d3ed3a09e
12 changed files with 100 additions and 40 deletions
|
@ -1,4 +1,7 @@
|
|||
modules: {
|
||||
{
|
||||
modules,
|
||||
helpers,
|
||||
}: {
|
||||
lib,
|
||||
pkgs,
|
||||
config,
|
||||
|
@ -20,7 +23,7 @@ in {
|
|||
check = builtins.isAttrs;
|
||||
};
|
||||
description = "Use this option to access the helpers";
|
||||
default = import ../plugins/helpers.nix {inherit (pkgs) lib;};
|
||||
default = helpers;
|
||||
};
|
||||
|
||||
configFiles = let
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{
|
||||
modules,
|
||||
self,
|
||||
getHelpers,
|
||||
}: {
|
||||
pkgs,
|
||||
config,
|
||||
|
@ -8,19 +9,25 @@
|
|||
...
|
||||
} @ args: let
|
||||
inherit (lib) mkEnableOption mkOption mkOptionType mkForce mkMerge mkIf types;
|
||||
shared = import ./_shared.nix modules args;
|
||||
helpers = getHelpers pkgs;
|
||||
shared = import ./_shared.nix {inherit modules helpers;} args;
|
||||
cfg = config.programs.nixvim;
|
||||
in {
|
||||
options = {
|
||||
programs.nixvim = mkOption {
|
||||
default = {};
|
||||
type = types.submodule ([
|
||||
{
|
||||
options.enable = mkEnableOption "nixvim";
|
||||
config.wrapRc = mkForce true;
|
||||
}
|
||||
]
|
||||
++ shared.topLevelModules);
|
||||
type = types.submoduleWith {
|
||||
shorthandOnlyDefinesConfig = true;
|
||||
specialArgs.helpers = helpers;
|
||||
modules =
|
||||
[
|
||||
{
|
||||
options.enable = mkEnableOption "nixvim";
|
||||
config.wrapRc = mkForce true;
|
||||
}
|
||||
]
|
||||
++ shared.topLevelModules;
|
||||
};
|
||||
};
|
||||
nixvim.helpers = shared.helpers;
|
||||
};
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{
|
||||
modules,
|
||||
self,
|
||||
getHelpers,
|
||||
}: {
|
||||
pkgs,
|
||||
config,
|
||||
|
@ -8,7 +9,8 @@
|
|||
...
|
||||
} @ args: let
|
||||
inherit (lib) mkEnableOption mkOption mkOptionType mkMerge mkIf types;
|
||||
shared = import ./_shared.nix modules args;
|
||||
helpers = getHelpers pkgs;
|
||||
shared = import ./_shared.nix {inherit modules helpers;} args;
|
||||
cfg = config.programs.nixvim;
|
||||
files =
|
||||
shared.configFiles
|
||||
|
@ -19,15 +21,20 @@ in {
|
|||
options = {
|
||||
programs.nixvim = mkOption {
|
||||
default = {};
|
||||
type = types.submodule ([
|
||||
{
|
||||
options = {
|
||||
enable = mkEnableOption "nixvim";
|
||||
defaultEditor = mkEnableOption "nixvim as the default editor";
|
||||
};
|
||||
}
|
||||
]
|
||||
++ shared.topLevelModules);
|
||||
type = types.submoduleWith {
|
||||
shorthandOnlyDefinesConfig = true;
|
||||
specialArgs.helpers = helpers;
|
||||
modules =
|
||||
[
|
||||
{
|
||||
options = {
|
||||
enable = mkEnableOption "nixvim";
|
||||
defaultEditor = mkEnableOption "nixvim as the default editor";
|
||||
};
|
||||
}
|
||||
]
|
||||
++ shared.topLevelModules;
|
||||
};
|
||||
};
|
||||
nixvim.helpers = shared.helpers;
|
||||
};
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{
|
||||
modules,
|
||||
self,
|
||||
getHelpers,
|
||||
}: {
|
||||
pkgs,
|
||||
config,
|
||||
|
@ -8,7 +9,8 @@
|
|||
...
|
||||
} @ args: let
|
||||
inherit (lib) mkEnableOption mkOption mkOptionType mkForce mkMerge mkIf types;
|
||||
shared = import ./_shared.nix modules args;
|
||||
helpers = getHelpers pkgs;
|
||||
shared = import ./_shared.nix {inherit modules helpers;} args;
|
||||
cfg = config.programs.nixvim;
|
||||
files =
|
||||
shared.configFiles
|
||||
|
@ -19,16 +21,21 @@ in {
|
|||
options = {
|
||||
programs.nixvim = mkOption {
|
||||
default = {};
|
||||
type = types.submodule ([
|
||||
{
|
||||
options = {
|
||||
enable = mkEnableOption "nixvim";
|
||||
defaultEditor = mkEnableOption "nixvim as the default editor";
|
||||
};
|
||||
config.wrapRc = mkForce true;
|
||||
}
|
||||
]
|
||||
++ shared.topLevelModules);
|
||||
type = types.submoduleWith {
|
||||
shorthandOnlyDefinesConfig = true;
|
||||
specialArgs.helpers = helpers;
|
||||
modules =
|
||||
[
|
||||
{
|
||||
options = {
|
||||
enable = mkEnableOption "nixvim";
|
||||
defaultEditor = mkEnableOption "nixvim as the default editor";
|
||||
};
|
||||
config.wrapRc = mkForce true;
|
||||
}
|
||||
]
|
||||
++ shared.topLevelModules;
|
||||
};
|
||||
};
|
||||
nixvim.helpers = shared.helpers;
|
||||
};
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
default_pkgs: {
|
||||
modules,
|
||||
self,
|
||||
getHelpers,
|
||||
}: {
|
||||
pkgs ? default_pkgs,
|
||||
extraSpecialArgs ? {},
|
||||
|
@ -8,16 +9,24 @@ default_pkgs: {
|
|||
}: let
|
||||
inherit (pkgs) lib;
|
||||
|
||||
wrap = {wrapRc = true;};
|
||||
|
||||
shared = import ./_shared.nix modules {
|
||||
helpers = getHelpers pkgs;
|
||||
shared = import ./_shared.nix {inherit modules helpers;} {
|
||||
inherit pkgs lib;
|
||||
config = {};
|
||||
};
|
||||
|
||||
eval = lib.evalModules {
|
||||
modules = [module wrap] ++ shared.topLevelModules;
|
||||
specialArgs = extraSpecialArgs;
|
||||
modules =
|
||||
[
|
||||
module
|
||||
{wrapRc = true;}
|
||||
]
|
||||
++ shared.topLevelModules;
|
||||
specialArgs =
|
||||
{
|
||||
inherit helpers;
|
||||
}
|
||||
// extraSpecialArgs;
|
||||
};
|
||||
|
||||
handleAssertions = config: let
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue