From 14e88b27c9ee75c2aa9f0d67d344a84c0b70933b Mon Sep 17 00:00:00 2001 From: user3301 <26126682+user3301@users.noreply.github.com> Date: Mon, 5 Oct 2026 21:52:44 +1100 Subject: [PATCH] Stop re-registering the WSL interop binfmt handler WSL 3 registers the WSLInterop handler itself and mounts a read-only file over /proc/sys/fs/binfmt_misc/status. systemd-binfmt can no longer flush rules, exits 1, and switch-to-configuration fails with status 4. Drop wsl.interop.register so NixOS-WSL uses its default (the existing registration). WSLInterop was the only binfmt registration, so systemd-binfmt.service is no longer installed. Co-Authored-By: Claude Opus 5.5 --- systems/wsl/configuration.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/systems/wsl/configuration.nix b/systems/wsl/configuration.nix index 309f0c5..0bffd46 100644 --- a/systems/wsl/configuration.nix +++ b/systems/wsl/configuration.nix @@ -7,8 +7,8 @@ defaultUser = "user3301"; startMenuLaunchers = true; - # WSL-specific interoperability - interop.register = true; + # Leave interop.register off: WSL 3 registers the .exe handler itself and + # locks binfmt_misc/status, which makes systemd-binfmt fail on every switch. # Use Windows SSH agent # wslConf.network.generateResolvConf = false;