nixos/ausweisapp: init module with firewall option

Optional functionality of AusweisApp2 requires an UDP port to be opened.
The module allows for convenient configuration and serves as documentation.
See also https://github.com/NixOS/nixpkgs/issues/136269
This commit is contained in:
Markus S. Wamser 2021-09-04 23:03:26 +02:00 committed by Sandro Jäckel
parent d68d3438fc
commit b20df24e2c
No known key found for this signature in database
GPG Key ID: 3AF5A43A3EECC2E5
4 changed files with 36 additions and 0 deletions

View File

@ -265,6 +265,14 @@
<link linkend="opt-services.tempo.enable">services.tempo</link>.
</para>
</listitem>
<listitem>
<para>
<link xlink:href="https://www.ausweisapp.bund.de/">AusweisApp2</link>,
the authentication software for the German ID card. Available
as
<link linkend="opt-programs.ausweisapp.enable">programs.ausweisapp</link>.
</para>
</listitem>
<listitem>
<para>
<link xlink:href="https://github.com/zalando/patroni">Patroni</link>,

View File

@ -94,6 +94,8 @@ In addition to numerous new and upgraded packages, this release has the followin
- [Grafana Tempo](https://www.grafana.com/oss/tempo/), a distributed tracing store. Available as [services.tempo](#opt-services.tempo.enable).
- [AusweisApp2](https://www.ausweisapp.bund.de/), the authentication software for the German ID card. Available as [programs.ausweisapp](#opt-programs.ausweisapp.enable).
- [Patroni](https://github.com/zalando/patroni), a template for PostgreSQL HA with ZooKeeper, etcd or Consul.
Available as [services.patroni](options.html#opt-services.patroni.enable).

View File

@ -128,6 +128,7 @@
./programs/adb.nix
./programs/appgate-sdp.nix
./programs/atop.nix
./programs/ausweisapp.nix
./programs/autojump.nix
./programs/bandwhich.nix
./programs/bash/bash.nix

View File

@ -0,0 +1,25 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.programs.ausweisapp;
in
{
options.programs.ausweisapp = {
enable = mkEnableOption (lib.mdDoc "AusweisApp2");
openFirewall = mkOption {
description = lib.mdDoc ''
Whether to open the required firewall ports for the Smartphone as Card Reader (SaC) functionality of AusweisApp2.
'';
default = false;
type = lib.types.bool;
};
};
config = mkIf cfg.enable {
environment.systemPackages = with pkgs; [ AusweisApp2 ];
networking.firewall.allowedUDPPorts = lib.optionals cfg.openFirewall [ 24727 ];
};
}