anchor.diff:  import ./make-test-python.nix ({ pkgs, ...} :
   
  -{
  +let
  +  sqlcipher-signal = pkgs.writeShellScriptBin "sqlcipher" ''
  +    set -eu
  +
  +    readonly CFG=~/.config/Signal/config.json
  +    readonly KEY="$(${pkgs.jq}/bin/jq --raw-output '.key' $CFG)"
  +    readonly DB="$1"
  +    readonly SQL="SELECT * FROM sqlite_master where type='table'"
  +    ${pkgs.sqlcipher}/bin/sqlcipher "$DB" "PRAGMA key = \"x'$KEY'\"; $SQL"
  +  '';
  +in {
     name = "signal-desktop";
     meta = with pkgs.lib.maintainers; {
       maintainers = [ flokli primeos ];
  
positive.code:     # - https://github.com/NixOS/nixpkgs/issues/108772
      # - https://github.com/NixOS/nixpkgs/pull/117555
      print(machine.succeed("su - alice -c 'file ~/.config/Signal/sql/db.sqlite'"))
      machine.succeed(
          "su - alice -c 'file ~/.config/Signal/sql/db.sqlite' | grep 'db.sqlite: data'"
      )
      machine.fail(
          "su - alice -c 'file ~/.config/Signal/sql/db.sqlite' | grep -e SQLite -e database"
      )
    '';
  })
  
negative.code: 
      services.xserver.enable = true;
      test-support.displayManager.auto.user = "alice";
      environment.systemPackages = with pkgs; [
        signal-desktop file sqlite sqlcipher-signal
      ];
      virtualisation.memorySize = 1024;
    };
  
  