diff options
| -rw-r--r-- | modules/wsl-distro.nix | 7 | ||||
| -rw-r--r-- | tests/shells.Tests.ps1 | 13 |
2 files changed, 16 insertions, 4 deletions
diff --git a/modules/wsl-distro.nix b/modules/wsl-distro.nix index e279d00..1b89a84 100644 --- a/modules/wsl-distro.nix +++ b/modules/wsl-distro.nix @@ -80,6 +80,13 @@ in "resolv.conf".enable = false; }) ]; + + systemPackages = [ + (pkgs.runCommand "wslpath" { } '' + mkdir -p $out/bin + ln -s /init $out/bin/wslpath + '') + ]; }; # dhcp is handled by windows diff --git a/tests/shells.Tests.ps1 b/tests/shells.Tests.ps1 index 1c4df7b..184014b 100644 --- a/tests/shells.Tests.ps1 +++ b/tests/shells.Tests.ps1 @@ -9,11 +9,16 @@ Describe "Shells" { function Add-ShellTest([string]$package, [string]$executable) { $temp = New-TemporaryFile @" - { pkgs, config, ... }: - { - imports = [ ./base.nix ]; + { pkgs, lib, config, options, ... }: + with lib; { + imports = [ ./base.nix ]; - users.users.`${config.wsl.defaultUser}.shell = pkgs.$package; + config = mkMerge [ + { users.users.`${config.wsl.defaultUser}.shell = pkgs.$package; } + (optionalAttrs (hasAttrByPath ["programs" "$package" "enable"] options) { + programs.$package.enable = true; + }) + ]; } "@ > $temp $distro.InstallConfig($temp) |
