aboutsummaryrefslogblamecommitdiff
path: root/app/cryptpad/build/shell.nix
blob: bf701fe4072d3de54bc946b7ceb77ea4a80ea05a (plain) (tree)






























                                                                                                                                                                                                                
let
  common = import ./common.nix;
  pkgs = import common.pkgsSrc {};

  bower2nixRepo = (import common.bower2nixSrc {
    inherit pkgs;
  });  
  bower2nix = bower2nixRepo // {
    package = bower2nixRepo.package.override {
      postInstall = "tsc";
    };
  };
in
  pkgs.mkShell {
    nativeBuildInputs = [
      bower2nix.package
      pkgs.nodePackages.node2nix
    ];

    shellHook = ''
function update_lock {
  set -exuo pipefail
  mkdir -p nix.lock
  ${pkgs.wget}/bin/wget https://raw.githubusercontent.com/xwiki-labs/cryptpad/${common.cryptpadCommit}/package.json -O nix.lock/package.json
  ${pkgs.wget}/bin/wget https://raw.githubusercontent.com/xwiki-labs/cryptpad/${common.cryptpadCommit}/package-lock.json -O nix.lock/package-lock.json
  ${pkgs.wget}/bin/wget https://raw.githubusercontent.com/xwiki-labs/cryptpad/${common.cryptpadCommit}/bower.json -O nix.lock/bower.json
  ${bower2nix.package}/bin/bower2nix nix.lock/bower.json nix.lock/bower.nix
  ${pkgs.nodePackages.node2nix}/bin/node2nix --input nix.lock/package.json --lock nix.lock/package-lock.json --composition nix.lock/npm.nix --node-env nix.lock/node-env.nix --output nix.lock/node-packages.nix
}
    '';
  }