How do I update a single package installed with a standard config file?

Assuming the version of signal-desktop you want has already been packaged, you can “pin” the package, following the instructions from the NixOS Wiki on Pinning Nixpkgs. Specifically, you can do something like this:

  environment.systemPackages = with pkgs; 
    let myPkgs = import (builtins.fetchTarball {
        url = "https://github.com/NixOS/nixpkgs/archive/9957cd48326fe8dbd52fdc50dd2502307f188b0d.tar.gz"; #Change this URL accordingly
    }) {};  in [
      android-tools
      chromium
      cryptsetup
      myPkgs.signal-desktop
      ...
  ];

To find the right URL, you can use Nix Package Versions

1 Like