{
  # Snowfall Lib provides a customized `lib` instance with access to your flake's library
  # as well as the libraries available from your flake's inputs.
  lib,
  # You also have access to your flake's inputs.
  inputs,

  # All other arguments come from NixPkgs. You can use `pkgs` to pull packages or helpers
  # programmatically or you may add the named attributes as arguments here.
  pkgs,
  stdenv,
  ...
}:

pkgs.writeShellApplication {
  name = "open-messaging";

  runtimeInputs = with pkgs; [
    nheko
    telegram-desktop
    thunderbird
  ];

  text = ''
    thunderbird &
    sleep 0.1
    nheko &
    sleep 0.1
    telegram-desktop &
  '';
}
