From 90da2c1223475ff186967c7ace807678ff0d5870 Mon Sep 17 00:00:00 2001 From: Jan van Brügge Date: Sun, 30 Jul 2023 12:53:51 +0100 Subject: nixos/haproxy: allow to specify haproxy package --- nixos/modules/services/networking/haproxy.nix | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/nixos/modules/services/networking/haproxy.nix b/nixos/modules/services/networking/haproxy.nix index e0b686434b6e9..208eb356d629d 100644 --- a/nixos/modules/services/networking/haproxy.nix +++ b/nixos/modules/services/networking/haproxy.nix @@ -17,14 +17,9 @@ with lib; options = { services.haproxy = { - enable = mkOption { - type = types.bool; - default = false; - description = lib.mdDoc '' - Whether to enable HAProxy, the reliable, high performance TCP/HTTP - load balancer. - ''; - }; + enable = mkEnableOption (lib.mdDoc "HAProxy, the reliable, high performance TCP/HTTP load balancer."); + + package = mkPackageOptionMD pkgs "haproxy" { }; user = mkOption { type = types.str; @@ -70,15 +65,15 @@ with lib; ExecStartPre = [ # when the master process receives USR2, it reloads itself using exec(argv[0]), # so we create a symlink there and update it before reloading - "${pkgs.coreutils}/bin/ln -sf ${pkgs.haproxy}/sbin/haproxy /run/haproxy/haproxy" + "${pkgs.coreutils}/bin/ln -sf ${lib.getExe cfg.package} /run/haproxy/haproxy" # when running the config test, don't be quiet so we can see what goes wrong "/run/haproxy/haproxy -c -f ${haproxyCfg}" ]; ExecStart = "/run/haproxy/haproxy -Ws -f /etc/haproxy.cfg -p /run/haproxy/haproxy.pid"; # support reloading ExecReload = [ - "${pkgs.haproxy}/sbin/haproxy -c -f ${haproxyCfg}" - "${pkgs.coreutils}/bin/ln -sf ${pkgs.haproxy}/sbin/haproxy /run/haproxy/haproxy" + "${lib.getExe cfg.package} -c -f ${haproxyCfg}" + "${pkgs.coreutils}/bin/ln -sf ${lib.getExe cfg.package} /run/haproxy/haproxy" "${pkgs.coreutils}/bin/kill -USR2 $MAINPID" ]; KillMode = "mixed"; -- cgit 1.4.1