nix-community.nixvim/wrappers/darwin.nix
Sandro Jäckel 662a0e1bdb wrappers: use system from stdenv.hostPlatform
`pgs.system` is a flaky alias and it is more reliable to directly use
`pkgs.stdenv.hostPlatform.system`
2024-06-30 09:54:24 +02:00

56 lines
1.1 KiB
Nix

{
modules,
self,
getHelpers,
}:
{
pkgs,
config,
lib,
...
}@args:
let
inherit (lib)
mkEnableOption
mkOption
mkOptionType
mkForce
mkMerge
mkIf
types
;
helpers = getHelpers pkgs false;
shared = import ./_shared.nix { inherit modules helpers; } args;
cfg = config.programs.nixvim;
in
{
options = {
programs.nixvim = mkOption {
default = { };
type = types.submoduleWith {
shorthandOnlyDefinesConfig = true;
specialArgs = {
darwinConfig = config;
inherit helpers;
};
modules = [
{
options.enable = mkEnableOption "nixvim";
config.wrapRc = mkForce true;
}
] ++ shared.topLevelModules;
};
};
nixvim.helpers = shared.helpers;
};
config = mkIf cfg.enable (mkMerge [
{
environment.systemPackages = [
cfg.finalPackage
cfg.printInitPackage
] ++ (lib.optional cfg.enableMan self.packages.${pkgs.stdenv.hostPlatform.system}.man-docs);
}
{ inherit (cfg) warnings assertions; }
]);
}