From cbe6c1767d43fef95beef325c91d1883a1c295b3 Mon Sep 17 00:00:00 2001 From: Rvfg Date: Fri, 9 Jan 2026 16:55:42 +0800 Subject: [PATCH] nixos/nixos-containers: fix interface name escaping in systemd.device unit name systemd escapes interface names in generated .device units. e.g. dummy-test -> dummy\x2dtest --- nixos/modules/virtualisation/nixos-containers.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/nixos/modules/virtualisation/nixos-containers.nix b/nixos/modules/virtualisation/nixos-containers.nix index ce86487bbbc3..771ebddcb92b 100644 --- a/nixos/modules/virtualisation/nixos-containers.nix +++ b/nixos/modules/virtualisation/nixos-containers.nix @@ -2,6 +2,7 @@ config, lib, pkgs, + utils, ... }@host: @@ -1052,8 +1053,8 @@ in } // (optionalAttrs containerConfig.autoStart { wantedBy = [ "machines.target" ]; - wants = [ "network.target" ] ++ (map (i: "sys-subsystem-net-devices-${i}.device") cfg.interfaces); - after = [ "network.target" ] ++ (map (i: "sys-subsystem-net-devices-${i}.device") cfg.interfaces); + wants = [ "network.target" ] ++ (map (i: "sys-subsystem-net-devices-${utils.escapeSystemdPath i}.device") cfg.interfaces); + after = [ "network.target" ] ++ (map (i: "sys-subsystem-net-devices-${utils.escapeSystemdPath i}.device") cfg.interfaces); restartTriggers = [ containerConfig.path config.environment.etc."${configurationDirectoryName}/${name}.conf".source