{ pkgs, config, ... }: let maxPower = 90; pool = "eu1.ethermine.org"; toolkit = "opencl"; wallet = ""; rig = config.networking.hostName; recheckInterval = 2000; package = pkgs.ethminer; in { systemd.services.ethminer = { description = "ethminer ethereum mining service"; wantedBy = [ "multi-user.target" ]; after = [ "network.target" ]; serviceConfig = { DynamicUser = true; ExecStartPre = "${package}/bin/.ethminer-wrapped --list-devices"; Restart = "always"; }; script = '' ${package}/bin/.ethminer-wrapped \ --farm-recheck ${toString recheckInterval} \ --report-hashrate \ --${toolkit} \ --pool stratum1+tcp://${wallet}.${rig}@${pool}:4444 ''; }; # https://wiki.archlinux.org/title/GPGPU#Intel hardware.opengl = { enable = true; extraPackages = with pkgs; [ intel-ocl intel-compute-runtime beignet ]; driSupport = true; driSupport32Bit = true; }; environment.systemPackages = with pkgs; [ package # go-ethereum go-ethereum # to check opencl config clinfo # check temperature i7z ]; }