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 ExecStart = "${pkgs.zerotierone}/bin/zerotier-one"; 25 Restart = "always"; 26 KillMode = "process"; 27 }; 28 }; 29 environment.systemPackages = [ pkgs.zerotierone ]; 30 }; 31}