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

@@ -12,6 +12,7 @@ A custom Nix overlay and flake providing additional packages not found in upstre
| Package | Description | Category |
|---------|-------------|----------|
| `awg-tool` | 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 | Networking |
| `aionui` | Free, open-source, Cowork app with AI Agents | AI Coding Agents |
| `container-use` | Containerized environments for coding agents | AI Coding Agents |
| `desloppify` | Multi-language codebase health scanner and technical debt tracker for AI agents | AI Coding Agents |
@@ -141,6 +142,7 @@ nix-overlay/
│ ├── default.nix # Binary-cache-friendly overlay
│ └── shared-nixpkgs.nix # Dependency-sharing overlay
├── packages/ # Package definitions
│ ├── awg-tool/ # AmneziaWG parameter generation and SSH deployment CLI
│ ├── aionui/ # AionUi - AI Cowork desktop app
│ ├── container-use/ # Containerized environments for coding agents
│ ├── default/ # Meta-package listing all packages

View File

@@ -0,0 +1,5 @@
{
pkgs,
...
}:
pkgs.callPackage ./package.nix { }

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;
};
}