{ config, ... }:

{
  services.osmscout-server = {
    enable = true;
    package = config.lib.test.mkStubPackage { outPath = "@osmscout-server@"; };
    network = {
      startWhenNeeded = true;
      listenAddress = "0.0.0.0";
      port = 55555;
    };
  };

  nmt.script = ''
    assertFileContent \
      home-files/.config/systemd/user/osmscout-server.service \
      ${builtins.toFile "osmscout-server.service" ''
        [Service]
        ExecStart='@osmscout-server@/bin/osmscout-server' --systemd --quiet

        [Unit]
        Description=OSM Scout Server
      ''}
    assertFileContent \
      home-files/.config/systemd/user/osmscout-server.socket \
      ${builtins.toFile "osmscout-server.socket" ''
        [Install]
        WantedBy=sockets.target

        [Socket]
        ListenStream=0.0.0.0:55555
        TriggerLimitBurst=1
        TriggerLimitIntervalSec=60s

        [Unit]
        Description=OSM Scout Server Socket
      ''}
  '';
}
