clash.nix 794 B

123456789101112131415161718192021
  1. { config, pkgs, ... }:
  2. {
  3. systemd.services.clash = {
  4. wantedBy = [ "multi-user.target" ];
  5. after = [ "network-online.target" ];
  6. description = "Clash Service";
  7. path = [ pkgs.bash pkgs.iproute2 ];
  8. serviceConfig = {
  9. Type = "simple";
  10. User = "clash";
  11. Group = "clash";
  12. ExecStartPre = "/etc/scripts/clash-pre";
  13. ExecStart = "${pkgs.clash-meta}/bin/clash-meta -d /etc/clash";
  14. ExecStop = "/etc/scripts/clash-post";
  15. Restart = "on-failure";
  16. CapabilityBoundingSet="CAP_NET_ADMIN CAP_NET_BIND_SERVICE CAP_NET_RAW";
  17. AmbientCapabilities="CAP_NET_ADMIN CAP_NET_BIND_SERVICE CAP_NET_RAW";
  18. };
  19. };
  20. environment.systemPackages = [ pkgs.clash-meta ];
  21. }