feat(awgen): add AmneziaWG configuration generator package
CI / check (push) Has been cancelled

Package alex/awgen (offline, stateless Rust CLI for AmneziaWG configs) from
the upstream Gitea repository. Source is fetched with fetchFromGitea and
pinned to the v0.1 tag; the cargo dependency hash is pinned as well.

Also list the package in the README package table and project tree.
This commit is contained in:
2026-10-20 21:55:24 +03:00
parent 5310b47924
commit eefef7cce2
3 changed files with 45 additions and 0 deletions
+2
View File
@@ -13,6 +13,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 |
| `awgen` | Offline CLI for AmneziaWG configurations — harmonises native .conf and vpn:// inputs, generates client participants and tunnels, and analyses obfuscation | Networking |
| `aionui` | Free, open-source, Cowork app with AI Agents | AI Coding Agents |
| `codeaf` | Coding harness and software factory for open models: hand work off, then watch every project from one terminal | AI Coding Agents |
| `container-use` | Containerized environments for coding agents | AI Coding Agents |
@@ -211,6 +212,7 @@ nix-overlay/
│ └── shared-nixpkgs.nix # Dependency-sharing overlay
├── packages/ # Package definitions
│ ├── awg-tool/ # AmneziaWG parameter generation and SSH deployment CLI
│ ├── awgen/ # Offline AmneziaWG configuration harmoniser and generator
│ ├── aionui/ # AionUi - AI Cowork desktop app
│ ├── codeaf/ # Coding harness and software factory for open models
│ ├── container-use/ # Containerized environments for coding agents
+5
View File
@@ -0,0 +1,5 @@
{
pkgs,
...
}:
pkgs.callPackage ./package.nix { }
+38
View File
@@ -0,0 +1,38 @@
{
lib,
rustPlatform,
fetchFromGitea,
}:
rustPlatform.buildRustPackage rec {
pname = "awgen";
version = "0.1";
src = fetchFromGitea {
domain = "git.millerson.name";
owner = "alex";
repo = "awgen";
rev = "v${version}";
hash = "sha256-PTwOswKI08/oHTKZDZOQfPPBXhNNxot2+tpnUweZ8gg=";
};
cargoHash = "sha256-/ENWhp2SpcZcTk55xXsm/IHfyj86aNzH6PAb9VBtAX4=";
passthru = {
category = "Networking";
updateScript = [
"nix-update"
"--flake"
"awgen"
];
};
meta = with lib; {
description = "Offline, stateless CLI for AmneziaWG configurations — harmonises native .conf and vpn:// inputs, generates client participants and tunnels, and analyses obfuscation";
homepage = "https://git.millerson.name/alex/awgen";
changelog = "https://git.millerson.name/alex/awgen/commits/tag/v${version}";
license = licenses.mit;
mainProgram = "awgen";
platforms = platforms.unix;
};
}