From b8ebac4acc72aa17e0fb8d893d0050d68843154a Mon Sep 17 00:00:00 2001 From: "Yang, Bo" Date: Sun, 13 Oct 2024 15:53:20 -0700 Subject: [PATCH] Support envfs (#525) * Support envfs Disable `populateBin` when `envfs` is enabled * Use mkIf to disable populateBin --- modules/wsl-distro.nix | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/modules/wsl-distro.nix b/modules/wsl-distro.nix index 78270fc6..e5254e58 100644 --- a/modules/wsl-distro.nix +++ b/modules/wsl-distro.nix @@ -215,7 +215,7 @@ in # require people to use lib.mkForce to make it harder to brick their installation wsl = { - populateBin = true; + populateBin = mkIf config.services.envfs.enable false; extraBin = [ { src = "/init"; name = "wslpath"; } { src = "${cfg.binShExe}"; name = "sh"; } @@ -223,6 +223,17 @@ in ]; }; + services.envfs.extraFallbackPathCommands = + concatStringsSep "\n" + (map + (entry: + if entry.copy + then "cp -f ${entry.src} $out/${entry.name}" + else "ln -sf ${entry.src} $out/${entry.name}" + ) + cfg.extraBin + ); + warnings = flatten [ (optional (config.services.resolved.enable && config.wsl.wslConf.network.generateResolvConf) "systemd-resolved is enabled, but resolv.conf is managed by WSL (wsl.wslConf.network.generateResolvConf)"