49 lines
907 B
Nix
49 lines
907 B
Nix
{ pkgs ? import <nixpkgs> {}, mode ? "shell" }:
|
|
|
|
with pkgs.lib;
|
|
|
|
let
|
|
|
|
modes = {
|
|
shell = "exec zsh";
|
|
test = "npm test";
|
|
run = "exec bin/hubot";
|
|
runTg = ''
|
|
telegram-cli \
|
|
-dWE \
|
|
-Z $HUBOT_TG_SCRIPT \
|
|
-P $HUBOT_TG_PORT > /dev/null 2>&1 &
|
|
bin/hubot -a tg
|
|
pkill -9 telegram-wo-key; exit
|
|
'';
|
|
};
|
|
|
|
telegram = pkgs.telegram-cli.override {
|
|
python = pkgs.python3;
|
|
};
|
|
|
|
in pkgs.stdenv.mkDerivation rec {
|
|
name = "asjon-dev";
|
|
source = ".";
|
|
|
|
buildInputs = node ++ external;
|
|
node = with pkgs.nodePackages; [
|
|
pkgs.nodejs
|
|
mocha
|
|
coffee-script
|
|
];
|
|
external = with pkgs; [
|
|
zsh
|
|
telegram
|
|
graphicsmagick
|
|
];
|
|
|
|
shellHook = environment + getAttr mode modes;
|
|
environment = ''
|
|
#set env variables here
|
|
export HUBOT_TG_SCRIPT=node_modules/hubot-tg/hubot.py
|
|
export HUBOT_TG_PORT=1123
|
|
export ADMIN_ROOM=user#123456
|
|
'';
|
|
}
|