I swear someones just using it as a harder drive at this point

  • onlinepersona@programming.dev
    link
    fedilink
    English
    arrow-up
    52
    ·
    2 days ago

    nixpkgs as a mono repo might’ve been a mistake, honestly. shithub wasn’t made for monorepos. It doesn’t have a permissions system for it.

    So many PRs get a bunch of inane comments that have nothing to do with the functionality to please somebody’s ego, the CODEOWNERS file is nearly worthless as “package maintainers” don’t even have the last say on their own packages, docs are nearly the last of the priorities making it difficult for pretty much anybody but the christened cream of the crop to make changes. It almost seems like the entire thing was made for “job security” - only a few people really understand what’s going on and thus make the decisions. That of course introduces a bottle-neck.

    Even if more people wanted to contribute, they wouldn’t be aren’t able to. I think the decision makers like it that way.

    • qaz@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      7
      ·
      1 day ago

      The entire thing consists of 6 million objects and is 5GiB. I feel like at this point they should just split the common code into a repo and have the packages in submodule buckets grouped by name like some sort of hashmap multirepo (only half kidding).

      • onlinepersona@programming.dev
        link
        fedilink
        arrow-up
        2
        ·
        1 day ago

        I do wonder how nix could solve the nixpkgs problem. In order to build it actually requires the recipes to calculate the hash with which it builds the store path.

        Fixed output hashes could be part of the solution. A map of package and version to hash and outPath maybe? But for building from scratch e.g new packages, where would the recipes be stored? I think it would have to be in git, but where would that be stored? A monorepo again? Then we’d be back at nixpkgs.

        • the rizzler@lemmygrad.ml
          link
          fedilink
          arrow-up
          1
          ·
          18 hours ago

          honestly, having just tested it, i think the solution might be as simple as --depth=1. for me, the clone time of some repos went from several minutes down to instant. even without that, there’s no reason in my mind why the filesystem can’t be used as a database, just with its own non-git tooling.

          i was gonna be shocked that nix doesn’t store its own output hashes but then i realized guix doesn’t either. it seems really odd to me for a reproducible build package manager not to do that. i wonder what caused that decision.

          • onlinepersona@programming.dev
            link
            fedilink
            arrow-up
            1
            ·
            7 hours ago

            Isn’t that part of the problem described in the article? A shallow clone? Github has trouble with exactly that.

            Maybe it’s time the community stepped in an provided alternative solutions to nixpkgs. We can talk about them here, but in the end somebody has to implement them.

            • the rizzler@lemmygrad.ml
              link
              fedilink
              arrow-up
              1
              ·
              7 hours ago

              no shallow is --shallow. the difference is --depth refers to the history (as reported by, e.g. git log), whereas shallow will only check out the root of the repository and any paths explicitly specified. i guess the article is describing some sort of problem with users who convert their shallow repository to a regular full repo. i wouldn’t know a lot about that.

  • db2@lemmy.world
    link
    fedilink
    arrow-up
    26
    ·
    2 days ago

    You underestimate the free time people who live on those forums have. They’ve probably got every single one memorized.

    • onlinepersona@programming.dev
      link
      fedilink
      arrow-up
      6
      arrow-down
      1
      ·
      1 day ago

      Probably have a list of reasons why they shouldn’t be in the community either. “They said master branch is OK: drama time!”

  • lime!@feddit.nu
    link
    fedilink
    arrow-up
    22
    arrow-down
    1
    ·
    2 days ago

    there are so many strange issues with nix that i’m sort of regretting not going for guix as my user mode package manager.

    • jdr@lemmy.ml
      link
      fedilink
      arrow-up
      11
      ·
      2 days ago

      Guix is amazing and what I use for everything, but apart from basic language issues I’m don’t find it any easier than Nix.

      • programmerlexi@sh.itjust.works
        link
        fedilink
        arrow-up
        3
        ·
        1 day ago

        How did you make Guix work for you? Every time I’ve tried to use it, it was terrible (90 minutes for reconfigure and required internet access, just to remove GNOME).

        • jdr@lemmy.ml
          link
          fedilink
          arrow-up
          2
          ·
          23 hours ago

          Make sure you have working substitute servers for each repo, nonguix is pretty handy, and LLMs can be good at finding config bugs

    • vividspecter@aussie.zone
      link
      fedilink
      arrow-up
      8
      ·
      1 day ago

      Guix is lovely but it has a lot fewer packages and a few of its own quirks too. It’s still on my list to test again when I get some time, though.