diff --git a/README.md b/README.md index 5639b0f..06cf5f6 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/packages/awgen/default.nix b/packages/awgen/default.nix new file mode 100644 index 0000000..291b4f4 --- /dev/null +++ b/packages/awgen/default.nix @@ -0,0 +1,5 @@ +{ + pkgs, + ... +}: +pkgs.callPackage ./package.nix { } diff --git a/packages/awgen/package.nix b/packages/awgen/package.nix new file mode 100644 index 0000000..07a5212 --- /dev/null +++ b/packages/awgen/package.nix @@ -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; + }; +}