nix: implement new dbus options in nixos module
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
This commit is contained in:
parent
cdc08817a7
commit
0e5b85fd42
39
nixos.nix
39
nixos.nix
|
@ -63,6 +63,35 @@ in
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
dbus = {
|
||||||
|
config = mkOption {
|
||||||
|
type = nullOr anything;
|
||||||
|
default = null;
|
||||||
|
description = ''
|
||||||
|
D-Bus custom configuration.
|
||||||
|
Setting this to null will enable built-in defaults.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
id = mkOption {
|
||||||
|
type = nullOr str;
|
||||||
|
default = null;
|
||||||
|
description = ''
|
||||||
|
D-Bus application id.
|
||||||
|
Setting this to null will disable own path in defaults.
|
||||||
|
Has no effect if custom configuration is set.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
mpris = mkOption {
|
||||||
|
type = bool;
|
||||||
|
default = false;
|
||||||
|
description = ''
|
||||||
|
Whether to enable MPRIS in D-Bus defaults.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
capability = {
|
capability = {
|
||||||
wayland = mkOption {
|
wayland = mkOption {
|
||||||
type = bool;
|
type = bool;
|
||||||
|
@ -82,7 +111,7 @@ in
|
||||||
|
|
||||||
dbus = mkOption {
|
dbus = mkOption {
|
||||||
type = bool;
|
type = bool;
|
||||||
default = false;
|
default = true;
|
||||||
description = ''
|
description = ''
|
||||||
Whether to proxy D-Bus.
|
Whether to proxy D-Bus.
|
||||||
'';
|
'';
|
||||||
|
@ -193,11 +222,19 @@ in
|
||||||
with launcher.capability;
|
with launcher.capability;
|
||||||
let
|
let
|
||||||
command = if launcher.command == null then name else launcher.command;
|
command = if launcher.command == null then name else launcher.command;
|
||||||
|
dbusConfig =
|
||||||
|
if launcher.dbus.config != null then
|
||||||
|
pkgs.writeText "${name}-dbus.json" (builtins.toJSON launcher.dbus.config)
|
||||||
|
else
|
||||||
|
null;
|
||||||
capArgs =
|
capArgs =
|
||||||
(if wayland then " -wayland" else "")
|
(if wayland then " -wayland" else "")
|
||||||
+ (if x11 then " -X" else "")
|
+ (if x11 then " -X" else "")
|
||||||
+ (if dbus then " -dbus" else "")
|
+ (if dbus then " -dbus" else "")
|
||||||
+ (if pulse then " -pulse" else "")
|
+ (if pulse then " -pulse" else "")
|
||||||
|
+ (if launcher.dbus.mpris then " -mpris" else "")
|
||||||
|
+ (if launcher.dbus.id != null then " -dbus-id ${dbus.id}" else "")
|
||||||
|
+ (if dbusConfig != null then " -dbus-config ${dbusConfig}" else "")
|
||||||
+ (if launcher.method == "fortify-sudo" then " -sudo" else "");
|
+ (if launcher.method == "fortify-sudo" then " -sudo" else "");
|
||||||
in
|
in
|
||||||
pkgs.writeShellScriptBin name (
|
pkgs.writeShellScriptBin name (
|
||||||
|
|
Loading…
Reference in New Issue