1{ config, lib, pkgs, ... }:
2
3# maintainer: siddharthist
4
5with lib;
6
7let
8 cfg = config.services.urxvtd;
9in {
10 options.services.urxvtd = {
11 enable = mkOption {
12 type = types.bool;
13 default = false;
14 description = ''
15 Enable urxvtd, the urxvt terminal daemon. To use urxvtd, run
16 "urxvtc".
17 '';
18 };
19
20 package = mkPackageOption pkgs "rxvt-unicode" { };
21 };
22
23 config = mkIf cfg.enable {
24 systemd.user.services.urxvtd = {
25 description = "urxvt terminal daemon";
26 wantedBy = [ "graphical-session.target" ];
27 partOf = [ "graphical-session.target" ];
28 path = [ pkgs.xsel ];
29 serviceConfig = {
30 ExecStart = "${cfg.package}/bin/urxvtd -o";
31 Environment = "RXVT_SOCKET=%t/urxvtd-socket";
32 Restart = "on-failure";
33 RestartSec = "5s";
34 };
35 };
36
37 environment.systemPackages = [ cfg.package ];
38 environment.variables.RXVT_SOCKET = "/run/user/$(id -u)/urxvtd-socket";
39 };
40
41 meta.maintainers = with lib.maintainers; [ rnhmjoj ];
42
43}