forked from mirrors/nixpkgs
Merge pull request #142891 from ratsclub/service-xmrig
nixos/xmrig: init
This commit is contained in:
commit
40e8ca29bb
|
@ -441,6 +441,14 @@
|
|||
<literal>code-server</literal>-module now available
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>
|
||||
<link xlink:href="https://github.com/xmrig/xmrig">xmrig</link>,
|
||||
a high performance, open source, cross platform RandomX,
|
||||
KawPow, CryptoNight and AstroBWT unified CPU/GPU miner and
|
||||
RandomX benchmark.
|
||||
</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</section>
|
||||
<section xml:id="sec-release-21.11-incompatibilities">
|
||||
|
|
|
@ -131,6 +131,8 @@ In addition to numerous new and upgraded packages, this release has the followin
|
|||
|
||||
- `code-server`-module now available
|
||||
|
||||
- [xmrig](https://github.com/xmrig/xmrig), a high performance, open source, cross platform RandomX, KawPow, CryptoNight and AstroBWT unified CPU/GPU miner and RandomX benchmark.
|
||||
|
||||
## Backward Incompatibilities {#sec-release-21.11-incompatibilities}
|
||||
|
||||
- The NixOS VM test framework, `pkgs.nixosTest`/`make-test-python.nix`, now requires detaching commands such as `succeed("foo &")` and `succeed("foo | xclip -i")` to close stdout.
|
||||
|
|
71
nixos/modules/services/misc/xmrig.nix
Normal file
71
nixos/modules/services/misc/xmrig.nix
Normal file
|
@ -0,0 +1,71 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
|
||||
|
||||
let
|
||||
cfg = config.services.xmrig;
|
||||
|
||||
json = pkgs.formats.json { };
|
||||
configFile = json.generate "config.json" cfg.settings;
|
||||
in
|
||||
|
||||
with lib;
|
||||
|
||||
{
|
||||
options = {
|
||||
services.xmrig = {
|
||||
enable = mkEnableOption "XMRig Mining Software";
|
||||
|
||||
package = mkOption {
|
||||
type = types.package;
|
||||
default = pkgs.xmrig;
|
||||
example = literalExpression "pkgs.xmrig-mo";
|
||||
description = "XMRig package to use.";
|
||||
};
|
||||
|
||||
settings = mkOption {
|
||||
default = { };
|
||||
type = json.type;
|
||||
example = literalExpression ''
|
||||
{
|
||||
autosave = true;
|
||||
cpu = true;
|
||||
opencl = false;
|
||||
cuda = false;
|
||||
pools = [
|
||||
{
|
||||
url = "pool.supportxmr.com:443";
|
||||
user = "your-wallet";
|
||||
keepalive = true;
|
||||
tls = true;
|
||||
}
|
||||
]
|
||||
}
|
||||
'';
|
||||
description = ''
|
||||
XMRig configuration. Refer to
|
||||
<link xlink:href="https://xmrig.com/docs/miner/config"/>
|
||||
for details on supported values.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
systemd.services.xmrig = {
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network.target" ];
|
||||
description = "XMRig Mining Software Service";
|
||||
serviceConfig = {
|
||||
ExecStartPre = "${cfg.package}/bin/xmrig --config=${configFile} --dry-run";
|
||||
ExecStart = "${cfg.package}/bin/xmrig --config=${configFile}";
|
||||
DynamicUser = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "XMRig Mining Software Service";
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = with maintainers; [ ratsclub ];
|
||||
};
|
||||
}
|
Loading…
Reference in a new issue