add omada
This commit is contained in:
@@ -61,6 +61,7 @@
|
|||||||
ethtool # manage NIC settings (offload, NIC feeatures, ...)
|
ethtool # manage NIC settings (offload, NIC feeatures, ...)
|
||||||
tcpdump # view network traffic
|
tcpdump # view network traffic
|
||||||
conntrack-tools # view network connection states
|
conntrack-tools # view network connection states
|
||||||
|
omada
|
||||||
];
|
];
|
||||||
|
|
||||||
nix.gc = {
|
nix.gc = {
|
||||||
|
|||||||
@@ -23,4 +23,38 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
security.acme.certs."${domain}" = {
|
||||||
|
domain = "${domain}";
|
||||||
|
};
|
||||||
|
|
||||||
|
containers.omada = {
|
||||||
|
autoStart = true;
|
||||||
|
ephemeral = true;
|
||||||
|
macvlans = [ "vserver" ];
|
||||||
|
bindMounts = {
|
||||||
|
"/var/lib/gitea" = {
|
||||||
|
hostPath = "/var/lib/gitea/";
|
||||||
|
isReadOnly = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
bindMounts = {
|
||||||
|
"/var/lib/acme/gitea/" = {
|
||||||
|
hostPath = "${config.security.acme.certs.${domain}.directory}";
|
||||||
|
isReadOnly = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
config = { lib, config, pkgs, ... }: {
|
||||||
|
networking = {
|
||||||
|
hostName = "gitea";
|
||||||
|
interfaces.mv-vserver = {
|
||||||
|
useDHCP = true;
|
||||||
|
};
|
||||||
|
firewall = {
|
||||||
|
enable = true;
|
||||||
|
allowedTCPPorts = [ 22 80 443 ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,5 +2,6 @@ self: super: {
|
|||||||
bento = (super.callPackage ../pkgs/bento { });
|
bento = (super.callPackage ../pkgs/bento { });
|
||||||
ykfde = (super.callPackage ../pkgs/ykfde { });
|
ykfde = (super.callPackage ../pkgs/ykfde { });
|
||||||
sysbox = (super.callPackage ../pkgs/sysbox.nix { });
|
sysbox = (super.callPackage ../pkgs/sysbox.nix { });
|
||||||
|
omada = (super.callPackage ../pkgs/omada.nix { });
|
||||||
wow-addon-manager = (super.callPackage ../pkgs/wow-addon-manager { });
|
wow-addon-manager = (super.callPackage ../pkgs/wow-addon-manager { });
|
||||||
}
|
}
|
||||||
|
|||||||
59
utils/pkgs/omada.nix
Normal file
59
utils/pkgs/omada.nix
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
{ stdenv
|
||||||
|
, lib
|
||||||
|
, fetchurl
|
||||||
|
, dpkg
|
||||||
|
, libredirect
|
||||||
|
, makeWrapper
|
||||||
|
, busybox
|
||||||
|
, jsvc
|
||||||
|
, mongodb
|
||||||
|
, jre8_headless
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "omada-sdn";
|
||||||
|
version = "5.13.22";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://static.tp-link.com/upload/software/2023/202312/20231201/Omada_SDN_Controller_v${version}_Linux_x64.deb";
|
||||||
|
sha256 = "sha256-/Sh/LztaBytiw3j54e7uqizK0iu0jLOB0w2MhVxRtAE=";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ dpkg makeWrapper ];
|
||||||
|
|
||||||
|
unpackPhase = ''
|
||||||
|
runHook preUnpack
|
||||||
|
|
||||||
|
dpkg -x $src ./src
|
||||||
|
|
||||||
|
runHook postUnpack
|
||||||
|
'';
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
|
mkdir -p "$out"
|
||||||
|
cp -r src/* "$out"
|
||||||
|
|
||||||
|
mv "$out/usr/"* "$out/"
|
||||||
|
rmdir "$out/usr"
|
||||||
|
|
||||||
|
for f in "$out/lib/systemd/system/"*.service; do
|
||||||
|
substituteInPlace "$f" \
|
||||||
|
--replace "/usr/" "$out/"
|
||||||
|
done
|
||||||
|
|
||||||
|
for p in "$out/bin/"*; do
|
||||||
|
wrapProgram "$p" \
|
||||||
|
--set NIX_REDIRECTS "/usr/share=$out/share:/usr/bin=$out/bin" \
|
||||||
|
--prefix PATH : "${lib.makeBinPath [ busybox jsvc mongodb jre8_headless ]}"
|
||||||
|
done
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Omada SDN Controller Software";
|
||||||
|
platforms = with platforms; [ "x86_64-linux" ];
|
||||||
|
};
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user