{ config, pkgs, fetchurl, lib, ... }: { virtualisation = { docker = { enable = true; enableOnBoot = false; liveRestore = false; extraOptions = "--ipv6 --fixed-cidr-v6 fd69:2074:9fcd:b0fd::/64"; autoPrune = { enable = true; }; }; }; nixpkgs.config.allowUnfree = true; environment.systemPackages = with pkgs; [ openssl google-chrome docker_compose mongodb-tools s3cmd sops unstable.google-cloud-sdk unstable.kubernetes unstable.kubectx unstable.redis-desktop-manager unstable.kubernetes-helm unstable.helmfile unstable.robo3t unstable.slack ]; services.mongodb = { enable = true; replSetName = "rs0"; dbpath = "/tmp/mongodb"; }; systemd.services.mongodb.wantedBy = lib.mkForce []; systemd.timers.mongodb = { description = "Delayed startup of MongoDB"; wantedBy = [ "timers.target" ]; timerConfig = { OnActiveSec = "1 min"; }; }; systemd.services.mongodb-init = { description = "Init mongodb replicaset"; requires = [ "mongodb.service" ]; script = "${pkgs.mongodb}/bin/mongo --eval 'rs.initiate()'"; }; systemd.timers.mongodb-init = { wantedBy = [ "timers.target" ]; timerConfig = { OnActiveSec = "2 min"; }; }; services.redis = { enable = true; }; systemd.services.redis.wantedBy = lib.mkForce []; systemd.timers.redis = { description = "Delayed startup of Redis"; wantedBy = [ "timers.target" ]; timerConfig = { OnActiveSec = "1 min"; }; }; services.printing.drivers = with pkgs; [ (cups-toshiba-estudio.overrideAttrs (oldAttrs: { version = "7.89"; src = pkgs.fetchurl { url = http://business.toshiba.com/downloads/KB/f1Ulds/15178/TOSHIBA_ColorMFP_CUPS.tar; sha256 = "0qz4r7q55i0adf4fv3aqnfqgi2pz3jb1jixkqm9x6nk4vanyjf4r"; }; })) ]; networking.domain = "satoshipay.io"; networking.extraHosts = '' 127.0.0.1 blogger.local wallet.satoshipay.local api.satoshipay.local ws.satoshipay.local ''; }