From d1c31844003b3a48b133bde759ea87aceeb5257e Mon Sep 17 00:00:00 2001
From: "Kenneth Benzie (Benie)" <benie@infektor.net>
Date: Fri, 12 May 2023 22:27:28 +0100
Subject: [PATCH] Enable systemd in WSL

---
 roles/wsl/handlers/main.yaml       | 7 +++++++
 roles/wsl/tasks/main.yaml          | 5 +++++
 roles/wsl/templates/binfmt_misc.j2 | 1 +
 roles/wsl/templates/wsl.conf.j2    | 5 +++++
 4 files changed, 18 insertions(+)
 create mode 100644 roles/wsl/handlers/main.yaml
 create mode 100644 roles/wsl/templates/binfmt_misc.j2
 create mode 100644 roles/wsl/templates/wsl.conf.j2

diff --git a/roles/wsl/handlers/main.yaml b/roles/wsl/handlers/main.yaml
new file mode 100644
index 0000000..e1a3da4
--- /dev/null
+++ b/roles/wsl/handlers/main.yaml
@@ -0,0 +1,7 @@
+---
+- name: restart systemd-binfmt
+  become: true
+  systemd:
+    name: systemd-binfmt
+    enabled: true
+    state: restarted
diff --git a/roles/wsl/tasks/main.yaml b/roles/wsl/tasks/main.yaml
index d0574b4..ba41cbb 100644
--- a/roles/wsl/tasks/main.yaml
+++ b/roles/wsl/tasks/main.yaml
@@ -1,4 +1,9 @@
 ---
+- name: create wsl.conf
+  template:
+    src: templates/wsl.conf.j2
+    dest: /etc/wsl.conf
+
 - name: install apt packages
   become: true
   apt:
diff --git a/roles/wsl/templates/binfmt_misc.j2 b/roles/wsl/templates/binfmt_misc.j2
new file mode 100644
index 0000000..705a15d
--- /dev/null
+++ b/roles/wsl/templates/binfmt_misc.j2
@@ -0,0 +1 @@
+:WSLInterop:M::MZ::/init:PF
diff --git a/roles/wsl/templates/wsl.conf.j2 b/roles/wsl/templates/wsl.conf.j2
new file mode 100644
index 0000000..f704b36
--- /dev/null
+++ b/roles/wsl/templates/wsl.conf.j2
@@ -0,0 +1,5 @@
+[boot]
+systemd = true
+
+[network]
+generateHosts = false