File tree 4 files changed +44
-17
lines changed
4 files changed +44
-17
lines changed Original file line number Diff line number Diff line change 1
- { inputs , self , ... } :
1
+ {
2
+ inputs ,
3
+ self ,
4
+ lib ,
5
+ ...
6
+ } :
2
7
{
3
8
perSystem =
4
9
{ system , pkgs , ... } :
5
10
{
6
11
_module . args = {
7
- makeNixvimWithModule = import ../wrappers/standalone.nix pkgs self ;
12
+ makeNixvimWithModule = import ../wrappers/standalone.nix {
13
+ inherit lib self ;
14
+ defaultSystem = system ;
15
+ } ;
8
16
} ;
9
17
10
18
checks =
Original file line number Diff line number Diff line change 30
30
mkTestDerivationFromNixvimModule =
31
31
{
32
32
name ? null ,
33
- pkgs ? defaultPkgs ,
33
+ pkgs ? null ,
34
+ system ? defaultPkgs . stdenv . hostPlatform . system ,
34
35
module ,
35
36
extraSpecialArgs ? { } ,
36
37
} :
42
43
_nixvimTests = true ;
43
44
} ;
44
45
46
+ systemMod =
47
+ if pkgs == null then
48
+ { nixpkgs . hostPlatform = lib . mkDefault { inherit system ; } ; }
49
+ else
50
+ { nixpkgs . pkgs = lib . mkDefault pkgs ; } ;
51
+
45
52
result = helpers . modules . evalNixvim {
46
53
modules = [
47
54
module
48
55
( lib . optionalAttrs ( name != null ) { test . name = name ; } )
49
56
{ wrapRc = true ; }
50
- # TODO: Only do this when `args?pkgs`
51
- # Consider deprecating the `pkgs` arg too...
52
- { nixpkgs . pkgs = lib . mkDefault pkgs ; }
57
+ systemMod
53
58
] ;
54
59
inherit extraSpecialArgs ;
55
60
} ;
Original file line number Diff line number Diff line change 18
18
] ;
19
19
20
20
perSystem =
21
- { pkgs , system , ... } :
21
+ { system , ... } :
22
22
let
23
23
nixvimLib = nixvim . lib . ${ system } ;
24
24
nixvim' = nixvim . legacyPackages . ${ system } ;
25
25
nixvimModule = {
26
- inherit pkgs ;
26
+ inherit system ; # or alternatively, set `pkgs`
27
27
module = import ./config ; # import the module directly
28
28
# You can use `extraSpecialArgs` to pass additional arguments to your module files
29
29
extraSpecialArgs = {
Original file line number Diff line number Diff line change 1
- default_pkgs : self :
1
+ {
2
+ self ,
3
+ lib ,
4
+ defaultSystem ,
5
+ } :
2
6
{
3
7
# TODO: Deprecate this arg in favour of using module options
4
- pkgs ? default_pkgs ,
5
- lib ? pkgs . lib ,
8
+ pkgs ? null ,
9
+ # NOTE: `defaultSystem` is the only reason this function can't go in `<nixvim>.lib`
10
+ system ? defaultSystem ,
6
11
extraSpecialArgs ? { } ,
7
12
_nixvimTests ? false ,
8
13
module ,
12
17
helpers = self . lib . nixvim . override { inherit _nixvimTests ; } ;
13
18
inherit ( helpers . modules ) evalNixvim ;
14
19
20
+ systemMod =
21
+ if pkgs == null then
22
+ {
23
+ _file = ./standalone.nix ;
24
+ nixpkgs . hostPlatform = lib . mkDefault { inherit system ; } ;
25
+ }
26
+ else
27
+ {
28
+ _file = ./standalone.nix ;
29
+ nixpkgs . pkgs = lib . mkDefault pkgs ;
30
+ } ;
31
+
15
32
mkNvim =
16
33
mod :
17
34
let
18
35
nixvimConfig = evalNixvim {
19
36
modules = [
20
37
mod
21
- # TODO: only include this when `args?pkgs`:
22
- {
23
- _file = ./standalone.nix ;
24
- nixpkgs . pkgs = lib . mkDefault pkgs ;
25
- }
38
+ systemMod
26
39
] ;
27
40
inherit extraSpecialArgs ;
28
41
} ;
29
42
inherit ( nixvimConfig . config ) enableMan build ;
43
+ inherit ( nixvimConfig . _module . args . pkgs ) symlinkJoin ;
30
44
in
31
- ( pkgs . symlinkJoin {
45
+ ( symlinkJoin {
32
46
name = "nixvim" ;
33
47
paths = [
34
48
build . package
You can’t perform that action at this time.
0 commit comments