this post was submitted on 29 Jan 2026
14 points (79.2% liked)

linux4noobs

3480 readers
30 users here now

linux4noobs


Noob Friendly, Expert Enabling

Whether you're a seasoned pro or the noobiest of noobs, you've found the right place for Linux support and information. With a dedication to supporting free and open source software, this community aims to ensure Linux fits your needs and works for you. From troubleshooting to tutorials, practical tips, news and more, all aspects of Linux are warmly welcomed. Join a community of like-minded enthusiasts and professionals driving Linux's ongoing evolution.


Seeking Support?

Community Rules

founded 2 years ago
MODERATORS
 

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).

top 6 comments
sorted by: hot top controversial new old
[โ€“] tal@lemmy.today 6 points 22 hours ago* (last edited 22 hours ago)

In abstract, I guess maybe there would be some benefit, but I've been using Linux for decades, and it really hasn't been an issue for me. I've definitely had times where configuring stuff is confusing, but it's not a function of the basic input format not being JSON or XML or TOML or YAML or whatever. I think that the only time that I recall tabs being obnoxious was not with config files, but with Makefiles (they do, in fact, require tabs).

The majority of software is packaged with an "example" config file, often with comments in place. Traditionally, software will also ship with a section 5 man page for its config files. So, for example:

$ man 5 fstab

Will describe the format for /etc/fstab.

EDIT: I think that the biggest hassle I recall was in configuring a sendmail mail server, quite some years back. The issue there wasn't the basic format, but the fact that due to organic growth, even basic configurations were enormous (just to get the sort of common configuration that most users wanted) and required quite a bit of reading through the option documentation. It was common to use a frontend to generate the config files, and a number of subsequent mail servers aimed at having their default, no-configuration-options state being closer to what people wanted, dramatically reducing the number of options that had to be specified.

[โ€“] lime@feddit.nu 21 points 1 day ago

linux already has a standard, which it inherited from unix: plain text.

structured text is good but there is always some edgecase that needs to be worked around. plain text is universal.

there are alno verification functionality in basically every core utility.

[โ€“] SubArcticTundra@lemmy.ml 4 points 1 day ago* (last edited 1 day ago) (1 children)

Of course a challenge in the Linux ecosystem would be coordinating this change to happen widely and at once (which is important from a UX perspective). Since each of the aforementioned files belongs to a different project, and each project has its own maintainers that would need persuading (or rather inviting to the table to agree on a single format).

[โ€“] lime@feddit.nu 5 points 22 hours ago

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

[โ€“] klankin@piefed.ca 2 points 1 day ago

Try nix, its esentially JSON with functions

[โ€“] PointyFluff@lemmy.ml 1 points 1 day ago

Spoken like a true ignorant noob. JSON is hot fucking garbage. TOML is ok. Plaintext is GOAT.