{ config, pkgs, lib, inputs, ... }: { systemd.user.services = { astroid = lib.mkIf (pkgs.uservars.email-client == "astroid") { Unit = { Description = "Astroid Email client"; PartOf = [ "graphical-session.target" ]; After = [ "graphical-session.target" ]; }; Service = { ExecStartPre = "/usr/bin/env sleep 10s"; ExecStart = "${pkgs.astroid}/bin/astroid"; Restart = "on-failure"; }; Install = { WantedBy = [ "sway-session.target" ]; }; }; thunderbird = lib.mkIf (pkgs.uservars.email-client == "thunderbird") { Unit = { Description = "Thunderbird Email client"; PartOf = [ "graphical-session.target" ]; After = [ "graphical-session.target" ]; }; Service = { ExecStartPre = "/usr/bin/env sleep 10s"; ExecStart = "${pkgs.thunderbird}/bin/thunderbird"; Restart = "on-failure"; }; Install = { WantedBy = [ "sway-session.target" ]; }; }; discord = { Unit = { Description = "Discord Internet voice chat"; PartOf = [ "graphical-session.target" ]; After = [ "graphical-session.target" "pipewire-pulse.service" "tray.service" "telegram.service" ]; }; Service = { ExecStartPre = "/usr/bin/env sleep 12s"; ExecStart = "${pkgs.webcord}/bin/webcord"; Restart = "on-failure"; }; Install = { WantedBy = [ "sway-session.target" ]; }; }; telegram = { Unit = { Description = "Telegram Internet chat"; PartOf = [ "graphical-session.target" ]; After = [ "graphical-session.target" "pipewire-pulse.service" "tray.service" ]; }; Service = { ExecStartPre = "/usr/bin/env sleep 11s"; ExecStart = "${pkgs.tdesktop}/bin/telegram-desktop"; Restart = "on-failure"; }; Install = { WantedBy = [ "sway-session.target" ]; }; }; }; home.packages = with pkgs; [ tdesktop webcord thunderbird ]; }