diff --git a/hosts/Infini-DESKTOP/default.nix b/hosts/Infini-DESKTOP/default.nix index cc6184e..31a6769 100644 --- a/hosts/Infini-DESKTOP/default.nix +++ b/hosts/Infini-DESKTOP/default.nix @@ -10,10 +10,6 @@ btrfs virtualization - - (with services; [ - foldingathome - ]) ]) ./hardware-configuration.nix @@ -28,6 +24,16 @@ wireless.enable = true; form.desktop = true; }; + services = { + foldingathome = { + enable = true; + user = "Infinidoge"; + extra = { + control = true; + viewer = true; + }; + }; + }; }; networking.interfaces = { diff --git a/modules/modules/services/foldingathome.nix b/modules/modules/services/foldingathome.nix new file mode 100644 index 0000000..df3ffb7 --- /dev/null +++ b/modules/modules/services/foldingathome.nix @@ -0,0 +1,32 @@ +{ config, lib, ... }: +with lib; +with lib.hlissner; +let + cfg = config.modules.services.foldingathome; +in +{ + options.modules.services.foldingathome = with types; { + enable = mkBoolOpt false; + user = mkOpt str config.user.name; + daemonNiceLevel = mkOpt int 10; + extra = { + control = mkBoolOpt false; + viewer = mkBoolOpt false; + }; + }; + + config = mkMerge [ + (mkIf cfg.enable { + services.foldingathome = { + enable = true; + user = cfg.user; + daemonNiceLevel = cfg.daemonNiceLevel; + }; + + environment.systemPackages = with pkgs; [ + (optional cfg.extra.control fahcontrol) + (optional cfg.extra.viewer fahviewer) + ]; + }) + ]; +} diff --git a/profiles/services/foldingathome.nix b/profiles/services/foldingathome.nix deleted file mode 100644 index 5ac0ba7..0000000 --- a/profiles/services/foldingathome.nix +++ /dev/null @@ -1,12 +0,0 @@ -{ pkgs, ... }: { - services.foldingathome = { - enable = true; - user = "Infinidoge"; - daemonNiceLevel = 10; - }; - - environment.systemPackages = with pkgs; [ - fahcontrol - fahviewer - ]; -}