dotfiles/modules/services/mirador.nix

50 lines
1 KiB
Nix

{ config
, lib
, pkgs
, ...
}:
with lib;
let
cfg = config.my.services.mirador;
toml = pkgs.formats.toml { };
in
{
options.my.services.mirador = {
enable = mkEnableOption "mirador";
package = mkPackageOption pkgs "mirador" { };
settings = mkOption {
inherit (toml) type;
default = { };
apply = toml.generate "config.toml";
};
};
config = mkIf cfg.enable {
home-manager.users.moritz = {
xdg.configFile."mirador/config.toml".source = cfg.settings;
home.packages = [ cfg.package ];
systemd.user.services.mirador = {
Unit = {
Description = "CLI to watch mailbox changes";
};
Service = {
# Lower CPU and I/O priority
Nice = 19;
IOSchedulingClass = "best-effort";
IOSchedulingPriority = 7;
IOWeight = 100;
ExecStart = ''
${lib.getExe cfg.package} watch
'';
};
};
};
age.secrets.email = {
file = ../../secrets/email.age;
owner = "1000";
};
};
}