forked from mirrors/nixpkgs
nixos: add htpdate module
This commit is contained in:
parent
a83eadd81c
commit
e23cc550b3
|
@ -354,6 +354,7 @@
|
|||
./services/networking/haproxy.nix
|
||||
./services/networking/heyefi.nix
|
||||
./services/networking/hostapd.nix
|
||||
./services/networking/htpdate.nix
|
||||
./services/networking/i2pd.nix
|
||||
./services/networking/i2p.nix
|
||||
./services/networking/iodine.nix
|
||||
|
|
80
nixos/modules/services/networking/htpdate.nix
Normal file
80
nixos/modules/services/networking/htpdate.nix
Normal file
|
@ -0,0 +1,80 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
inherit (pkgs) htpdate;
|
||||
|
||||
cfg = config.services.htpdate;
|
||||
in
|
||||
|
||||
{
|
||||
|
||||
###### interface
|
||||
|
||||
options = {
|
||||
|
||||
services.htpdate = {
|
||||
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Enable htpdate daemon.
|
||||
'';
|
||||
};
|
||||
|
||||
extraOptions = mkOption {
|
||||
type = types.str;
|
||||
default = "";
|
||||
description = ''
|
||||
Additional command line arguments to pass to htpdate.
|
||||
'';
|
||||
};
|
||||
|
||||
servers = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [ "www.google.com" ];
|
||||
description = ''
|
||||
HTTP servers to use for time synchronization.
|
||||
'';
|
||||
};
|
||||
|
||||
proxy = mkOption {
|
||||
type = types.str;
|
||||
default = "";
|
||||
example = "127.0.0.1:8118";
|
||||
description = ''
|
||||
HTTP proxy used for requests.
|
||||
'';
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
###### implementation
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
||||
systemd.services.htpdate = {
|
||||
description = "htpdate daemon";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
serviceConfig = {
|
||||
Type = "forking";
|
||||
PIDFile = "/var/run/htpdate.pid";
|
||||
ExecStart = concatStringsSep " " [
|
||||
"${htpdate}/bin/htpdate"
|
||||
"-D -u nobody"
|
||||
"-a -s"
|
||||
"-l"
|
||||
"${optionalString (cfg.proxy != "") "-P ${cfg.proxy}"}"
|
||||
"${cfg.extraOptions}"
|
||||
"${concatStringsSep " " cfg.servers}"
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
}
|
Loading…
Reference in a new issue