Don't focus on the tools.
Focus on the data. Data either conforms to a rule, or it doesn't. There is no "code from an OS", there is "valid Lix level file" or "valid Zig code".
For Lix
levels, the levels may have LF or CRLF endings, because I merely call the D standard library and let it worry about file endings.
For Lix's
documentation, I explicitly demand in doc/srcfmt.txt that it have CRLF endings, such that Notepad users can still read and change it. For reading documentation, it doesn't matter in the slightest that Notepad might choke on some levels.
In Zig source, CR and tab characters are considered bugs, by definition of the format. This is not sacrificing cross-compatibility, this is the definition of the format.
Now, when people say "text file", you have to ask exactly what formatting they mean. There are many possible formats out there, sometimes they aren't even Unicode, such as the Windows-1252 8-bit format. I'll wager a guess that the most common text file formats are UTF-8 with LF and UTF-8 with CRLF. If you consider all UTF-8 files with LF malformed, then Notepad has no bug.
Confusion only arises as long as we don't agree what valid data is.
But who are these other users you have in mind, only Linux users?
Every git user, every diff user.
These tools care about differences in files. You want to minimize irrelevant differences in files. LF/CRLF differences, tabs/space differences, and trailing whitespace are the most common source of such irrelevant differences. It's reasonable that many ecosystems eventually settle on a standard.
-- Simon