From bd04de439cb0795262d78e7ec1d2487a925dcf2c Mon Sep 17 00:00:00 2001 From: imbytecat Date: Thu, 26 Mar 2026 19:13:14 +0800 Subject: [PATCH] =?UTF-8?q?feat(wsl):=20=E6=B7=BB=E5=8A=A0=20WSL=20?= =?UTF-8?q?=E6=A8=A1=E5=9D=97=EF=BC=8Cmask=20systemd-networkd-wait-online.?= =?UTF-8?q?service?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/wsl.py | 10 ++++++++++ source.py | 6 ++++++ 2 files changed, 16 insertions(+) create mode 100644 modules/wsl.py diff --git a/modules/wsl.py b/modules/wsl.py new file mode 100644 index 0000000..51c62e2 --- /dev/null +++ b/modules/wsl.py @@ -0,0 +1,10 @@ +import decman +from decman import Module + + +class WslModule(Module): + def __init__(self): + super().__init__("wsl") + + def on_enable(self, store): + decman.prg(["systemctl", "mask", "systemd-networkd-wait-online.service"]) diff --git a/source.py b/source.py index 0a55e79..cfa8da7 100644 --- a/source.py +++ b/source.py @@ -6,6 +6,7 @@ import modules.base import modules.dev import modules.docker import modules.locale +import modules.wsl import modules.zsh assert decman.pacman is not None @@ -16,6 +17,8 @@ USERNAME = os.environ.get("SUDO_USER") if not USERNAME: raise decman.SourceError("请使用 sudo 运行") +IS_WSL = os.path.exists("/proc/sys/fs/binfmt_misc/WSLInterop") + decman.modules += [ modules.base.BaseModule(), modules.dev.DevModule(USERNAME), @@ -23,3 +26,6 @@ decman.modules += [ modules.locale.LocaleModule(), modules.zsh.ZshModule(USERNAME), ] + +if IS_WSL: + decman.modules += [modules.wsl.WslModule()]