ergo: kill dead code and stuff

This commit is contained in:
tv 2021-12-28 23:53:27 +01:00
parent a59ed5197f
commit 69d266b76b

View File

@ -1,24 +1,8 @@
{ config, lib, options, pkgs, ... }: { config, lib, options, pkgs, ... }: {
let
inherit (lib) mkEnableOption mkIf mkOption types;
inherit (pkgs) coreutils ergo;
cfg = config.krebs.ergo;
configFile = pkgs.writeText "ergo.conf" (builtins.toJSON cfg.config);
in
{
###### interface
options = { options = {
krebs.ergo = { krebs.ergo = {
enable = lib.mkEnableOption "Ergo IRC daemon";
enable = mkEnableOption "Ergo IRC daemon"; config = lib.mkOption {
config = mkOption {
type = (pkgs.formats.json {}).type; type = (pkgs.formats.json {}).type;
description = '' description = ''
Ergo IRC daemon configuration file. Ergo IRC daemon configuration file.
@ -74,28 +58,22 @@ in
}; };
}; };
}; };
}; };
}; };
config = let
cfg = config.krebs.ergo;
###### implementation configFile = pkgs.writeJSON "ergo.conf" cfg.config;
in lib.mkIf cfg.enable ({
config = mkIf cfg.enable ({
krebs.ergo.config = krebs.ergo.config =
lib.mapAttrsRecursive (_: lib.mkDefault) options.krebs.ergo.config.default; lib.mapAttrsRecursive (_: lib.mkDefault) options.krebs.ergo.config.default;
systemd.services.ergo = { systemd.services.ergo = {
description = "Ergo IRC daemon"; description = "Ergo IRC daemon";
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
serviceConfig = { serviceConfig = {
ExecStart = "${ergo}/bin/ergo run --conf ${configFile}"; ExecStart = "${pkgs.ergo}/bin/ergo run --conf ${configFile}";
DynamicUser = true; DynamicUser = true;
StateDirectory = "ergo"; StateDirectory = "ergo";
}; };
}; };
}); });
} }