1{
2 config,
3 lib,
4 pkgs,
5 ...
6}:
7let
8 cfg = config.programs.amnezia-vpn;
9in
10{
11 options.programs.amnezia-vpn = {
12 enable = lib.mkEnableOption "The AmneziaVPN client";
13 package = lib.mkPackageOption pkgs "amnezia-vpn" { };
14 };
15
16 config = lib.mkIf cfg.enable {
17 environment.systemPackages = [ cfg.package ];
18 services.dbus.packages = [ cfg.package ];
19 services.resolved.enable = true;
20
21 systemd = {
22 packages = [ cfg.package ];
23 services."AmneziaVPN" = {
24 wantedBy = [ "multi-user.target" ];
25 path = with pkgs; [
26 procps
27 iproute2
28 sudo
29 ];
30 };
31 };
32 };
33
34 meta.maintainers = with lib.maintainers; [ sund3RRR ];
35}