One point of user-hostility you face when configuring Linux is all the config files in /etc. Be it crontab, fstab, or iptables, every project has its own ad-hoc config file format and as a rookie user you’re left guessing what the rules for editing each one are. Must you separate entries with tabs or can it be spaces? Does the number of tabs matter? Does this file use # to comment or ;? Can you put a space after = or would that become part of the string? Some projects use their own half-baked implementation of .INI that breaks down the moment you try to escape a string. What’s worse is that since it’s background processes whose files you are editing, the response to a syntax error is nothing happening. The way to test whether you guessed the rules right is to wait and see 🤷

What I’m trying to say is that IMHO, the Linux Kernel and surrounding utilities should agree on a widespread, standardized config format and all migrate to it (prefarably sharing the same C library). The obvious option would be JSON, although it feels a little clunky and doesn’t officially support comments. My preference would be TOML, since it’s like INI which many projects kinda use already, but it’s standardized and has native support for things like arrays (especially useful for fstab/crontab).

  • lime!@feddit.nu
    link
    fedilink
    arrow-up
    6
    ·
    4 days ago

    also ensuring backwards compatibility with everything released in the last 50 years that’s still in use.