mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-07-13 21:50:33 +03:00
Merge pull request #190325 from fgaz/merecat/init
merecat: init at 2.31
This commit is contained in:
commit
08fbb5de2d
8 changed files with 148 additions and 0 deletions
|
@ -1156,6 +1156,7 @@
|
|||
./services/web-servers/lighttpd/collectd.nix
|
||||
./services/web-servers/lighttpd/default.nix
|
||||
./services/web-servers/lighttpd/gitweb.nix
|
||||
./services/web-servers/merecat.nix
|
||||
./services/web-servers/mighttpd2.nix
|
||||
./services/web-servers/minio.nix
|
||||
./services/web-servers/molly-brown.nix
|
||||
|
|
55
nixos/modules/services/web-servers/merecat.nix
Normal file
55
nixos/modules/services/web-servers/merecat.nix
Normal file
|
@ -0,0 +1,55 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.merecat;
|
||||
format = pkgs.formats.keyValue {
|
||||
mkKeyValue = generators.mkKeyValueDefault {
|
||||
mkValueString = v:
|
||||
# In merecat.conf, booleans are "true" and "false"
|
||||
if builtins.isBool v
|
||||
then if v then "true" else "false"
|
||||
else generators.mkValueStringDefault {} v;
|
||||
} "=";
|
||||
};
|
||||
configFile = format.generate "merecat.conf" cfg.settings;
|
||||
|
||||
in {
|
||||
|
||||
options.services.merecat = {
|
||||
|
||||
enable = mkEnableOption (lib.mdDoc "Merecat HTTP server");
|
||||
|
||||
settings = mkOption {
|
||||
inherit (format) type;
|
||||
default = { };
|
||||
description = lib.mdDoc ''
|
||||
Merecat configuration. Refer to merecat(8) for details on supported values.
|
||||
'';
|
||||
example = {
|
||||
hostname = "localhost";
|
||||
port = 8080;
|
||||
virtual-host = true;
|
||||
directory = "/srv/www";
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
||||
systemd.services.merecat = {
|
||||
description = "Merecat HTTP server";
|
||||
after = [ "network.target" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig = {
|
||||
DynamicUser = true;
|
||||
ExecStart = "${pkgs.merecat}/bin/merecat -n -f ${configFile}";
|
||||
AmbientCapabilities = lib.mkIf ((cfg.settings.port or 80) < 1024) [ "CAP_NET_BIND_SERVICE" ];
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue