- Regexes in bash commands are my nemesis. - Regexes - in bash commandsare my nemesis.- Regexes- exes - scott pilgrim? 
 
 
 
 
- This meme brought to you by me trying to pass a regex from Nix into a TOML, which is certainly not the worst backslash orgy I’ve seen, but tragic in its own right. Both Nix and TOML have a way to specify raw strings, which do not need escaping. But Nix uses a normal string when passing into TOML, so I do have to escape anyways. 🫠 - My regex also contains a double-quote, which was just guesswork as to how many backslashes I need there. - But Nix uses a normal string when passing into TOML, so I do have to escape anyways - What do you mean by that? You are always able to just use the - ''strings instead of the- "strings, they are just different syntax for the same underlying type. Or are you just using- lib.generators.toINIwithout any arguments? Maybe try something like this:- toTomlEscapeBackslashes = toINI { mkKeyValue = mkKeyValueDefault { mkValueString = x: lib.escape [ ''\'' ] (toString x); } "="; }- This will escape the values, like this: - nix-repl> :print toTomlEscapeBackslashes { my.regex = ''foo\nbar''; } [my] regex=foo\\nbar- I figured, I’d involuntarily sign up for counter suggestions by posting this. 😅 - Using - lib.escapeis 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- settingsparameter, 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~%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. 
- Use 
 
- My personal best is backslash in a json string in an env variable passed to bash in a docker container, in a batch file. 
 
- Learning C: Random asterisks go - But sometimes ampersands also! 
 





