Loading nixos/modules/services/desktop-managers/lomiri.nix +3 −0 Original line number Diff line number Diff line Loading @@ -38,6 +38,7 @@ in { ]); }; hardware.pulseaudio.enable = lib.mkDefault true; networking.networkmanager.enable = lib.mkDefault true; systemd.packages = with pkgs.lomiri; [ Loading Loading @@ -74,6 +75,8 @@ in { ayatana-indicator-messages ayatana-indicator-power ayatana-indicator-session ] ++ lib.optionals (config.hardware.pulseaudio.enable || config.services.pipewire.pulse.enable) [ ayatana-indicator-sound ]) ++ (with pkgs.lomiri; [ telephony-service ] ++ lib.optionals config.networking.networkmanager.enable [ Loading nixos/tests/ayatana-indicators.nix +3 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ in { ayatana-indicator-messages ayatana-indicator-power ayatana-indicator-session ayatana-indicator-sound ] ++ (with pkgs.lomiri; [ lomiri-indicator-network telephony-service Loading @@ -41,6 +42,8 @@ in { services.accounts-daemon.enable = true; # messages hardware.pulseaudio.enable = true; # sound # Lomiri-ish setup for Lomiri indicators # TODO move into a Lomiri module, once the package set is far enough for the DE to start Loading nixos/tests/lomiri.nix +7 −1 Original line number Diff line number Diff line Loading @@ -290,7 +290,7 @@ in { # There's a test app we could use that also displays their contents, but it's abit inconsistent. with subtest("ayatana indicators work"): mouse_click(735, 0) # the cog in the top-right, for the session indicator machine.wait_for_text(r"(Notifications|Battery|Time|Date|System)") machine.wait_for_text(r"(Notifications|Battery|Sound|Time|Date|System)") machine.screenshot("indicators_open") # Indicator order within the menus *should* be fixed based on per-indicator order setting Loading @@ -298,6 +298,7 @@ in { machine.send_key("left") machine.send_key("left") machine.send_key("left") machine.send_key("left") # Notifications are usually empty, nothing to check there with subtest("lomiri indicator network works"): Loading @@ -305,6 +306,11 @@ in { machine.wait_for_text(r"(Flight|Wi-Fi)") machine.screenshot("indicators_network") with subtest("lomiri indicator sound works"): machine.send_key("right") machine.wait_for_text(r"(Silent|Volume)") machine.screenshot("indicators_sound") with subtest("ayatana indicator power works"): machine.send_key("right") machine.wait_for_text(r"(Charge|Battery settings)") Loading pkgs/by-name/ay/ayatana-indicator-sound/package.nix 0 → 100644 +125 −0 Original line number Diff line number Diff line { stdenv , lib , gitUpdater , fetchFromGitHub , nixosTests , accountsservice , cmake , dbus , dbus-test-runner , glib , gobject-introspection , gtest , intltool , libayatana-common , libgee , libnotify , libpulseaudio , libqtdbusmock , libqtdbustest , libsForQt5 , libxml2 , lomiri , pkg-config , python3 , systemd , vala , wrapGAppsHook3 }: stdenv.mkDerivation (finalAttrs: { pname = "ayatana-indicator-sound"; version = "24.4.0"; src = fetchFromGitHub { owner = "AyatanaIndicators"; repo = "ayatana-indicator-sound"; rev = "refs/tags/${finalAttrs.version}"; hash = "sha256-2B2CFUjDvBpZ8R4fnGDViS3pXO1L0kP1tnJCtqKeLaQ="; }; postPatch = '' # Replace systemd prefix in pkg-config query, use GNUInstallDirs location for /etc substituteInPlace data/CMakeLists.txt \ --replace-fail 'pkg_get_variable(SYSTEMD_USER_DIR systemd systemduserunitdir)' 'pkg_get_variable(SYSTEMD_USER_DIR systemd systemduserunitdir DEFINE_VARIABLES prefix=''${CMAKE_INSTALL_PREFIX})' \ --replace-fail 'DESTINATION "/etc' 'DESTINATION "''${CMAKE_INSTALL_FULL_SYSCONFDIR}' # Build-time Vala codegen substituteInPlace src/CMakeLists.txt \ --replace-fail '/usr/share/gir-1.0/AccountsService-1.0.gir' '${lib.getDev accountsservice}/share/gir-1.0/AccountsService-1.0.gir' ''; strictDeps = true; nativeBuildInputs = [ cmake gobject-introspection intltool libpulseaudio # vala files(?) pkg-config vala wrapGAppsHook3 ]; buildInputs = [ accountsservice glib gobject-introspection libayatana-common libgee libnotify libpulseaudio libxml2 systemd ] ++ (with lomiri; [ cmake-extras lomiri-api lomiri-schemas ]); nativeCheckInputs = [ dbus (python3.withPackages (ps: with ps; [ python-dbusmock ])) ]; checkInputs = [ dbus-test-runner gtest libsForQt5.qtbase libqtdbusmock libqtdbustest lomiri.gmenuharness ]; cmakeFlags = [ (lib.cmakeBool "ENABLE_TESTS" finalAttrs.finalPackage.doCheck) (lib.cmakeBool "ENABLE_LOMIRI_FEATURES" true) (lib.cmakeBool "GSETTINGS_LOCALINSTALL" true) (lib.cmakeBool "GSETTINGS_COMPILE" true) ]; dontWrapQtApps = true; doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform; passthru = { ayatana-indicators = [ "ayatana-indicator-sound" ]; tests.vm = nixosTests.ayatana-indicators; updateScript = gitUpdater { }; }; meta = with lib; { description = "Ayatana Indicator for managing system sound"; longDescription = '' Ayatana Indicator Sound that provides easy control of the PulseAudio sound daemon. ''; homepage = "https://github.com/AyatanaIndicators/ayatana-indicator-sound"; changelog = "https://github.com/AyatanaIndicators/ayatana-indicator-sound/blob/${finalAttrs.version}/ChangeLog"; license = licenses.gpl3Only; maintainers = with maintainers; [ OPNA2608 ]; platforms = platforms.linux; }; }) Loading
nixos/modules/services/desktop-managers/lomiri.nix +3 −0 Original line number Diff line number Diff line Loading @@ -38,6 +38,7 @@ in { ]); }; hardware.pulseaudio.enable = lib.mkDefault true; networking.networkmanager.enable = lib.mkDefault true; systemd.packages = with pkgs.lomiri; [ Loading Loading @@ -74,6 +75,8 @@ in { ayatana-indicator-messages ayatana-indicator-power ayatana-indicator-session ] ++ lib.optionals (config.hardware.pulseaudio.enable || config.services.pipewire.pulse.enable) [ ayatana-indicator-sound ]) ++ (with pkgs.lomiri; [ telephony-service ] ++ lib.optionals config.networking.networkmanager.enable [ Loading
nixos/tests/ayatana-indicators.nix +3 −0 Original line number Diff line number Diff line Loading @@ -31,6 +31,7 @@ in { ayatana-indicator-messages ayatana-indicator-power ayatana-indicator-session ayatana-indicator-sound ] ++ (with pkgs.lomiri; [ lomiri-indicator-network telephony-service Loading @@ -41,6 +42,8 @@ in { services.accounts-daemon.enable = true; # messages hardware.pulseaudio.enable = true; # sound # Lomiri-ish setup for Lomiri indicators # TODO move into a Lomiri module, once the package set is far enough for the DE to start Loading
nixos/tests/lomiri.nix +7 −1 Original line number Diff line number Diff line Loading @@ -290,7 +290,7 @@ in { # There's a test app we could use that also displays their contents, but it's abit inconsistent. with subtest("ayatana indicators work"): mouse_click(735, 0) # the cog in the top-right, for the session indicator machine.wait_for_text(r"(Notifications|Battery|Time|Date|System)") machine.wait_for_text(r"(Notifications|Battery|Sound|Time|Date|System)") machine.screenshot("indicators_open") # Indicator order within the menus *should* be fixed based on per-indicator order setting Loading @@ -298,6 +298,7 @@ in { machine.send_key("left") machine.send_key("left") machine.send_key("left") machine.send_key("left") # Notifications are usually empty, nothing to check there with subtest("lomiri indicator network works"): Loading @@ -305,6 +306,11 @@ in { machine.wait_for_text(r"(Flight|Wi-Fi)") machine.screenshot("indicators_network") with subtest("lomiri indicator sound works"): machine.send_key("right") machine.wait_for_text(r"(Silent|Volume)") machine.screenshot("indicators_sound") with subtest("ayatana indicator power works"): machine.send_key("right") machine.wait_for_text(r"(Charge|Battery settings)") Loading
pkgs/by-name/ay/ayatana-indicator-sound/package.nix 0 → 100644 +125 −0 Original line number Diff line number Diff line { stdenv , lib , gitUpdater , fetchFromGitHub , nixosTests , accountsservice , cmake , dbus , dbus-test-runner , glib , gobject-introspection , gtest , intltool , libayatana-common , libgee , libnotify , libpulseaudio , libqtdbusmock , libqtdbustest , libsForQt5 , libxml2 , lomiri , pkg-config , python3 , systemd , vala , wrapGAppsHook3 }: stdenv.mkDerivation (finalAttrs: { pname = "ayatana-indicator-sound"; version = "24.4.0"; src = fetchFromGitHub { owner = "AyatanaIndicators"; repo = "ayatana-indicator-sound"; rev = "refs/tags/${finalAttrs.version}"; hash = "sha256-2B2CFUjDvBpZ8R4fnGDViS3pXO1L0kP1tnJCtqKeLaQ="; }; postPatch = '' # Replace systemd prefix in pkg-config query, use GNUInstallDirs location for /etc substituteInPlace data/CMakeLists.txt \ --replace-fail 'pkg_get_variable(SYSTEMD_USER_DIR systemd systemduserunitdir)' 'pkg_get_variable(SYSTEMD_USER_DIR systemd systemduserunitdir DEFINE_VARIABLES prefix=''${CMAKE_INSTALL_PREFIX})' \ --replace-fail 'DESTINATION "/etc' 'DESTINATION "''${CMAKE_INSTALL_FULL_SYSCONFDIR}' # Build-time Vala codegen substituteInPlace src/CMakeLists.txt \ --replace-fail '/usr/share/gir-1.0/AccountsService-1.0.gir' '${lib.getDev accountsservice}/share/gir-1.0/AccountsService-1.0.gir' ''; strictDeps = true; nativeBuildInputs = [ cmake gobject-introspection intltool libpulseaudio # vala files(?) pkg-config vala wrapGAppsHook3 ]; buildInputs = [ accountsservice glib gobject-introspection libayatana-common libgee libnotify libpulseaudio libxml2 systemd ] ++ (with lomiri; [ cmake-extras lomiri-api lomiri-schemas ]); nativeCheckInputs = [ dbus (python3.withPackages (ps: with ps; [ python-dbusmock ])) ]; checkInputs = [ dbus-test-runner gtest libsForQt5.qtbase libqtdbusmock libqtdbustest lomiri.gmenuharness ]; cmakeFlags = [ (lib.cmakeBool "ENABLE_TESTS" finalAttrs.finalPackage.doCheck) (lib.cmakeBool "ENABLE_LOMIRI_FEATURES" true) (lib.cmakeBool "GSETTINGS_LOCALINSTALL" true) (lib.cmakeBool "GSETTINGS_COMPILE" true) ]; dontWrapQtApps = true; doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform; passthru = { ayatana-indicators = [ "ayatana-indicator-sound" ]; tests.vm = nixosTests.ayatana-indicators; updateScript = gitUpdater { }; }; meta = with lib; { description = "Ayatana Indicator for managing system sound"; longDescription = '' Ayatana Indicator Sound that provides easy control of the PulseAudio sound daemon. ''; homepage = "https://github.com/AyatanaIndicators/ayatana-indicator-sound"; changelog = "https://github.com/AyatanaIndicators/ayatana-indicator-sound/blob/${finalAttrs.version}/ChangeLog"; license = licenses.gpl3Only; maintainers = with maintainers; [ OPNA2608 ]; platforms = platforms.linux; }; })