Skip to content

Instantly share code, notes, and snippets.

@sergei-mironov
Last active April 18, 2021 09:45
Show Gist options
  • Save sergei-mironov/662d215559e09136ede09e6a7ad47eaf to your computer and use it in GitHub Desktop.
Save sergei-mironov/662d215559e09136ede09e6a7ad47eaf to your computer and use it in GitHub Desktop.
vksync.nix
{ pkgs ? import <nixpkgs> {}
, stdenv ? pkgs.stdenv
} :
let
self = pkgs.python36Packages;
inherit (self) buildPythonPackage fetchPypi;
browsermob-proxy =
with pkgs;
let
version = "2.1.4";
in stdenv.mkDerivation rec {
name = "browsermob-proxy-${version}";
src = fetchzip {
url = "https://github.com/lightbody/browsermob-proxy/releases/download/${name}/${name}-bin.zip";
sha256 = "0phymlikfx70mn4x9551bi92ljkdpycxpalib30zhq3slsavfraz";
};
buildInputs = [ jre ];
patchPhase = ''
patchShebangs .
sed -i 's|JAVACMD="java"|JAVACMD="${jre}/bin/java"|' bin/browsermob*
'';
installPhase = ''
mkdir -p $out/{bin,lib,ssl-support}
cp -r bin/* $out/bin/
cp -r lib/* $out/lib/
cp -r ssl-support/* $out/ssl-support/
'';
doCheck = false;
};
browsermob-proxy-py = buildPythonPackage rec {
name = "browsermob-proxy-py-0.8.0";
buildInputs = with self; [ requests selenium ];
src = pkgs.fetchurl {
url = "https://github.com/AutomatedTester/browsermob-proxy-py/archive/v0.8.0.tar.gz";
sha256 = "0bf6dby35pn4pk0ygvcsf1a6z0dr2sv8nmszk0bfv0m3w6b0achh";
};
# No tests
doCheck = false;
};
pyls = self.python-language-server.override { providers=["pycodestyle" "pyflakes"]; };
pyls-mypy = self.pyls-mypy.override { python-language-server=pyls; };
vk-api = buildPythonPackage rec {
pname = "vk_api";
version = "11.7.0";
propagatedBuildInputs = with self; [ requests beautifulsoup4 websocket_client six ];
src = self.fetchPypi {
inherit pname version;
sha256 = "sha256:1rggx66a17qq8fkgv738zyhw51yz6a05mfqxxcimfavfpbzbwh7r";
};
};
be = stdenv.mkDerivation {
name = "buildenv";
buildInputs =
with pkgs;
with self;
[
pyls
pyls-mypy
python
ipython
httplib2
selenium
chromedriver
chromium
which
virtual-display
xvfb_run
xorg.xorgserver
browsermob-proxy-py
browsermob-proxy
requests
vk-api
self.eyeD3
];
shellHook = with pkgs;
let
gitbin = "${git}/bin/git";
in ''
if test -f ./env.sh ; then
. ./env.sh
fi
'';
};
in
be
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment