slack-cli: warn when not using SLACK_CLI_TOKEN
This commit is contained in:
parent
dac2235c1a
commit
e276965a16
|
@ -1,8 +1,11 @@
|
||||||
# slack-cli must be configured using the SLACK_CLI_TOKEN environment
|
# slack-cli must be configured using the SLACK_CLI_TOKEN environment variable.
|
||||||
# variable. Using `slack init` will not work because it tries to write
|
# Using `slack init` will not work because it tries to write to the Nix store.
|
||||||
# to the Nix store.
|
#
|
||||||
|
# There is no reason that we couldn't change the file path that slack-cli uses
|
||||||
|
# for token storage, except that it would make the Nix package inconsistent with
|
||||||
|
# upstream and other distributions.
|
||||||
|
|
||||||
{ stdenv, lib, fetchFromGitHub, makeWrapper, curl, jq }:
|
{ stdenv, fetchFromGitHub }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "slack-cli-${version}";
|
name = "slack-cli-${version}";
|
||||||
|
@ -15,13 +18,10 @@ stdenv.mkDerivation rec {
|
||||||
sha256 = "022yr3cpfg0v7cxi62zzk08vp0l3w851qpfh6amyfgjiynnfyddl";
|
sha256 = "022yr3cpfg0v7cxi62zzk08vp0l3w851qpfh6amyfgjiynnfyddl";
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ makeWrapper ];
|
|
||||||
|
|
||||||
dontBuild = true;
|
dontBuild = true;
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p "$out/bin"
|
mkdir -p "$out/bin"
|
||||||
cp src/slack "$out/bin"
|
cp src/slack "$out/bin"
|
||||||
wrapProgram "$out/bin/slack" --prefix PATH : ${lib.makeBinPath [ curl jq ]}
|
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|
15
pkgs/tools/networking/slack-cli/wrapper.nix
Normal file
15
pkgs/tools/networking/slack-cli/wrapper.nix
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
{ lib, writeShellScriptBin, curl, jq }:
|
||||||
|
|
||||||
|
slack-cli:
|
||||||
|
|
||||||
|
writeShellScriptBin "slack" ''
|
||||||
|
[ "$1" = "init" -a -z "$SLACK_CLI_TOKEN" ] && cat >&2 <<-'MESSAGE'
|
||||||
|
WARNING: slack-cli must be configured using the SLACK_CLI_TOKEN environment
|
||||||
|
variable. Using `slack init` will not work because it tries to write to the
|
||||||
|
Nix store.
|
||||||
|
|
||||||
|
MESSAGE
|
||||||
|
|
||||||
|
export PATH=${lib.makeBinPath [ curl jq ]}:"$PATH"
|
||||||
|
exec ${slack-cli}/bin/slack "$@"
|
||||||
|
''
|
|
@ -16695,7 +16695,9 @@ with pkgs;
|
||||||
|
|
||||||
slack = callPackage ../applications/networking/instant-messengers/slack { };
|
slack = callPackage ../applications/networking/instant-messengers/slack { };
|
||||||
|
|
||||||
slack-cli = callPackage ../tools/networking/slack-cli { };
|
wrapSlackCli = callPackage ../tools/networking/slack-cli/wrapper.nix { };
|
||||||
|
slack-cli-unwrapped = callPackage ../tools/networking/slack-cli { };
|
||||||
|
slack-cli = wrapSlackCli slack-cli-unwrapped;
|
||||||
|
|
||||||
singularity = callPackage ../applications/virtualization/singularity { };
|
singularity = callPackage ../applications/virtualization/singularity { };
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue