grafana-alloy: don't build the frontend twice
[NixPkgs.git] / nixos / modules / services / misc / duckling.nix
blobed0b7b37d8c852e72f7b787e65da73fac3c2f9c8
1 { config, lib, pkgs, ... }:
2 let
3   cfg = config.services.duckling;
4 in {
5   options = {
6     services.duckling = {
7       enable = lib.mkEnableOption "duckling";
9       port = lib.mkOption {
10         type = lib.types.port;
11         default = 8080;
12         description = ''
13           Port on which duckling will run.
14         '';
15       };
16     };
17   };
19   config = lib.mkIf cfg.enable {
20     systemd.services.duckling = {
21       description = "Duckling server service";
22       wantedBy    = [ "multi-user.target" ];
23       after       = [ "network.target" ];
25       environment = {
26         PORT = builtins.toString cfg.port;
27       };
29       serviceConfig = {
30         ExecStart = "${pkgs.haskellPackages.duckling}/bin/duckling-example-exe --no-access-log --no-error-log";
31         Restart = "always";
32         DynamicUser = true;
33       };
34     };
35   };