diff --git a/hosts/common/programs/calls.nix b/hosts/common/programs/calls.nix index 2c1fc6daf..a2a25cbe3 100644 --- a/hosts/common/programs/calls.nix +++ b/hosts/common/programs/calls.nix @@ -14,7 +14,7 @@ # - can i receive calls even with GUI closed? # - e.g. activated by callaudiod? # - looks like `gnome-calls --daemon` does that? -{ config, lib, ... }: +{ config, lib, pkgs, ... }: let cfg = config.sane.programs.calls; in @@ -30,6 +30,17 @@ in }; }; + packageUnwrapped = pkgs.calls.overrideAttrs (upstream: { + patches = (upstream.patches or []) ++ [ + (pkgs.fetchpatch { + # usability improvement... if the UI is visible, then i can receive calls. otherwise, i can't! + url = "https://git.uninsane.org/colin/gnome-calls/commit/a19166d85927e59662fae189a780eed18bf876ce.patch"; + name = "exit on close (i.e. never daemonize)"; + hash = "sha256-NoVQV2TlkCcsBt0uwSyK82hBKySUW4pADrJVfLFvWgU="; + }) + ]; + }); + persist.byStore.private = [ # ".cache/folks" # contact avatars? # ".config/calls" @@ -48,7 +59,10 @@ in description = "gnome-calls daemon to monitor incoming SIP calls"; partOf = lib.mkIf cfg.config.autostart [ "graphical-session" ]; # add --verbose for more debugging - command = "env G_MESSAGES_DEBUG=all gnome-calls --daemon"; + # add --daemon to avoid showing UI on launch. + # note that no matter the flags, it returns to being a daemon whenever the UI is manually closed, + # revealed when launched. + command = "env G_MESSAGES_DEBUG=all gnome-calls"; }; }; programs.calls = lib.mkIf cfg.enabled {