Files
nixpkgs/pkgs/desktops/lomiri/default.nix
2026-07-07 19:13:21 +02:00

112 lines
5.6 KiB
Nix

{
config,
lib,
pkgs,
ayatana-indicator-datetime,
useQt6 ? false,
libsForQt5,
qt6Packages,
}:
let
qtPackages = if useQt6 then qt6Packages else libsForQt5;
packages =
self:
let
inherit (self) callPackage;
in
{
#### Data
lomiri-schemas = callPackage ./data/lomiri-schemas { };
lomiri-sounds = callPackage ./data/lomiri-sounds { };
lomiri-wallpapers = callPackage ./data/lomiri-wallpapers { };
suru-icon-theme = callPackage ./data/suru-icon-theme { };
#### Development tools / libraries
cmake-extras = callPackage ./development/cmake-extras { };
deviceinfo = callPackage ./development/deviceinfo { };
geonames = callPackage ./development/geonames { };
gmenuharness = callPackage ./development/gmenuharness { };
gsettings-qt = callPackage ./development/gsettings-qt { };
lomiri-api = callPackage ./development/lomiri-api { };
lomiri-app-launch = callPackage ./development/lomiri-app-launch { };
#### QML / QML-related
lomiri-action-api = callPackage ./qml/lomiri-action-api {
# The dependency target "qmldoc" of target "doc" does not exist.
withDocumentation = !useQt6;
};
lomiri-notifications = callPackage ./qml/lomiri-notifications { };
lomiri-push-qml = callPackage ./qml/lomiri-push-qml { };
lomiri-ui-extras = callPackage ./qml/lomiri-ui-extras { };
lomiri-ui-toolkit = callPackage ./qml/lomiri-ui-toolkit { };
qqc2-suru-style = callPackage ./qml/qqc2-suru-style { };
#### Services
biometryd = callPackage ./services/biometryd { };
lomiri-content-hub = callPackage ./services/lomiri-content-hub {
# Check for working qdoc: not found
withDocumentation = !useQt6;
};
lomiri-download-manager = callPackage ./services/lomiri-download-manager {
# Check for working qdoc: not found
withDocumentation = !useQt6;
};
lomiri-indicator-network = callPackage ./services/lomiri-indicator-network { };
lomiri-thumbnailer = callPackage ./services/lomiri-thumbnailer { };
lomiri-url-dispatcher = callPackage ./services/lomiri-url-dispatcher { };
mediascanner2 = callPackage ./services/mediascanner2 { };
}
// lib.optionalAttrs useQt6 {
#### Core Apps
morph-browser = callPackage ./applications/morph-browser {
# get_target_property() called with non-existent target "Qt6::qdoc".
withDocumentation = !useQt6;
};
}
// lib.optionalAttrs (!useQt6) {
#### Core Apps
lomiri = callPackage ./applications/lomiri { };
lomiri-calculator-app = callPackage ./applications/lomiri-calculator-app { };
lomiri-calendar-app = callPackage ./applications/lomiri-calendar-app { };
lomiri-camera-app = callPackage ./applications/lomiri-camera-app { };
lomiri-clock-app = callPackage ./applications/lomiri-clock-app { };
lomiri-docviewer-app = callPackage ./applications/lomiri-docviewer-app { };
lomiri-filemanager-app = callPackage ./applications/lomiri-filemanager-app { };
lomiri-gallery-app = callPackage ./applications/lomiri-gallery-app { };
lomiri-mediaplayer-app = callPackage ./applications/lomiri-mediaplayer-app { };
lomiri-music-app = callPackage ./applications/lomiri-music-app { };
lomiri-system-settings-unwrapped = callPackage ./applications/lomiri-system-settings { };
lomiri-system-settings = callPackage ./applications/lomiri-system-settings/wrapper.nix { };
lomiri-terminal-app = callPackage ./applications/lomiri-terminal-app { };
teleports = callPackage ./applications/teleports { };
#### Data
lomiri-session = callPackage ./data/lomiri-session { };
#### Development tools / libraries
libusermetrics = callPackage ./development/libusermetrics { };
qtmir = callPackage ./development/qtmir { };
trust-store = callPackage ./development/trust-store { };
u1db-qt = callPackage ./development/u1db-qt { };
#### QML / QML-related
lomiri-settings-components = callPackage ./qml/lomiri-settings-components { };
#### Services
hfd-service = callPackage ./services/hfd-service { };
lomiri-history-service = callPackage ./services/lomiri-history-service { };
lomiri-indicator-datetime = ayatana-indicator-datetime.override { enableLomiriFeatures = true; };
lomiri-polkit-agent = callPackage ./services/lomiri-polkit-agent { };
lomiri-telephony-service = callPackage ./services/lomiri-telephony-service { };
};
in
lib.makeScope qtPackages.newScope packages
// lib.optionalAttrs (config.allowAliases && !useQt6) {
content-hub = lib.warnOnInstantiate "`content-hub` was renamed to `lomiri-content-hub`." pkgs.lomiri.lomiri-content-hub; # Added on 2024-09-11
history-service = lib.warnOnInstantiate "`history-service` was renamed to `lomiri-history-service`." pkgs.lomiri.lomiri-history-service; # Added on 2024-11-11
lomiri-system-settings-security-privacy = lib.warnOnInstantiate "`lomiri-system-settings-security-privacy` upstream was merged into `lomiri-system-settings`. Please use `pkgs.lomiri.lomiri-system-settings-unwrapped` if you need to directly access the plugins that belonged to this project." pkgs.lomiri.lomiri-system-settings-unwrapped; # Added on 2024-08-08
morph-browser = throw "`lomiri.morph-browser` has been removed because it relied on the known-vulnerable `libsForQt5.qtwebengine`. Please use `lomiri-qt6.morph-browser` instead."; # Added on 2026-03-31
telephony-service = lib.warnOnInstantiate "`telephony-service` was renamed to `lomiri-telephony-service`." pkgs.lomiri.lomiri-telephony-service; # Adder on 2025-01-15
}