Package availability/status


I am thinking about switching to NixOS. Before doing so I was checking package availability. In particular, I noticed that ‘Slack’ was out of date on Nixpkgs unstable (Version 4.11.1, November 2020). (It is pure chance that I stick to ‘Slack’ in the following, it could be any other package).

I also noticed that there is an ‘update’ script, and various issues mentioning auto updates etc.

My questions:

  • Is Slack really out of date by two months like it is shown on Nixpkgs, or is it auto updated when actually using NixOS? (But that would contradict the declarative packaging policy, wouldn’t it?)
  • If it is out of date, why so, given all the auto update bots such as r-ryantm? Could you explain a little how these bots work?
  • If I were using NixOS, do I have to submit a pull request to update Slack? Are there not enough NixOS users yet to notice that Slack is out of date for two months, or is there another issue inhibiting the upate?



The nix package gets installed into the nix store, thus read only.

The bot will only attempt to do a version bump, if the build doesn’t succeed, then it will be dropped.

probably, but it shouldn’t be too much effort.

Hey dschrempf,

I looked into your particular case a bit and realized that I can answer fewer questions than I thought.

But yes, Slack is really residing on that old version. There is no additional upgrade happening from actually using the system, at least if you don’t manually do it with an overlay.

Submitting a PR is the appropriate way to update Slack, if r-ryantm doesn’t do it.

From looking at the repology information for Slack, it is not clear to me why it wasn’t updated by r-ryantm. At least it did in the past. Maybe it would make sense to open an issue about it in the nixpkgs-update repository?

Thanks! I submitted an issue.

1 Like

this is probably because ryantm isn’t smart enough to know what to change

  x86_64-darwin-version = "4.11.1";
  x86_64-darwin-sha256 = "0a5rq8zhgdckwxnyjv6nrgpnj682j1rd9yc4nwvsbvpzv15kmd35";

  x86_64-linux-version = "4.11.1";
  x86_64-linux-sha256 = "1r43g3xnla5aq38l3mpba8jb1gx9m2b6pr84prsclz27nr0rfm6g";

  version = {
    x86_64-darwin = x86_64-darwin-version;
    x86_64-linux = x86_64-linux-version;
  }.${system} or throwSystem;

  src = let
    base = "";
  in {
    x86_64-darwin = fetchurl {
      url = "${base}/releases/macos/${version}/prod/x64/Slack-${version}-macOS.dmg";
      sha256 = x86_64-darwin-sha256;
    x86_64-linux = fetchurl {
      url = "${base}/linux_releases/slack-desktop-${version}-amd64.deb";
      sha256 = x86_64-linux-sha256;
  }.${system} or throwSystem;

I created a PR for you

1 Like

Should we add an update script for this?

It already has an update script. I think the problem is that it is somehow not in the list of things to update. I haven’t looked into why yet.

1 Like

I noticed there weren’t any logs in nixpkgs-update.

Possible that nixpkgs-update has “too much to chew through” and never gets around to it.

Thanks for your replies! I begin to understand how NixOS and Nixpkgs are working :).

By the way, if it is really a “too much to chew through” problem, then maybe other packages are also affected?

@ryantm would know best, but I believe the infrastructure used for nixpkgs-update is shared with a few other efforts (most notably GitHub - nix-community/emacs-overlay: Bleeding edge emacs overlay [maintainer=@adisbladis]) which also consume some resources.

Last Sunday, I rented a dedicated server just for r-ryantm/nixpkgs-update, so there is no shared resources now. It is running much better, but there are still issues to work out.