this post was submitted on 10 Feb 2025
832 points (97.6% liked)

linuxmemes

22387 readers
2160 users here now

Hint: :q!


Sister communities:


Community rules (click to expand)

1. Follow the site-wide rules

2. Be civil
  • Understand the difference between a joke and an insult.
  • Do not harrass or attack users for any reason. This includes using blanket terms, like "every user of thing".
  • Don't get baited into back-and-forth insults. We are not animals.
  • Leave remarks of "peasantry" to the PCMR community. If you dislike an OS/service/application, attack the thing you dislike, not the individuals who use it. Some people may not have a choice.
  • Bigotry will not be tolerated.
  • These rules are somewhat loosened when the subject is a public figure. Still, do not attack their person or incite harrassment.
  • 3. Post Linux-related content
  • Including Unix and BSD.
  • Non-Linux content is acceptable as long as it makes a reference to Linux. For example, the poorly made mockery of sudo in Windows.
  • No porn. Even if you watch it on a Linux machine.
  • 4. No recent reposts
  • Everybody uses Arch btw, can't quit Vim, <loves/tolerates/hates> systemd, and wants to interject for a moment. You can stop now.
  • 5. πŸ‡¬πŸ‡§ Language/язык/Sprache
  • This is primarily an English-speaking community. πŸ‡¬πŸ‡§πŸ‡¦πŸ‡ΊπŸ‡ΊπŸ‡Έ
  • Comments written in other languages are allowed.
  • The substance of a post should be comprehensible for people who only speak English.
  • Titles and post bodies written in other languages will be allowed, but only as long as the above rule is observed.
  • Β 

    Please report posts and comments that break these rules!


    Important: never execute code or follow advice that you don't understand or can't verify, especially here. The word of the day is credibility. This is a meme community -- even the most helpful comments might just be shitposts that can damage your system. Be aware, be smart, don't remove France.

    founded 2 years ago
    MODERATORS
     

    Let the apologists have a field day in the comments.

    you are viewing a single comment's thread
    view the rest of the comments
    [–] chronicledmonocle@lemmy.world 19 points 21 hours ago (1 children)
    [–] Irelephant@lemm.ee 6 points 21 hours ago (1 children)

    There doesn't seem to be an existing standard for what I described, from what I see.

    [–] droans@midwest.social 5 points 21 hours ago (2 children)

    There are existing standards. The issue is that there are too many different standards and some programs will choose to make their conf files half standardized, half unique.

    There's INI, YAML, JSON, XML, TOML, etc.

    Honestly, the Linux team needs to just choose one of these formats, declare it the gold standard, and slowly migrate the config files for most core components over to it. By declaring a standard, you'll eventually get the developers of most major third-party tools and components to eventually migrate.

    [–] Irelephant@lemm.ee 6 points 20 hours ago (3 children)

    Thats not exactly what I meant, I meant a system where you would have a file that defines all the options for an app, and their possible values, so a gui or program could be made to edit them.

    [–] droans@midwest.social 2 points 16 hours ago (1 children)

    Yeah something like that should be doable but it would require that programs provide a schema and the OS to have a way for the programs to "announce" themselves so it can be aware of the configuration files and the schema.

    I'm sure some project could create a GUI that could cover the most common applications, though.

    It's always fun trying to set up a program, learning the config syntax, running it, having it fail, and then spending an hour debugging before you realize it never even read your config changes because you were supposed to use one of the other half dozen conf files it has spread all across your drive. Is it under /etc/, /usr/local/etc/, /opt/, or your home directory?

    [–] Irelephant@lemm.ee 2 points 16 hours ago

    I was thinking, they would put the definitions in a specific directory, like if its installed locally, ~/.config/definitions or if installed globally /etc/definitions and then any settings apps would search for those.

    [–] Ephera@lemmy.ml 3 points 20 hours ago (2 children)

    What comes sort of close, is that you can define so-called "schemas", at least for JSON, TOML, YAML and XML. Here's what that might look like for JSON: https://json-schema.org/learn/getting-started-step-by-step

    I don't know, if you can actually generate a GUI from such a schema, though. They're intended for validating existing data, so I don't know, if they give you enough data to work with to actually provide a GUI. For example, you don't really have a human-readable name in these. The fields are rather called e.g. "productName".

    [–] Irelephant@lemm.ee 3 points 19 hours ago

    Yeah, I am aware of schemas, I meant something where you would have, for example, a conf.definition.json file:

    {
        screenResolution: {
                 definition: "What resolution the screen should be",
                 options: [ 
                     "1920x1080",
                      "720x470"
                  ]
         }
    }
    

    So then, a settings app could control settings for other programs, like apple does, by checking this file, and editing the configuration file based on it.

    [–] Nalivai@lemmy.world 2 points 19 hours ago

    Schemas are a nightmare to work with, and are totally unreadable

    If you ignore the gui part, this sounds a lot like nixos.

    [–] JackbyDev@programming.dev 1 points 17 hours ago

    It's not about what serialization format, it's about what possible values there are for each field.