diff --git a/modules/lib/gvariant.nix b/modules/lib/gvariant.nix index 3bfa18cb4..92aa7d983 100644 --- a/modules/lib/gvariant.nix +++ b/modules/lib/gvariant.nix @@ -123,7 +123,7 @@ in rec { mkString = v: mkPrimitive type.string v // { - __toString = self: "'${escape [ "'" ] self.value}'"; + __toString = self: "'${escape [ "'" "\\" ] self.value}'"; }; mkObjectpath = v: diff --git a/tests/lib/types/gvariant-merge.nix b/tests/lib/types/gvariant-merge.nix index fce50e0da..867534c1f 100644 --- a/tests/lib/types/gvariant-merge.nix +++ b/tests/lib/types/gvariant-merge.nix @@ -26,6 +26,7 @@ in { { string = "foo"; } { string = "foo"; } + { escapedString = "' \\"; } { tuple = mkTuple [ 1 [ "foo" ] ]; } @@ -46,6 +47,7 @@ in { bool = true emptyArray1 = @as [] emptyArray2 = @as [] + escapedString = '\' \\' float = 3.140000 int = 42 list = @as ['one','two']