48 lines
873 B
Nix
48 lines
873 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
|
||
|
'';
|
||
|
}
|