nixpkgs/nixos/modules/services/desktops/gnome/at-spi2-core.nix
Kira Bruneau 9dec7a00ad nixos/gnome/at-spi2-core: fix disabling a11y in all contexts
`environment.variables` gets sourced by shells & the x11 wrapper
through bash's `/etc/profile`, but not by systemd services, dbus
services, wayland sessions...

`environment.sessionVariables` sets these variables with PAM early in
the login process so it gets applied in all contexts.

I ran into a similar issue before in #109060.
2023-11-06 12:40:38 -05:00

61 lines
1.2 KiB
Nix

# at-spi2-core daemon.
{ config, lib, pkgs, ... }:
with lib;
{
meta = {
maintainers = teams.gnome.members;
};
###### interface
# Added 2021-05-07
imports = [
(mkRenamedOptionModule
[ "services" "gnome3" "at-spi2-core" "enable" ]
[ "services" "gnome" "at-spi2-core" "enable" ]
)
];
options = {
services.gnome.at-spi2-core = {
enable = mkOption {
type = types.bool;
default = false;
description = lib.mdDoc ''
Whether to enable at-spi2-core, a service for the Assistive Technologies
available on the GNOME platform.
Enable this if you get the error or warning
`The name org.a11y.Bus was not provided by any .service files`.
'';
};
};
};
###### implementation
config = mkMerge [
(mkIf config.services.gnome.at-spi2-core.enable {
environment.systemPackages = [ pkgs.at-spi2-core ];
services.dbus.packages = [ pkgs.at-spi2-core ];
systemd.packages = [ pkgs.at-spi2-core ];
})
(mkIf (!config.services.gnome.at-spi2-core.enable) {
environment.sessionVariables = {
NO_AT_BRIDGE = "1";
GTK_A11Y = "none";
};
})
];
}