at 24.11-pre 755 B view raw
1{ config, lib, pkgs, ... }: 2 3with lib; 4let 5 cfg = config.services.go-shadowsocks2.server; 6in { 7 options.services.go-shadowsocks2.server = { 8 enable = mkEnableOption "go-shadowsocks2 server"; 9 10 listenAddress = mkOption { 11 type = types.str; 12 description = "Server listen address or URL"; 13 example = "ss://AEAD_CHACHA20_POLY1305:your-password@:8488"; 14 }; 15 }; 16 17 config = mkIf cfg.enable { 18 systemd.services.go-shadowsocks2-server = { 19 description = "go-shadowsocks2 server"; 20 21 after = [ "network.target" ]; 22 wantedBy = [ "multi-user.target" ]; 23 24 serviceConfig = { 25 ExecStart = "${pkgs.go-shadowsocks2}/bin/go-shadowsocks2 -s '${cfg.listenAddress}'"; 26 DynamicUser = true; 27 }; 28 }; 29 }; 30}