feat: add awg-tool package
Some checks failed
CI / check (push) Has been cancelled

Rust CLI for AmneziaWG self-hosting from Vadim-Khristenko/awg-containers-and-tools: generates 1.0/1.5/2.0/3.0 obfuscation parameters, exports .conf and vpn:// configs, installs servers over SSH.
This commit is contained in:
2026-08-08 21:13:31 +03:00
parent af91bad87b
commit 7e7b884cc6
3 changed files with 58 additions and 0 deletions

View File

@@ -0,0 +1,51 @@
{
lib,
rustPlatform,
fetchFromGitHub,
cmake,
perl,
}:
rustPlatform.buildRustPackage rec {
pname = "awg-tool";
version = "0.2.2";
src = fetchFromGitHub {
owner = "Vadim-Khristenko";
repo = "awg-containers-and-tools";
rev = "v${version}";
hash = "sha256-z4LG+z60uqsfkRyt7Dc8Fc5GMfpiF7G0N9PXnzTUJms=";
};
# awg-core builds ssh2 with vendored-openssl, which compiles libssh2
# (via cmake) and OpenSSL (via perl Configure) from source.
nativeBuildInputs = [
cmake
perl
];
cargoHash = "sha256-Nb5tmwvhzKAldHai7yxtYapjbZmai0ujBX9c6nRGZk0=";
# Upstream tests exercise Docker/SSH targets; unit tests are already
# covered by the upstream CI before a release is cut.
doCheck = false;
passthru = {
category = "Networking";
updateScript = [
"nix-update"
"--flake"
".#awg-tool"
];
};
meta = with lib; {
description = "CLI for AmneziaWG self-hosting generates 1.0/1.5/2.0/3.0 obfuscation parameters, exports .conf and vpn:// configs, installs servers over SSH";
homepage = "https://github.com/Vadim-Khristenko/awg-containers-and-tools";
changelog = "https://github.com/Vadim-Khristenko/awg-containers-and-tools/releases/tag/v${version}";
license = licenses.mit;
sourceProvenance = with sourceTypes; [ fromSource ];
mainProgram = "awg-tool";
platforms = platforms.linux;
};
}