{ config, lib, pkgs, ... }: { config = { environment.systemPackages = [ pkgs.docker pkgs.docker-compose ]; # Create docker group users.groups.docker = {}; # Simple Docker systemd service systemd.services.docker = { enable = true; description = "Docker Application Container Engine"; after = [ "network-online.target" ]; wants = [ "network-online.target" ]; serviceConfig = { Type = "notify"; ExecStart = "${pkgs.docker}/bin/dockerd"; ExecReload = "${pkgs.coreutils}/bin/kill -s HUP $MAINPID"; TimeoutStartSec = 0; RestartSec = 2; Restart = "always"; StartLimitBurst = 3; StartLimitInterval = 60; LimitNOFILE = 1048576; LimitNPROC = 1048576; LimitCORE = "infinity"; TasksMax = "infinity"; Delegate = "yes"; KillMode = "process"; OOMScoreAdjust = -500; }; wantedBy = [ "multi-user.target" ]; }; }; }