47 lines
1.3 KiB
Nix
47 lines
1.3 KiB
Nix
{ pkgs, ... }:
|
|
|
|
{
|
|
# Emacs daemon
|
|
systemd.user.services.emacs = {
|
|
description = "Emacs text editor";
|
|
wantedBy = [ "graphical-session.target" ];
|
|
wants = [ "graphical-session.target" ];
|
|
after = [ "graphical-session.target" ];
|
|
serviceConfig = {
|
|
Type = "notify";
|
|
ExecStart = "${pkgs.emacs-gtk}/bin/emacs --fg-daemon";
|
|
ExecStop = "${pkgs.emacs-gtk}/bin/emacsclient --eval '(kill-emacs)'";
|
|
TimeoutStartSec = "10min";
|
|
Restart = "on-failure";
|
|
};
|
|
};
|
|
|
|
# Bluetooth media key proxy
|
|
systemd.user.services.mpris-proxy = {
|
|
description = "MPRIS proxy for Bluetooth media controls";
|
|
wantedBy = [ "bluetooth.target" ];
|
|
after = [ "bluetooth.target" ];
|
|
serviceConfig = {
|
|
Type = "simple";
|
|
ExecStart = "${pkgs.bluez}/bin/mpris-proxy";
|
|
Restart = "on-failure";
|
|
};
|
|
};
|
|
|
|
# Nextcloud desktop client
|
|
systemd.user.services.nextcloud-client = {
|
|
description = "Nextcloud desktop sync client";
|
|
wantedBy = [ "graphical-session.target" ];
|
|
after = [ "graphical-session.target" "network-online.target" ];
|
|
wants = [ "network-online.target" ];
|
|
serviceConfig = {
|
|
Type = "simple";
|
|
ExecStart = "${pkgs.nextcloud-client}/bin/nextcloud --background";
|
|
Restart = "on-failure";
|
|
RestartSec = "5s";
|
|
};
|
|
};
|
|
|
|
# gnome-keyring and gpg-agent are handled at system level
|
|
}
|