abaddon: integrate with swaync services buttons
This commit is contained in:
parent
70292e4f8e
commit
6a950b4e97
|
@ -1,7 +1,20 @@
|
||||||
# discord gtk3 client
|
# discord gtk3 client
|
||||||
{ lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
|
let
|
||||||
|
cfg = config.sane.programs.abaddon;
|
||||||
|
in
|
||||||
{
|
{
|
||||||
sane.programs.abaddon = {
|
sane.programs.abaddon = {
|
||||||
|
configOption = with lib; mkOption {
|
||||||
|
default = {};
|
||||||
|
type = types.submodule {
|
||||||
|
options.autostart = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
package = pkgs.abaddon.overrideAttrs (upstream: {
|
package = pkgs.abaddon.overrideAttrs (upstream: {
|
||||||
patches = (upstream.patches or []) ++ [
|
patches = (upstream.patches or []) ++ [
|
||||||
(pkgs.fetchpatch {
|
(pkgs.fetchpatch {
|
||||||
|
@ -9,6 +22,14 @@
|
||||||
name = ''"view members" default to false'';
|
name = ''"view members" default to false'';
|
||||||
hash = "sha256-9BX8iO86CU1lNrKS1G2BjDR+3IlV9bmhRNTsLrxChwQ=";
|
hash = "sha256-9BX8iO86CU1lNrKS1G2BjDR+3IlV9bmhRNTsLrxChwQ=";
|
||||||
})
|
})
|
||||||
|
(pkgs.fetchpatch {
|
||||||
|
# this makes it so Abaddon reports its app_name in notifications.
|
||||||
|
# not 100% necessary; just a nice-to-have. maybe don't rely on it until it's merged upstream.
|
||||||
|
# upstream PR: <https://github.com/uowuo/abaddon/pull/247>
|
||||||
|
url = "https://git.uninsane.org/colin/abaddon/commit/18cd863fdbb5e6b1e9aaf9394dbd673d51839f30.patch";
|
||||||
|
name = "set glib application name";
|
||||||
|
hash = "sha256-IFYxf1D8hIsxgZehGd6hL3zJiBkPZfWGm+Faaa5ZFl4=";
|
||||||
|
})
|
||||||
];
|
];
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -69,5 +90,16 @@
|
||||||
persist.byStore.private = [
|
persist.byStore.private = [
|
||||||
".cache/abaddon"
|
".cache/abaddon"
|
||||||
];
|
];
|
||||||
|
|
||||||
|
services.abaddon = {
|
||||||
|
description = "unofficial Discord chat client";
|
||||||
|
wantedBy = lib.mkIf cfg.config.autostart [ "default.target" ];
|
||||||
|
serviceConfig = {
|
||||||
|
ExecStart = "${cfg.package}/bin/abaddon";
|
||||||
|
Type = "simple";
|
||||||
|
Restart = "always";
|
||||||
|
RestartSec = "20s";
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -367,13 +367,21 @@ in
|
||||||
command = "${systemctl-toggle}/bin/systemctl-toggle --user geary";
|
command = "${systemctl-toggle}/bin/systemctl-toggle --user geary";
|
||||||
active = "${pkgs.systemd}/bin/systemctl is-active --user geary";
|
active = "${pkgs.systemd}/bin/systemctl is-active --user geary";
|
||||||
}
|
}
|
||||||
] ++ lib.optionals config.sane.programs.gtkcord4.enabled [
|
] ++ lib.optionals config.sane.programs.abaddon.enabled [
|
||||||
{
|
{
|
||||||
type = "toggle";
|
type = "toggle";
|
||||||
label = ""; # Discord chat client; icons: , 🎮
|
label = ""; # Discord chat client; icons: , 🎮
|
||||||
command = "${systemctl-toggle}/bin/systemctl-toggle --user gtkcord4";
|
command = "${systemctl-toggle}/bin/systemctl-toggle --user abaddon";
|
||||||
active = "${pkgs.systemd}/bin/systemctl is-active --user gtkcord4";
|
active = "${pkgs.systemd}/bin/systemctl is-active --user abaddon";
|
||||||
}
|
}
|
||||||
|
# ] ++ lib.optionals config.sane.programs.gtkcord4.enabled [
|
||||||
|
# # XXX: disabled in favor of abaddon: gtkcord4 leaks memory
|
||||||
|
# {
|
||||||
|
# type = "toggle";
|
||||||
|
# label = ""; # Discord chat client; icons: , 🎮
|
||||||
|
# command = "${systemctl-toggle}/bin/systemctl-toggle --user gtkcord4";
|
||||||
|
# active = "${pkgs.systemd}/bin/systemctl is-active --user gtkcord4";
|
||||||
|
# }
|
||||||
] ++ lib.optionals config.sane.programs.signal-desktop.enabled [
|
] ++ lib.optionals config.sane.programs.signal-desktop.enabled [
|
||||||
{
|
{
|
||||||
type = "toggle";
|
type = "toggle";
|
||||||
|
|
Loading…
Reference in New Issue
Block a user