1{ config, lib, pkgs, ... }:
2
3with lib;
4let cfg = config.services.espanso;
5in {
6 meta = { maintainers = with lib.maintainers; [ numkem ]; };
7
8 options = {
9 services.espanso = {
10 enable = mkEnableOption "Espanso";
11 package = mkPackageOption pkgs "espanso" {
12 example = "pkgs.espanso-wayland";
13 };
14 };
15 };
16
17 config = mkIf cfg.enable {
18 services.espanso.package = mkIf cfg.wayland pkgs.espanso-wayland;
19 systemd.user.services.espanso = {
20 description = "Espanso daemon";
21 serviceConfig = {
22 ExecStart = "${lib.getExe cfg.package} daemon";
23 Restart = "on-failure";
24 };
25 wantedBy = [ "default.target" ];
26 };
27
28 environment.systemPackages = [ cfg.package ];
29 };
30}