Merge pull request #137176 from GoldsteinE/clickhouse-package

nixos/clickhouse: add package option

Changed files
+16 -4
nixos
modules
services
databases
pkgs
servers
clickhouse
+13 -4
nixos/modules/services/databases/clickhouse.nix
···
enable = mkEnableOption "ClickHouse database server";
+
package = mkOption {
+
type = types.package;
+
default = pkgs.clickhouse;
+
defaultText = "pkgs.clickhouse";
+
description = ''
+
ClickHouse package to use.
+
'';
+
};
+
};
};
···
AmbientCapabilities = "CAP_SYS_NICE";
StateDirectory = "clickhouse";
LogsDirectory = "clickhouse";
-
ExecStart = "${pkgs.clickhouse}/bin/clickhouse-server --config-file=${pkgs.clickhouse}/etc/clickhouse-server/config.xml";
+
ExecStart = "${cfg.package}/bin/clickhouse-server --config-file=${cfg.package}/etc/clickhouse-server/config.xml";
};
};
environment.etc = {
"clickhouse-server/config.xml" = {
-
source = "${pkgs.clickhouse}/etc/clickhouse-server/config.xml";
+
source = "${cfg.package}/etc/clickhouse-server/config.xml";
};
"clickhouse-server/users.xml" = {
-
source = "${pkgs.clickhouse}/etc/clickhouse-server/users.xml";
+
source = "${cfg.package}/etc/clickhouse-server/users.xml";
};
};
-
environment.systemPackages = [ pkgs.clickhouse ];
+
environment.systemPackages = [ cfg.package ];
# startup requires a `/etc/localtime` which only if exists if `time.timeZone != null`
time.timeZone = mkDefault "UTC";
+3
pkgs/servers/clickhouse/default.nix
···
, icu, jemalloc, libcpuid, libxml2, lld, llvm, lz4, libmysqlclient, openssl, perl
, poco, protobuf, python3, rapidjson, re2, rdkafka, readline, sparsehash, unixODBC
, xxHash, zstd
+
, nixosTests
}:
stdenv.mkDerivation rec {
···
# Builds in 7+h with 2 cores, and ~20m with a big-parallel builder.
requiredSystemFeatures = [ "big-parallel" ];
+
+
passthru.tests.clickhouse = nixosTests.clickhouse;
meta = with lib; {
homepage = "https://clickhouse.tech/";