Simplify and tidy up golem-provider module
This commit is contained in:
@@ -1,34 +0,0 @@
|
|||||||
{ config, pkgs, ... }:
|
|
||||||
let
|
|
||||||
cfg = config.clan.golem-provider;
|
|
||||||
yagna = pkgs.callPackage ../../pkgs/yagna { };
|
|
||||||
accountFlag = if cfg.account != null then "--account ${cfg.account}" else "";
|
|
||||||
in
|
|
||||||
{
|
|
||||||
imports = [ ./interface.nix ];
|
|
||||||
|
|
||||||
users.users.golem = {
|
|
||||||
isSystemUser = true;
|
|
||||||
home = "/var/lib/golem";
|
|
||||||
group = "golem";
|
|
||||||
createHome = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
users.groups.golem = { };
|
|
||||||
|
|
||||||
environment.systemPackages = [ yagna ];
|
|
||||||
|
|
||||||
systemd.services.golem-provider = {
|
|
||||||
description = "Golem Provider";
|
|
||||||
wantedBy = [ "multi-user.target" ];
|
|
||||||
after = [ "network-online.target" ];
|
|
||||||
serviceConfig = {
|
|
||||||
Type = "simple";
|
|
||||||
ExecStart = "${yagna}/bin/golemsp run --no-interactive ${accountFlag}";
|
|
||||||
Restart = "always";
|
|
||||||
RestartSec = "5";
|
|
||||||
User = "golem";
|
|
||||||
Group = "golem";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
{ lib, ... }:
|
|
||||||
let
|
|
||||||
inherit (lib) mkOption;
|
|
||||||
|
|
||||||
inherit (lib.types) nullOr str;
|
|
||||||
|
|
||||||
in
|
|
||||||
{
|
|
||||||
options.clan.golem-provider = {
|
|
||||||
account = mkOption {
|
|
||||||
type = nullOr str;
|
|
||||||
description = ''
|
|
||||||
Ethereum address for payouts.
|
|
||||||
|
|
||||||
Leave empty to automatically generate a new address upon first start.
|
|
||||||
'';
|
|
||||||
default = null;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
53
clanModules/golem-provider/roles/default.nix
Normal file
53
clanModules/golem-provider/roles/default.nix
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
cfg = config.clan.golem-provider;
|
||||||
|
yagna = pkgs.callPackage ../../pkgs/yagna { };
|
||||||
|
accountFlag = if cfg.account != null then "--account ${cfg.account}" else "";
|
||||||
|
in
|
||||||
|
{
|
||||||
|
|
||||||
|
options.clan.golem-provider = {
|
||||||
|
|
||||||
|
account = lib.mkOption {
|
||||||
|
type = with lib.types; nullOr str;
|
||||||
|
description = ''
|
||||||
|
Ethereum address for payouts.
|
||||||
|
|
||||||
|
Leave empty to automatically generate a new address upon first start.
|
||||||
|
'';
|
||||||
|
default = null;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = {
|
||||||
|
users.users.golem = {
|
||||||
|
isSystemUser = true;
|
||||||
|
home = "/var/lib/golem";
|
||||||
|
group = "golem";
|
||||||
|
createHome = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
users.groups.golem = { };
|
||||||
|
|
||||||
|
environment.systemPackages = [ yagna ];
|
||||||
|
|
||||||
|
systemd.services.golem-provider = {
|
||||||
|
description = "Golem Provider";
|
||||||
|
wantedBy = [ "multi-user.target" ];
|
||||||
|
after = [ "network-online.target" ];
|
||||||
|
serviceConfig = {
|
||||||
|
Type = "simple";
|
||||||
|
ExecStart = "${yagna}/bin/golemsp run --no-interactive ${accountFlag}";
|
||||||
|
Restart = "always";
|
||||||
|
RestartSec = "5";
|
||||||
|
User = "golem";
|
||||||
|
Group = "golem";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
{ ... }:
|
|
||||||
{
|
|
||||||
imports = [ ../. ];
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user