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()]