49 lines
1000 B
Nix
49 lines
1000 B
Nix
{
|
|
sources ? import ./lon.nix,
|
|
pkgs ? import sources.nixpkgs { },
|
|
}:
|
|
let
|
|
policy = builtins.toFile "policy.hujson" (builtins.readFile ./attic/policy.hujson);
|
|
gh = pkgs.fetchFromGitHub {
|
|
owner = "SimplyMinimal";
|
|
repo = "tailscale-network-topology-mapper";
|
|
rev = "v2.0.1";
|
|
hash = "sha256-55n7CERdI2LPtSLAQJnGuqM27MWjq2Ef1c8uhndX0Qk=";
|
|
};
|
|
combinedSrc = pkgs.runCommand "combined-src" { } ''
|
|
mkdir -p $out
|
|
cp -r ${gh}/* $out/
|
|
ls -l $out/
|
|
rm $out/policy.hujson
|
|
cp ${policy} $out/policy.hujson
|
|
'';
|
|
in
|
|
{
|
|
tailscale-visualizer = pkgs.stdenv.mkDerivation {
|
|
pname = "tailscale-visualizer";
|
|
version = "v2.0.1";
|
|
|
|
src = combinedSrc;
|
|
|
|
nativeBuildInputs = with pkgs.python3Packages; [
|
|
pyvis
|
|
hjson
|
|
pytest
|
|
];
|
|
|
|
buildPhase = ''
|
|
${pkgs.lib.getExe pkgs.python3} main.py
|
|
'';
|
|
|
|
installPhase = ''
|
|
mkdir -p $out
|
|
cp network_topology.html $out/
|
|
'';
|
|
|
|
env = ''
|
|
TS_COMPANY_DOMAIN=obx
|
|
'';
|
|
|
|
};
|
|
}
|