Merge pull request #137176 from GoldsteinE/clickhouse-package

nixos/clickhouse: add package option

authored by Niklas Hambüchen and committed by GitHub 0939143e b9d81143

+16 -4
+13 -4
nixos/modules/services/databases/clickhouse.nix
··· 13 13 14 14 enable = mkEnableOption "ClickHouse database server"; 15 15 16 + package = mkOption { 17 + type = types.package; 18 + default = pkgs.clickhouse; 19 + defaultText = "pkgs.clickhouse"; 20 + description = '' 21 + ClickHouse package to use. 22 + ''; 23 + }; 24 + 16 25 }; 17 26 18 27 }; ··· 45 54 AmbientCapabilities = "CAP_SYS_NICE"; 46 55 StateDirectory = "clickhouse"; 47 56 LogsDirectory = "clickhouse"; 48 - ExecStart = "${pkgs.clickhouse}/bin/clickhouse-server --config-file=${pkgs.clickhouse}/etc/clickhouse-server/config.xml"; 57 + ExecStart = "${cfg.package}/bin/clickhouse-server --config-file=${cfg.package}/etc/clickhouse-server/config.xml"; 49 58 }; 50 59 }; 51 60 52 61 environment.etc = { 53 62 "clickhouse-server/config.xml" = { 54 - source = "${pkgs.clickhouse}/etc/clickhouse-server/config.xml"; 63 + source = "${cfg.package}/etc/clickhouse-server/config.xml"; 55 64 }; 56 65 57 66 "clickhouse-server/users.xml" = { 58 - source = "${pkgs.clickhouse}/etc/clickhouse-server/users.xml"; 67 + source = "${cfg.package}/etc/clickhouse-server/users.xml"; 59 68 }; 60 69 }; 61 70 62 - environment.systemPackages = [ pkgs.clickhouse ]; 71 + environment.systemPackages = [ cfg.package ]; 63 72 64 73 # startup requires a `/etc/localtime` which only if exists if `time.timeZone != null` 65 74 time.timeZone = mkDefault "UTC";
+3
pkgs/servers/clickhouse/default.nix
··· 3 3 , icu, jemalloc, libcpuid, libxml2, lld, llvm, lz4, libmysqlclient, openssl, perl 4 4 , poco, protobuf, python3, rapidjson, re2, rdkafka, readline, sparsehash, unixODBC 5 5 , xxHash, zstd 6 + , nixosTests 6 7 }: 7 8 8 9 stdenv.mkDerivation rec { ··· 63 64 64 65 # Builds in 7+h with 2 cores, and ~20m with a big-parallel builder. 65 66 requiredSystemFeatures = [ "big-parallel" ]; 67 + 68 + passthru.tests.clickhouse = nixosTests.clickhouse; 66 69 67 70 meta = with lib; { 68 71 homepage = "https://clickhouse.tech/";