at 15.09-beta 813 B view raw
1{ config, lib, pkgs, ... }: 2 3with lib; 4 5let 6 cfg = config.services.zerotierone; 7in 8{ 9 options.services.zerotierone.enable = mkEnableOption "ZeroTierOne"; 10 11 config = mkIf cfg.enable { 12 systemd.services.zerotierone = { 13 description = "ZeroTierOne"; 14 path = [ pkgs.zerotierone ]; 15 after = [ "network.target" ]; 16 wantedBy = [ "multi-user.target" ]; 17 preStart = 18 '' 19 mkdir -p /var/lib/zerotier-one 20 chmod 700 /var/lib/zerotier-one 21 chown -R root:root /var/lib/zerotier-one 22 ''; 23 serviceConfig = { 24 Type = "forking"; 25 User = "root"; 26 PIDFile = "/var/lib/zerotier-one/zerotier-one.pid"; 27 ExecStart = "${pkgs.zerotierone}/bin/zerotier-one -d"; 28 }; 29 }; 30 environment.systemPackages = [ pkgs.zerotierone ]; 31 }; 32}