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