• qaz@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    5 months ago

    I made a tool for this some time ago. It detects when programs write to your home directory outside the XDG spec and logs the file and the location of the binary that wrote it to an SQLite file.

  • paequ2@lemmy.today
    link
    fedilink
    English
    arrow-up
    1
    ·
    5 months ago

    Many of them don’t even allow it to be a hidden file—they just require a fully unhidden “tool.yml” file sitting right there in the root of your project.

    I love this. I hate when tools only allow hidden config files. I want to know where the config is—my teammates should be aware of where the config is. I don’t want to be tricked into thinking there isn’t a config file in a directory.

    I actually have alias ls='ls -A' in my bashrc so I see everything.

  • TehPers@beehaw.org
    link
    fedilink
    English
    arrow-up
    1
    ·
    5 months ago

    For tool configs? I’m not really sure I follow. All my source code for the project goes in src/ or some other subdirectory, and the project root is a bunch of configs, a source directory, maybe some scripts, etc. It’s never really bothered me.

    What has bothered me is __pycache__ directories. Whoever decided to litter those in every source directory all over the place… let’s just say I hope they learned to never do that again. I deal with enough trying to get Python to work at all (with the absolute hell it is to get imports working correctly, the random, but admittedly mostly documented, BS gotchas littered all over the standard library, packages with poor docs, no types, and every function worth calling taking **kwargs, etc). Seeing my code littered with these directories isn’t something I really want to deal with as well.

    A standard for build output might make sense to me. Maybe just throw cache stuff in .cache and build output to .build (with intermediate artifacts in there as well potentially). For configs, I wouldn’t really complain about it all going in .config, but it also doesn’t matter much to me, and sometimes you end up having nested configs anyway in nested project dirs (thinking of eslint configs, gitignores, etc).

    • ulterno@programming.dev
      link
      fedilink
      English
      arrow-up
      0
      ·
      edit-2
      5 months ago

      Yeah, everyone (every-app) thinks they are special and deserve a “.place” in ~ because : <enter their reason>.

      • ssh because “I’m SSH!”, similar for gpg
      • npm because “I’m a package manager”
      • dillo because “I am old and can’t be bothered to update my dirs”
        • I guess I should send them a patch. It shouldn’t be too hard to make that little change.
      • fltk same as dillo maybe
      • .mozilla : “Oh but I AM special”
      • .bundle : There is literally only 1 subdir in it and it is named “cache”. they could have just done “~/.cache/bundle” instead

      IDK why you have a .kde in your screenshot. Debian maybe, or a dir remaining from KDE4? I had an old one remaining in Debain after I upgraded.


      • .config
      • .local
      • .cache

      These are what we need to stuff everything into.

      • Samueru_sama@programming.dev
        link
        fedilink
        English
        arrow-up
        1
        ·
        5 months ago

        .mozilla : “Oh but I AM special”

        You would think that thunderbird would use ~/.mozilla as well but nope. It is ~/.thunderbird 🤣