I figured, I'd involuntarily sign up for counter suggestions by posting this. 😅
Using lib.escape is a good idea, thanks.
But yeah, basically I want to configure Alacritty and I'm using the respective home-manager module.
Even more specifically, I want to pass stuff, including a regex, into the settings parameter, which more-or-less just takes the Nix expression that I shove in and then outputs it as TOML on disk.
As for how I would've liked this to work:
- Use
''doubled single-quotes''in Nix to not need escaping. - Use
'single-quotes'in TOML to not need escaping: https://toml.io/en/v1.0.0#string%3A%7E%3Atext=single+quotes
But the TOML is templated with "double-quotes", so I do need to escape the regex after all.
I did just try to understand how the Alacritty module does the templating and found this gem:
# TODO: why is this needed? Is there a better way to retain escape sequences?
"substituteInPlace $out --replace-quiet '\\\\' '\\'"
So, that doesn't fill me with a whole lot of confidence. 🙃
But yeah, it's working now without me having to write a whole bunch of backslashes, so that's good enough in my book.