diff --git a/clanModules/golem-provider/default.nix b/clanModules/golem-provider/default.nix deleted file mode 100644 index 6a3325db9..000000000 --- a/clanModules/golem-provider/default.nix +++ /dev/null @@ -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"; - }; - }; -} diff --git a/clanModules/golem-provider/interface.nix b/clanModules/golem-provider/interface.nix deleted file mode 100644 index 98ae7ccf3..000000000 --- a/clanModules/golem-provider/interface.nix +++ /dev/null @@ -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; - }; - }; -} diff --git a/clanModules/golem-provider/roles/default.nix b/clanModules/golem-provider/roles/default.nix new file mode 100644 index 000000000..21789289c --- /dev/null +++ b/clanModules/golem-provider/roles/default.nix @@ -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"; + }; + }; + }; +} diff --git a/clanModules/golem-provider/test/vm.nix b/clanModules/golem-provider/test/vm.nix deleted file mode 100644 index 006e5a042..000000000 --- a/clanModules/golem-provider/test/vm.nix +++ /dev/null @@ -1,4 +0,0 @@ -{ ... }: -{ - imports = [ ../. ]; -}