diff options
| author | Ophestra Umiker <cat@ophivana.moe> | 2024-09-09 04:37:42 +0900 |
|---|---|---|
| committer | Ophestra Umiker <cat@ophivana.moe> | 2024-09-09 04:58:25 +0900 |
| commit | 0e5b85fd423fef438bbdfe43bd5183c70d9132c2 (patch) | |
| tree | 6dbce873af4f4af524b860eb87211edb79ff1e5e /nixos.nix | |
| parent | cdc08817a7ec0d9cbe0b473708064d7a48120dbb (diff) | |
nix: implement new dbus options in nixos module
Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
Diffstat (limited to 'nixos.nix')
| -rw-r--r-- | nixos.nix | 39 |
1 files changed, 38 insertions, 1 deletions
@@ -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 = { wayland = mkOption { type = bool; @@ -82,7 +111,7 @@ in dbus = mkOption { type = bool; - default = false; + default = true; description = '' Whether to proxy D-Bus. ''; @@ -193,11 +222,19 @@ in with launcher.capability; let 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 = (if wayland then " -wayland" else "") + (if x11 then " -X" else "") + (if dbus then " -dbus" 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 ""); in pkgs.writeShellScriptBin name ( |
