From 7a6edd644824502974467858f8c1300d2874ec10 Mon Sep 17 00:00:00 2001 From: rewine Date: Mon, 24 Apr 2023 14:49:22 +0800 Subject: [PATCH] nixos/deepin/dde-api: init --- nixos/modules/module-list.nix | 1 + .../services/desktops/deepin/dde-api.nix | 50 +++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 nixos/modules/services/desktops/deepin/dde-api.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 39bb7c532e9..313cc187d55 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -412,6 +412,7 @@ ./services/desktops/bamf.nix ./services/desktops/blueman.nix ./services/desktops/cpupower-gui.nix + ./services/desktops/deepin/dde-api.nix ./services/desktops/deepin/dde-daemon.nix ./services/desktops/dleyna-renderer.nix ./services/desktops/dleyna-server.nix diff --git a/nixos/modules/services/desktops/deepin/dde-api.nix b/nixos/modules/services/desktops/deepin/dde-api.nix new file mode 100644 index 00000000000..57b2290dfbc --- /dev/null +++ b/nixos/modules/services/desktops/deepin/dde-api.nix @@ -0,0 +1,50 @@ +{ config, pkgs, lib, ... }: + +with lib; + +{ + + meta = { + maintainers = teams.deepin.members; + }; + + ###### interface + + options = { + + services.deepin.dde-api = { + + enable = mkEnableOption (lib.mdDoc '' + Provides some dbus interfaces that is used for screen zone detecting, + thumbnail generating, and sound playing in Deepin Desktop Enviroment. + ''); + + }; + + }; + + + ###### implementation + + config = mkIf config.services.deepin.dde-api.enable { + + environment.systemPackages = [ pkgs.deepin.dde-api ]; + + services.dbus.packages = [ pkgs.deepin.dde-api ]; + + systemd.packages = [ pkgs.deepin.dde-api ]; + + environment.pathsToLink = [ "/lib/deepin-api" ]; + + users.groups.deepin-sound-player = { }; + users.users.deepin-sound-player = { + description = "Deepin sound player"; + home = "/var/lib/deepin-sound-player"; + createHome = true; + group = "deepin-sound-player"; + isSystemUser = true; + }; + + }; + +}