52 lines
1.1 KiB
Nix
52 lines
1.1 KiB
Nix
{ 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
|
|
];
|
|
|
|
}
|