grafana-alloy: don't build the frontend twice
[NixPkgs.git] / nixos / modules / services / web-apps / phylactery.nix
blob02a3a1765d9036ce072758e556d629b66b1c8d92
1 { config, lib, pkgs, ... }:
3 with lib;
4 let cfg = config.services.phylactery;
5 in {
6   options.services.phylactery = {
7     enable = mkEnableOption "Phylactery server";
9     host = mkOption {
10       type = types.str;
11       default = "localhost";
12       description = "Listen host for Phylactery";
13     };
15     port = mkOption {
16       type = types.port;
17       description = "Listen port for Phylactery";
18     };
20     library = mkOption {
21       type = types.path;
22       description = "Path to CBZ library";
23     };
25     package = mkPackageOption pkgs "phylactery" { };
26   };
28   config = mkIf cfg.enable {
29     systemd.services.phylactery = {
30       environment = {
31         PHYLACTERY_ADDRESS = "${cfg.host}:${toString cfg.port}";
32         PHYLACTERY_LIBRARY = "${cfg.library}";
33       };
35       wantedBy = [ "multi-user.target" ];
37       serviceConfig = {
38         ConditionPathExists = cfg.library;
39         DynamicUser = true;
40         ExecStart = "${cfg.package}/bin/phylactery";
41       };
42     };
43   };
45   meta.maintainers = with maintainers; [ McSinyx ];