From 5d9a7fbe7fdb491df2b4c93da813f959773b5d62 Mon Sep 17 00:00:00 2001 From: Stefan Haan Date: Sat, 11 Jul 2026 15:45:08 +0200 Subject: [PATCH] nixos/test/systemd-localed: services.xserver.xkb.layout should be respected --- nixos/tests/all-tests.nix | 1 + nixos/tests/systemd-localed.nix | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 nixos/tests/systemd-localed.nix diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 5e7a1a12a29c..c2e373ce0fca 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -1684,6 +1684,7 @@ in systemd-journal = runTest ./systemd-journal.nix; systemd-journal-gateway = runTest ./systemd-journal-gateway.nix; systemd-journal-upload = runTest ./systemd-journal-upload.nix; + systemd-localed = runTest ./systemd-localed.nix; systemd-lock-handler = runTestOn [ "aarch64-linux" "x86_64-linux" ] ./systemd-lock-handler.nix; systemd-machinectl = runTest ./systemd-machinectl.nix; systemd-misc = runTest ./systemd-misc.nix; diff --git a/nixos/tests/systemd-localed.nix b/nixos/tests/systemd-localed.nix new file mode 100644 index 000000000000..308d90122868 --- /dev/null +++ b/nixos/tests/systemd-localed.nix @@ -0,0 +1,23 @@ +{ lib, ... }: +{ + name = "systemd-localed"; + meta.maintainers = [ lib.maintainers.haansn08 ]; + + nodes.machine = { ... }: { + # we don't use services.xserver.enable because some window managers like + # niri rely on systemd-localed for the keyboard layout: + # https://niri-wm.github.io/niri/Configuration%3A-Input.html#layout + services.graphical-desktop.enable = true; + + services.xserver.xkb.layout = "jp"; + }; + + testScript = '' + machine.start() + machine.wait_for_unit("default.target") + machine.wait_for_unit("dbus.socket") + + status, stdout = machine.execute("localectl") + t.assertIn("X11 Layout: jp", stdout) + ''; +}