datahub/contrib/nix/sandbox.nix
2020-03-18 07:29:47 -07:00

81 lines
1.9 KiB
Nix

{ config, pkgs, ... }:
{
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
# This value determines the Home Manager release that your
# configuration is compatible with. This helps avoid breakage
# when a new Home Manager release introduces backwards
# incompatible changes.
#
# You can update Home Manager without changing this value. See
# the Home Manager release notes for a list of state version
# changes in each release.
home.stateVersion = "19.09";
environment.systemPackages = [
pkgs.gradle
pkgs.postgresql_11
pkgs.mysql57
pkgs.elasticsearch
pkgs.neo4j
pkgs.zookeeper
pkgs.apacheKafka
pkgs.confluent-platform
pkgs.kafkacat
pkgs.neo4j
];
services.postgresql = {
enable = true ;
package = pkgs.postgresql_11 ;
dataDir = "/opt/nix-module/data/postgresql" ;
} ;
services.mysql = {
enable = true ;
# package = pkgs.mysql80 ;
package = pkgs.mysql57 ;
dataDir = "/opt/nix-module/data/mysql" ;
} ;
services.elasticsearch = {
enable = true ;
# package = pkgs.elasticsearch7 ;
package = pkgs.elasticsearch ;
dataDir = "/opt/nix-module/data/elasticsearch" ;
} ;
services.neo4j = {
enable = true ;
package = pkgs.neo4j ;
directories.home = "/opt/nix-module/data/neo4j" ;
} ;
services.zookeeper = {
enable = true ;
package = pkgs.zookeeper ;
dataDir = "/opt/nix-module/data/zookeeper" ;
} ;
services.apache-kafka = {
enable = true ;
package = pkgs.apacheKafka ;
logDirs = [ "/opt/nix-module/data/kafka" ] ;
zookeeper = "localhost:2181" ;
extraProperties = ''
offsets.topic.replication.factor = 1
zookeeper.session.timeout.ms = 600000
'' ;
} ;
services.confluent-schema-registry = {
enable = true ;
package = pkgs.confluent-platform ;
kafkas = [ "PLAINTEXT://localhost:9092" ] ;
} ;
}