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,5 +1,6 @@
|
|||
{
|
||||
rawModules,
|
||||
helpers,
|
||||
pkgs,
|
||||
}: let
|
||||
pkgsDoc =
|
||||
|
@ -73,7 +74,13 @@ in
|
|||
options-json =
|
||||
(pkgsDoc.nixosOptionsDoc
|
||||
{
|
||||
inherit (lib.evalModules {modules = topLevelModules;}) options;
|
||||
inherit
|
||||
(lib.evalModules {
|
||||
modules = topLevelModules;
|
||||
specialArgs.helpers = helpers;
|
||||
})
|
||||
options
|
||||
;
|
||||
inherit transformOptions;
|
||||
warningsAreErrors = false;
|
||||
})
|
||||
|
@ -86,5 +93,6 @@ in
|
|||
docs = pkgsDoc.callPackage ./mdbook {
|
||||
inherit transformOptions;
|
||||
modules = topLevelModules;
|
||||
inherit helpers;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -2,13 +2,14 @@
|
|||
pkgs,
|
||||
lib,
|
||||
modules,
|
||||
helpers,
|
||||
nixosOptionsDoc,
|
||||
transformOptions,
|
||||
}:
|
||||
with lib; let
|
||||
options = lib.evalModules {
|
||||
inherit modules;
|
||||
specialArgs = {inherit pkgs lib;};
|
||||
specialArgs = {inherit pkgs lib helpers;};
|
||||
};
|
||||
|
||||
mkMDDoc = options:
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
{inputs, ...}: {
|
||||
imports = [
|
||||
./dev.nix
|
||||
./helpers.nix
|
||||
./lib.nix
|
||||
./legacy-packages.nix
|
||||
./modules.nix
|
||||
|
|
15
flake-modules/helpers.nix
Normal file
15
flake-modules/helpers.nix
Normal file
|
@ -0,0 +1,15 @@
|
|||
{getHelpers, ...}: {
|
||||
_module.args.getHelpers = pkgs:
|
||||
import ../lib/helpers.nix {
|
||||
inherit pkgs;
|
||||
inherit (pkgs) lib;
|
||||
};
|
||||
|
||||
perSystem = {
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
_module.args.helpers = getHelpers pkgs;
|
||||
};
|
||||
}
|
|
@ -10,7 +10,6 @@
|
|||
_module.args = {
|
||||
pkgs = pkgs.lib.mkForce pkgs;
|
||||
inherit (pkgs) lib;
|
||||
helpers = import ../lib/helpers.nix {inherit (pkgs) lib;};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -3,10 +3,11 @@
|
|||
pkgs,
|
||||
config,
|
||||
rawModules,
|
||||
helpers,
|
||||
...
|
||||
}: {
|
||||
packages = import ../docs {
|
||||
inherit rawModules pkgs;
|
||||
inherit rawModules pkgs helpers;
|
||||
};
|
||||
|
||||
# Test that all packages build fine when running `nix flake check`.
|
||||
|
|
|
@ -1,12 +1,14 @@
|
|||
{
|
||||
inputs,
|
||||
modules,
|
||||
getHelpers,
|
||||
self,
|
||||
...
|
||||
}: let
|
||||
wrapperArgs = {
|
||||
inherit modules;
|
||||
inherit self;
|
||||
inherit getHelpers;
|
||||
};
|
||||
in {
|
||||
perSystem = {
|
||||
|
|
|
@ -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 ([
|
||||
type = types.submoduleWith {
|
||||
shorthandOnlyDefinesConfig = true;
|
||||
specialArgs.helpers = helpers;
|
||||
modules =
|
||||
[
|
||||
{
|
||||
options.enable = mkEnableOption "nixvim";
|
||||
config.wrapRc = mkForce true;
|
||||
}
|
||||
]
|
||||
++ shared.topLevelModules);
|
||||
++ 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,7 +21,11 @@ in {
|
|||
options = {
|
||||
programs.nixvim = mkOption {
|
||||
default = {};
|
||||
type = types.submodule ([
|
||||
type = types.submoduleWith {
|
||||
shorthandOnlyDefinesConfig = true;
|
||||
specialArgs.helpers = helpers;
|
||||
modules =
|
||||
[
|
||||
{
|
||||
options = {
|
||||
enable = mkEnableOption "nixvim";
|
||||
|
@ -27,7 +33,8 @@ in {
|
|||
};
|
||||
}
|
||||
]
|
||||
++ shared.topLevelModules);
|
||||
++ 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,7 +21,11 @@ in {
|
|||
options = {
|
||||
programs.nixvim = mkOption {
|
||||
default = {};
|
||||
type = types.submodule ([
|
||||
type = types.submoduleWith {
|
||||
shorthandOnlyDefinesConfig = true;
|
||||
specialArgs.helpers = helpers;
|
||||
modules =
|
||||
[
|
||||
{
|
||||
options = {
|
||||
enable = mkEnableOption "nixvim";
|
||||
|
@ -28,7 +34,8 @@ in {
|
|||
config.wrapRc = mkForce true;
|
||||
}
|
||||
]
|
||||
++ shared.topLevelModules);
|
||||
++ 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