chat: autostart programs using sway settings

This commit is contained in:
Leonardo Eugênio 2023-06-02 23:11:11 -03:00
parent 77cb5087ac
commit 2649edfb47
3 changed files with 11 additions and 86 deletions

View file

@ -1,71 +1,11 @@
{ 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";
TimeoutStopSec = 10;
};
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" ]; };
};
element = {
Unit = {
Description = "Feature-rich client for Matrix.org";
PartOf = [ "graphical-session.target" ];
After = [ "graphical-session.target" "pipewire-pulse.service" "tray.service" ];
};
Service = {
ExecStartPre = "/usr/bin/env sleep 11s";
ExecStart = "${pkgs.element-desktop-wayland}/bin/element-desktop";
Restart = "on-failure";
};
Install = { WantedBy = [ "sway-session.target" ]; };
};
wayland.windowManager.sway = {
extraConfig = ''
exec thunderbird
exec webcord
exec telegram-desktop
exec element-desktop
'';
};
home.packages = with pkgs; [