1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-01-24 13:32:50 -05:00

nix: add QML dependencies to dms-shell package (#967)

This commit is contained in:
Lucas
2025-12-11 05:19:43 -03:00
committed by GitHub
parent d8cd15d361
commit e573bdba92
3 changed files with 22 additions and 17 deletions

View File

@@ -23,8 +23,7 @@ in
]
++ lib.optional cfg.enableDynamicTheming pkgs.matugen
++ lib.optional cfg.enableAudioWavelength pkgs.cava
++ lib.optional cfg.enableCalendarEvents pkgs.khal
++ lib.optional cfg.enableSystemSound pkgs.kdePackages.qtmultimedia;
++ lib.optional cfg.enableCalendarEvents pkgs.khal;
plugins = lib.mapAttrs (name: plugin: {
source = plugin.src;

View File

@@ -16,6 +16,9 @@ in
imports = [
(lib.mkRemovedOptionModule (path ++ [ "enableBrightnessControl" ]) builtInRemovedMsg)
(lib.mkRemovedOptionModule (path ++ [ "enableColorPicker" ]) builtInRemovedMsg)
(lib.mkRemovedOptionModule (
path ++ [ "enableSystemSound" ]
) "qtmultimedia is now included on dms-shell package.")
];
options.programs.dankMaterialShell = {
@@ -58,11 +61,6 @@ in
default = true;
description = "Add calendar events support via khal";
};
enableSystemSound = lib.mkOption {
type = types.bool;
default = true;
description = "Add needed dependencies to have system sound support";
};
quickshell = {
package = lib.mkPackageOption dmsPkgs "quickshell" {
extraDescription = "The quickshell package to use (defaults to be built from source, in the commit 26531f due to unreleased features used by DMS).";

View File

@@ -40,6 +40,16 @@
(import path (args // { dmsPkgs = buildDmsPkgs pkgs; }))
];
};
mkQmlImportPath =
pkgs: qmlPkgs:
pkgs.lib.concatStringsSep ":" (map (o: "${o}/${pkgs.qt6.qtbase.qtQmlPrefix}") qmlPkgs);
qmlPkgs =
pkgs: with pkgs.kdePackages; [
kirigami.unwrapped
sonnet
qtmultimedia
];
in
{
packages = forEachSystem (
@@ -96,7 +106,9 @@
install -D ${rootSrc}/core/assets/danklogo.svg \
$out/share/hicolor/scalable/apps/danklogo.svg
wrapProgram $out/bin/dms --add-flags "-c $out/share/quickshell/dms"
wrapProgram $out/bin/dms \
--add-flags "-c $out/share/quickshell/dms" \
--prefix "NIXPKGS_QT6_QML_IMPORT_PATH" ":" "${mkQmlImportPath pkgs (qmlPkgs pkgs)}"
install -Dm644 ${rootSrc}/assets/systemd/dms.service \
$out/lib/systemd/user/dms.service
@@ -143,15 +155,11 @@
devShells = forEachSystem (
system: pkgs:
let
qmlPkgs = [
devQmlPkgs = [
quickshell.packages.${system}.default
pkgs.kdePackages.qtdeclarative
]
++ (with pkgs.kdePackages; [
qtdeclarative
kirigami.unwrapped
sonnet
qtmultimedia
]);
++ (qmlPkgs pkgs);
in
{
default = pkgs.mkShell {
@@ -164,13 +172,13 @@
go-tools
gnumake
]
++ qmlPkgs;
++ devQmlPkgs;
shellHook = ''
touch quickshell/.qmlls.ini 2>/dev/null
'';
QML2_IMPORT_PATH = pkgs.lib.concatStringsSep ":" (map (o: "${o}/lib/qt-6/qml") qmlPkgs);
QML2_IMPORT_PATH = mkQmlImportPath pkgs devQmlPkgs;
};
}
);