summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/wsl-distro.nix7
-rw-r--r--tests/shells.Tests.ps113
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)