From 927b15ed6db1e7da9f35e0f4a3ae85293cac5454 Mon Sep 17 00:00:00 2001 From: Someone Serge Date: Tue, 21 Nov 2023 16:03:58 +0000 Subject: [PATCH] nixos/nix-required-mounts: allow passing extra arguments to the hook --- .../modules/programs/nix-required-mounts.nix | 22 +++++++++++++++---- .../ni/nix-required-mounts/package.nix | 6 +++-- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/nixos/modules/programs/nix-required-mounts.nix b/nixos/modules/programs/nix-required-mounts.nix index b3c11a51f6fc..98ab819af55e 100644 --- a/nixos/modules/programs/nix-required-mounts.nix +++ b/nixos/modules/programs/nix-required-mounts.nix @@ -3,9 +3,6 @@ let cfg = config.programs.nix-required-mounts; package = pkgs.nix-required-mounts; - overridenPackage = package.override { - inherit (cfg) allowedPatterns; - }; Mount = with lib; types.submodule { @@ -86,9 +83,26 @@ in example.require-ipfs.paths = [ "/ipfs" ]; example.require-ipfs.onFeatures = [ "ifps" ]; }; + extraWrapperArgs = lib.mkOption { + type = with lib.types; listOf str; + default = [ ]; + description = + lib.mdDoc + "List of extra arguments (such as `--add-flags -v`) to pass to the hook's wrapper"; + }; + package = lib.mkOption { + type = lib.types.package; + default = package.override { + inherit (cfg) + allowedPatterns + extraWrapperArgs; + }; + description = lib.mdDoc "The final package with the final config applied"; + internal = true; + }; }; config = lib.mkIf cfg.enable (lib.mkMerge [ - { nix.settings.pre-build-hook = lib.getExe overridenPackage; } + { nix.settings.pre-build-hook = lib.getExe cfg.package; } (lib.mkIf cfg.presets.nvidia-gpu.enable { nix.settings.system-features = cfg.allowedPatterns.nvidia-gpu.onFeatures; programs.nix-required-mounts.allowedPatterns = { diff --git a/pkgs/by-name/ni/nix-required-mounts/package.nix b/pkgs/by-name/ni/nix-required-mounts/package.nix index 8f5ad450a21c..e674539fb909 100644 --- a/pkgs/by-name/ni/nix-required-mounts/package.nix +++ b/pkgs/by-name/ni/nix-required-mounts/package.nix @@ -16,12 +16,13 @@ } , buildPackages , callPackage +, extraWrapperArgs ? [ ] , formats , lib +, makeWrapper , nix , nixosTests , python3Packages -, makeWrapper , runCommand }: @@ -47,7 +48,8 @@ python3Packages.buildPythonApplication postFixup = '' wrapProgram $out/bin/${pname} \ --add-flags "--patterns ${allowedPatternsPath}" \ - --add-flags "--nix-exe ${lib.getExe nix}" + --add-flags "--nix-exe ${lib.getExe nix}" \ + ${builtins.concatStringsSep " " extraWrapperArgs} ''; passthru = {