mirror of
https://github.com/nix-community/nixvim.git
synced 2025-06-21 00:25:42 +02:00
wrappers/standalone: make pkgs
arg optional, allow specifying system
This commit is contained in:
parent
8c6f9ed8c4
commit
9bf4c9d55b
4 changed files with 44 additions and 17 deletions
|
@ -1,10 +1,18 @@
|
||||||
{ inputs, self, ... }:
|
{
|
||||||
|
inputs,
|
||||||
|
self,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
{
|
{
|
||||||
perSystem =
|
perSystem =
|
||||||
{ system, pkgs, ... }:
|
{ system, pkgs, ... }:
|
||||||
{
|
{
|
||||||
_module.args = {
|
_module.args = {
|
||||||
makeNixvimWithModule = import ../wrappers/standalone.nix pkgs self;
|
makeNixvimWithModule = import ../wrappers/standalone.nix {
|
||||||
|
inherit lib self;
|
||||||
|
defaultSystem = system;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
checks =
|
checks =
|
||||||
|
|
|
@ -30,7 +30,8 @@ let
|
||||||
mkTestDerivationFromNixvimModule =
|
mkTestDerivationFromNixvimModule =
|
||||||
{
|
{
|
||||||
name ? null,
|
name ? null,
|
||||||
pkgs ? defaultPkgs,
|
pkgs ? null,
|
||||||
|
system ? defaultPkgs.stdenv.hostPlatform.system,
|
||||||
module,
|
module,
|
||||||
extraSpecialArgs ? { },
|
extraSpecialArgs ? { },
|
||||||
}:
|
}:
|
||||||
|
@ -42,14 +43,18 @@ let
|
||||||
_nixvimTests = true;
|
_nixvimTests = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
systemMod =
|
||||||
|
if pkgs == null then
|
||||||
|
{ nixpkgs.hostPlatform = lib.mkDefault { inherit system; }; }
|
||||||
|
else
|
||||||
|
{ nixpkgs.pkgs = lib.mkDefault pkgs; };
|
||||||
|
|
||||||
result = helpers.modules.evalNixvim {
|
result = helpers.modules.evalNixvim {
|
||||||
modules = [
|
modules = [
|
||||||
module
|
module
|
||||||
(lib.optionalAttrs (name != null) { test.name = name; })
|
(lib.optionalAttrs (name != null) { test.name = name; })
|
||||||
{ wrapRc = true; }
|
{ wrapRc = true; }
|
||||||
# TODO: Only do this when `args?pkgs`
|
systemMod
|
||||||
# Consider deprecating the `pkgs` arg too...
|
|
||||||
{ nixpkgs.pkgs = lib.mkDefault pkgs; }
|
|
||||||
];
|
];
|
||||||
inherit extraSpecialArgs;
|
inherit extraSpecialArgs;
|
||||||
};
|
};
|
||||||
|
|
|
@ -18,12 +18,12 @@
|
||||||
];
|
];
|
||||||
|
|
||||||
perSystem =
|
perSystem =
|
||||||
{ pkgs, system, ... }:
|
{ system, ... }:
|
||||||
let
|
let
|
||||||
nixvimLib = nixvim.lib.${system};
|
nixvimLib = nixvim.lib.${system};
|
||||||
nixvim' = nixvim.legacyPackages.${system};
|
nixvim' = nixvim.legacyPackages.${system};
|
||||||
nixvimModule = {
|
nixvimModule = {
|
||||||
inherit pkgs;
|
inherit system; # or alternatively, set `pkgs`
|
||||||
module = import ./config; # import the module directly
|
module = import ./config; # import the module directly
|
||||||
# You can use `extraSpecialArgs` to pass additional arguments to your module files
|
# You can use `extraSpecialArgs` to pass additional arguments to your module files
|
||||||
extraSpecialArgs = {
|
extraSpecialArgs = {
|
||||||
|
|
|
@ -1,8 +1,13 @@
|
||||||
default_pkgs: self:
|
{
|
||||||
|
self,
|
||||||
|
lib,
|
||||||
|
defaultSystem,
|
||||||
|
}:
|
||||||
{
|
{
|
||||||
# TODO: Deprecate this arg in favour of using module options
|
# TODO: Deprecate this arg in favour of using module options
|
||||||
pkgs ? default_pkgs,
|
pkgs ? null,
|
||||||
lib ? pkgs.lib,
|
# NOTE: `defaultSystem` is the only reason this function can't go in `<nixvim>.lib`
|
||||||
|
system ? defaultSystem,
|
||||||
extraSpecialArgs ? { },
|
extraSpecialArgs ? { },
|
||||||
_nixvimTests ? false,
|
_nixvimTests ? false,
|
||||||
module,
|
module,
|
||||||
|
@ -12,23 +17,32 @@ let
|
||||||
helpers = self.lib.nixvim.override { inherit _nixvimTests; };
|
helpers = self.lib.nixvim.override { inherit _nixvimTests; };
|
||||||
inherit (helpers.modules) evalNixvim;
|
inherit (helpers.modules) evalNixvim;
|
||||||
|
|
||||||
|
systemMod =
|
||||||
|
if pkgs == null then
|
||||||
|
{
|
||||||
|
_file = ./standalone.nix;
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault { inherit system; };
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_file = ./standalone.nix;
|
||||||
|
nixpkgs.pkgs = lib.mkDefault pkgs;
|
||||||
|
};
|
||||||
|
|
||||||
mkNvim =
|
mkNvim =
|
||||||
mod:
|
mod:
|
||||||
let
|
let
|
||||||
nixvimConfig = evalNixvim {
|
nixvimConfig = evalNixvim {
|
||||||
modules = [
|
modules = [
|
||||||
mod
|
mod
|
||||||
# TODO: only include this when `args?pkgs`:
|
systemMod
|
||||||
{
|
|
||||||
_file = ./standalone.nix;
|
|
||||||
nixpkgs.pkgs = lib.mkDefault pkgs;
|
|
||||||
}
|
|
||||||
];
|
];
|
||||||
inherit extraSpecialArgs;
|
inherit extraSpecialArgs;
|
||||||
};
|
};
|
||||||
inherit (nixvimConfig.config) enableMan build;
|
inherit (nixvimConfig.config) enableMan build;
|
||||||
|
inherit (nixvimConfig._module.args.pkgs) symlinkJoin;
|
||||||
in
|
in
|
||||||
(pkgs.symlinkJoin {
|
(symlinkJoin {
|
||||||
name = "nixvim";
|
name = "nixvim";
|
||||||
paths = [
|
paths = [
|
||||||
build.package
|
build.package
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue