From e20e4d5ddd282ef21482902cc246ee68ddf1d281 Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Wed, 17 Apr 2024 21:31:18 +0200 Subject: [PATCH 1/3] lomiri.lomiri-indicator-network: Update patching to newer CMake's possibilities We can just define variables for pkg-config substitution now, no need to hardcode. --- .../lomiri/services/lomiri-indicator-network/default.nix | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/pkgs/desktops/lomiri/services/lomiri-indicator-network/default.nix b/pkgs/desktops/lomiri/services/lomiri-indicator-network/default.nix index 25cf5f7d528e..fc552881f469 100644 --- a/pkgs/desktops/lomiri/services/lomiri-indicator-network/default.nix +++ b/pkgs/desktops/lomiri/services/lomiri-indicator-network/default.nix @@ -47,11 +47,10 @@ stdenv.mkDerivation (finalAttrs: { ]; postPatch = '' - # Queried via pkg-config, would need to override a prefix variable - # Needs CMake 3.28 or higher to do as part of the call, https://github.com/NixOS/nixpkgs/pull/275284 + # Override original prefixes substituteInPlace data/CMakeLists.txt \ - --replace 'pkg_get_variable(DBUS_SESSION_BUS_SERVICES_DIR dbus-1 session_bus_services_dir)' 'set(DBUS_SESSION_BUS_SERVICES_DIR "''${CMAKE_INSTALL_SYSCONFDIR}/dbus-1/services")' \ - --replace 'pkg_get_variable(SYSTEMD_USER_DIR systemd systemduserunitdir)' 'set(SYSTEMD_USER_DIR "''${CMAKE_INSTALL_PREFIX}/lib/systemd/user")' + --replace-fail 'pkg_get_variable(DBUS_SESSION_BUS_SERVICES_DIR dbus-1 session_bus_services_dir)' 'pkg_get_variable(DBUS_SESSION_BUS_SERVICES_DIR dbus-1 session_bus_services_dir DEFINE_VARIABLES datadir=''${CMAKE_INSTALL_FULL_SYSCONFDIR})' \ + --replace-fail 'pkg_get_variable(SYSTEMD_USER_DIR systemd systemduserunitdir)' 'pkg_get_variable(SYSTEMD_USER_DIR systemd systemduserunitdir DEFINE_VARIABLES prefix=''${CMAKE_INSTALL_PREFIX})' ''; strictDeps = true; From dda8bfd4215386207f3f9e3e4984b9fea5172acc Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Wed, 17 Apr 2024 21:34:57 +0200 Subject: [PATCH 2/3] nixos/lomiri: Add network indicator It heavily depends on NetworkManager, so enable it by default. --- nixos/modules/services/desktop-managers/lomiri.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/nixos/modules/services/desktop-managers/lomiri.nix b/nixos/modules/services/desktop-managers/lomiri.nix index 469144aef4e0..e11867b69107 100644 --- a/nixos/modules/services/desktop-managers/lomiri.nix +++ b/nixos/modules/services/desktop-managers/lomiri.nix @@ -38,6 +38,8 @@ in { ]); }; + networking.networkmanager.enable = lib.mkDefault true; + systemd.packages = with pkgs.lomiri; [ hfd-service lomiri-download-manager @@ -73,6 +75,8 @@ in { ayatana-indicator-session ]) ++ (with pkgs.lomiri; [ telephony-service + ] ++ lib.optionals config.networking.networkmanager.enable [ + lomiri-indicator-network ]); }; @@ -111,6 +115,8 @@ in { "/share/lomiri-app-launch" # TODO Try to get maliit stuff working "/share/maliit/plugins" + # At least the network indicator is still under the unity name, due to leftover Unity-isms + "/share/unity" # Data "/share/locale" # TODO LUITK hardcoded default locale path, fix individual apps to not rely on it "/share/sounds" From 35614f6132854a1c5161c3fe28f26b398fe7ebc7 Mon Sep 17 00:00:00 2001 From: OPNA2608 Date: Wed, 17 Apr 2024 21:37:30 +0200 Subject: [PATCH 3/3] tests/lomiri: Adjust for network indicator --- nixos/tests/lomiri.nix | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/nixos/tests/lomiri.nix b/nixos/tests/lomiri.nix index c1e777873b08..9d6337e9977c 100644 --- a/nixos/tests/lomiri.nix +++ b/nixos/tests/lomiri.nix @@ -253,22 +253,35 @@ in { with subtest("ayatana indicators work"): open_starter() machine.send_chars("Indicators\n") - machine.wait_for_text(r"(Indicators|Client|List|datetime|session)") + machine.wait_for_text(r"(Indicators|Client|List|network|datetime|session)") machine.screenshot("indicators_open") # Element tab order within the indicator menus is not fully deterministic # Only check that the indicators are listed & their items load + with subtest("lomiri indicator network works"): + # Select indicator-network + machine.send_key("tab") + # Don't go further down, first entry + machine.send_key("ret") + machine.wait_for_text(r"(Flight|Wi-Fi)") + machine.screenshot("indicators_network") + + machine.send_key("shift-tab") + machine.send_key("ret") + machine.wait_for_text(r"(Indicators|Client|List|network|datetime|session)") + with subtest("ayatana indicator datetime works"): # Select ayatana-indicator-datetime machine.send_key("tab") + machine.send_key("down") machine.send_key("ret") machine.wait_for_text("Time and Date Settings") machine.screenshot("indicators_timedate") machine.send_key("shift-tab") machine.send_key("ret") - machine.wait_for_text(r"(Indicators|Client|List|datetime|session)") + machine.wait_for_text(r"(Indicators|Client|List|network|datetime|session)") with subtest("ayatana indicator session works"): # Select ayatana-indicator-session