From 6151eee8d599c730489f03d3d42364455e8ca137 Mon Sep 17 00:00:00 2001 From: Colin Date: Fri, 2 Feb 2024 14:21:57 +0000 Subject: [PATCH] programs (assorted): fix wantedBy = "default.target" to be more specific now GUI apps aren't stuck in a restart loop until sway starts in particular, signal-desktop can actually be autostarted --- hosts/common/programs/abaddon.nix | 2 +- hosts/common/programs/calls.nix | 2 +- hosts/common/programs/conky/default.nix | 8 +------- hosts/common/programs/dino.nix | 2 +- hosts/common/programs/feedbackd.nix | 2 +- hosts/common/programs/fractal.nix | 2 +- hosts/common/programs/geary.nix | 2 +- hosts/common/programs/gtkcord4.nix | 2 +- hosts/common/programs/mako.nix | 2 +- hosts/common/programs/playerctl.nix | 2 +- hosts/common/programs/signal-desktop.nix | 2 +- hosts/common/programs/sway-autoscaler/default.nix | 2 +- hosts/common/programs/swaynotificationcenter.nix | 2 +- hosts/common/programs/wob.nix | 2 +- 14 files changed, 14 insertions(+), 20 deletions(-) diff --git a/hosts/common/programs/abaddon.nix b/hosts/common/programs/abaddon.nix index 48d76311..27c5214f 100644 --- a/hosts/common/programs/abaddon.nix +++ b/hosts/common/programs/abaddon.nix @@ -87,7 +87,7 @@ in services.abaddon = { description = "unofficial Discord chat client"; - wantedBy = lib.mkIf cfg.config.autostart [ "default.target" ]; + wantedBy = lib.mkIf cfg.config.autostart [ "graphical-session.target" ]; serviceConfig = { ExecStart = "${cfg.package}/bin/abaddon"; Type = "simple"; diff --git a/hosts/common/programs/calls.nix b/hosts/common/programs/calls.nix index 4bb99972..cc1efaf1 100644 --- a/hosts/common/programs/calls.nix +++ b/hosts/common/programs/calls.nix @@ -44,7 +44,7 @@ in services.gnome-calls = { # TODO: prevent gnome-calls from daemonizing when started manually description = "gnome-calls daemon to monitor incoming SIP calls"; - wantedBy = lib.mkIf cfg.config.autostart [ "default.target" ]; + wantedBy = lib.mkIf cfg.config.autostart [ "graphical-session.target" ]; serviceConfig = { # add --verbose for more debugging ExecStart = "${cfg.package}/bin/gnome-calls --daemon"; diff --git a/hosts/common/programs/conky/default.nix b/hosts/common/programs/conky/default.nix index 947da7d0..e8bbed12 100644 --- a/hosts/common/programs/conky/default.nix +++ b/hosts/common/programs/conky/default.nix @@ -23,10 +23,7 @@ services.conky = { description = "conky dynamic desktop background"; - wantedBy = [ "default.target" ]; - # XXX: should be part of graphical-session.target, but whatever mix of greetd/sway - # i'm using means that target's never reached... - # wantedBy = [ "graphical-session.target" ]; + wantedBy = [ "graphical-session.target" ]; # partOf = [ "graphical-session.target" ]; serviceConfig.ExecStart = "${config.sane.programs.conky.package}/bin/conky"; @@ -34,9 +31,6 @@ serviceConfig.Restart = "on-failure"; serviceConfig.RestartSec = "10s"; # serviceConfig.Slice = "session.slice"; - - # don't start conky until after sway - preStart = ''test -n "$SWAYSOCK"''; }; }; } diff --git a/hosts/common/programs/dino.nix b/hosts/common/programs/dino.nix index ed3e4655..ffcaacc8 100644 --- a/hosts/common/programs/dino.nix +++ b/hosts/common/programs/dino.nix @@ -52,7 +52,7 @@ in services.dino = { description = "dino XMPP client"; - wantedBy = lib.mkIf cfg.config.autostart [ "default.target" ]; + wantedBy = lib.mkIf cfg.config.autostart [ "graphical-session.target" ]; serviceConfig = { ExecStart = "${cfg.package}/bin/dino"; Type = "simple"; diff --git a/hosts/common/programs/feedbackd.nix b/hosts/common/programs/feedbackd.nix index 2a044a11..7c28ad8a 100644 --- a/hosts/common/programs/feedbackd.nix +++ b/hosts/common/programs/feedbackd.nix @@ -92,7 +92,7 @@ in services.feedbackd = { description = "feedbackd audio/vibration/led controller"; - wantedBy = [ "default.target" ]; + wantedBy = [ "default.target" ]; #< should technically be `sound.target`, but that doesn't seem to get auto-started? serviceConfig = { ExecStart = "${cfg.package}/libexec/feedbackd"; Type = "simple"; diff --git a/hosts/common/programs/fractal.nix b/hosts/common/programs/fractal.nix index 38ea8022..f26e2658 100644 --- a/hosts/common/programs/fractal.nix +++ b/hosts/common/programs/fractal.nix @@ -51,7 +51,7 @@ in services.fractal = { description = "auto-start and maintain fractal Matrix connection"; - wantedBy = lib.mkIf cfg.config.autostart [ "default.target" ]; + wantedBy = lib.mkIf cfg.config.autostart [ "graphical-session.target" ]; serviceConfig = { ExecStart = "${cfg.package}/bin/fractal"; Type = "simple"; diff --git a/hosts/common/programs/geary.nix b/hosts/common/programs/geary.nix index f9a30f70..e3d7c90a 100644 --- a/hosts/common/programs/geary.nix +++ b/hosts/common/programs/geary.nix @@ -85,7 +85,7 @@ in services.geary = { description = "Geary email client"; - wantedBy = lib.mkIf cfg.config.autostart [ "default.target" ]; + wantedBy = lib.mkIf cfg.config.autostart [ "graphical-session.target" ]; serviceConfig = { ExecStart = "${cfg.package}/bin/geary"; Type = "simple"; diff --git a/hosts/common/programs/gtkcord4.nix b/hosts/common/programs/gtkcord4.nix index 1f511472..c948267c 100644 --- a/hosts/common/programs/gtkcord4.nix +++ b/hosts/common/programs/gtkcord4.nix @@ -41,7 +41,7 @@ in services.gtkcord4 = { description = "unofficial Discord chat client"; - wantedBy = lib.mkIf cfg.config.autostart [ "default.target" ]; + wantedBy = lib.mkIf cfg.config.autostart [ "graphical-session.target" ]; serviceConfig = { ExecStart = "${cfg.package}/bin/gtkcord4"; Type = "simple"; diff --git a/hosts/common/programs/mako.nix b/hosts/common/programs/mako.nix index 2c04c4a6..327999fb 100644 --- a/hosts/common/programs/mako.nix +++ b/hosts/common/programs/mako.nix @@ -53,7 +53,7 @@ # on environment.packages, but then logs are blackholed. services.mako = { description = "mako desktop notification daemon"; - wantedBy = [ "default.target" ]; + wantedBy = [ "graphical-session.target" ]; # XXX: should be part of graphical-session.target, but whatever mix of greetd/sway # i'm using means that target's never reached... diff --git a/hosts/common/programs/playerctl.nix b/hosts/common/programs/playerctl.nix index 0e22f7e8..42166f1d 100644 --- a/hosts/common/programs/playerctl.nix +++ b/hosts/common/programs/playerctl.nix @@ -5,7 +5,7 @@ services.playerctld = { description = "playerctl daemon to keep track of which MPRIS players were recently active"; documentation = [ "https://github.com/altdesktop/playerctl/issues/161" ]; - wantedBy = [ "default.target" ]; + wantedBy = [ "default.target" ]; #< TODO: maybe better to zero `wantedBy` here and have the specific consumers (e.g. swaync) explicitly depend on this. serviceConfig.ExecStart = "${config.sane.programs.playerctl.package}/bin/playerctld"; # serviceConfig.Type = "dbus"; # serviceConfig.BusName = "org.mpris.MediaPlayer2.Player"; diff --git a/hosts/common/programs/signal-desktop.nix b/hosts/common/programs/signal-desktop.nix index 25fad28f..5abffc47 100644 --- a/hosts/common/programs/signal-desktop.nix +++ b/hosts/common/programs/signal-desktop.nix @@ -32,7 +32,7 @@ in services.signal-desktop = { description = "Signal Messenger"; - wantedBy = lib.mkIf cfg.config.autostart [ "default.target" ]; + wantedBy = lib.mkIf cfg.config.autostart [ "graphical-session.target" ]; serviceConfig = { ExecStart = "${cfg.package}/bin/signal-desktop"; Type = "simple"; diff --git a/hosts/common/programs/sway-autoscaler/default.nix b/hosts/common/programs/sway-autoscaler/default.nix index 763f0f8a..97824327 100644 --- a/hosts/common/programs/sway-autoscaler/default.nix +++ b/hosts/common/programs/sway-autoscaler/default.nix @@ -31,7 +31,7 @@ in services.sway-autoscaler = { description = "adjust global desktop scale to match the activate application"; - wantedBy = lib.mkIf cfg.config.autostart [ "default.target" ]; + wantedBy = lib.mkIf cfg.config.autostart [ "graphical-session.target" ]; serviceConfig = { ExecStart = "${cfg.package}/bin/sway-autoscaler --loop-sec ${builtins.toString cfg.config.interval}"; Type = "simple"; diff --git a/hosts/common/programs/swaynotificationcenter.nix b/hosts/common/programs/swaynotificationcenter.nix index 7c371c3c..e9d8622b 100644 --- a/hosts/common/programs/swaynotificationcenter.nix +++ b/hosts/common/programs/swaynotificationcenter.nix @@ -461,7 +461,7 @@ in # swaync ships its own service, but i want to add `environment` variables and flags for easier debugging. # seems that's not possible without defining an entire nix-native service (i.e. this). description = "Swaync desktop notification daemon"; - wantedBy = [ "default.target" ]; + wantedBy = [ "graphical-session.target" ]; serviceConfig.ExecStart = "${cfg.package}/bin/swaync"; serviceConfig.Type = "simple"; # serviceConfig.BusName = "org.freedesktop.Notifications"; diff --git a/hosts/common/programs/wob.nix b/hosts/common/programs/wob.nix index f7f17c35..89da1cdf 100644 --- a/hosts/common/programs/wob.nix +++ b/hosts/common/programs/wob.nix @@ -55,7 +55,7 @@ in services.wob = { description = "Wayland Overlay Bar (renders volume/backlight levels)"; - wantedBy = lib.mkIf cfg.config.autostart [ "default.target" ]; + wantedBy = lib.mkIf cfg.config.autostart [ "graphical-session.target" ]; serviceConfig = { # ExecStart = "${cfg.package}/bin/wob"; Type = "simple";