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.enableDynamicTheming pkgs.matugen
++ lib.optional cfg.enableAudioWavelength pkgs.cava ++ lib.optional cfg.enableAudioWavelength pkgs.cava
++ lib.optional cfg.enableCalendarEvents pkgs.khal ++ lib.optional cfg.enableCalendarEvents pkgs.khal;
++ lib.optional cfg.enableSystemSound pkgs.kdePackages.qtmultimedia;
plugins = lib.mapAttrs (name: plugin: { plugins = lib.mapAttrs (name: plugin: {
source = plugin.src; source = plugin.src;

View File

@@ -16,6 +16,9 @@ in
imports = [ imports = [
(lib.mkRemovedOptionModule (path ++ [ "enableBrightnessControl" ]) builtInRemovedMsg) (lib.mkRemovedOptionModule (path ++ [ "enableBrightnessControl" ]) builtInRemovedMsg)
(lib.mkRemovedOptionModule (path ++ [ "enableColorPicker" ]) builtInRemovedMsg) (lib.mkRemovedOptionModule (path ++ [ "enableColorPicker" ]) builtInRemovedMsg)
(lib.mkRemovedOptionModule (
path ++ [ "enableSystemSound" ]
) "qtmultimedia is now included on dms-shell package.")
]; ];
options.programs.dankMaterialShell = { options.programs.dankMaterialShell = {
@@ -58,11 +61,6 @@ in
default = true; default = true;
description = "Add calendar events support via khal"; 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 = { quickshell = {
package = lib.mkPackageOption dmsPkgs "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)."; 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; })) (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 in
{ {
packages = forEachSystem ( packages = forEachSystem (
@@ -96,7 +106,9 @@
install -D ${rootSrc}/core/assets/danklogo.svg \ install -D ${rootSrc}/core/assets/danklogo.svg \
$out/share/hicolor/scalable/apps/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 \ install -Dm644 ${rootSrc}/assets/systemd/dms.service \
$out/lib/systemd/user/dms.service $out/lib/systemd/user/dms.service
@@ -143,15 +155,11 @@
devShells = forEachSystem ( devShells = forEachSystem (
system: pkgs: system: pkgs:
let let
qmlPkgs = [ devQmlPkgs = [
quickshell.packages.${system}.default quickshell.packages.${system}.default
pkgs.kdePackages.qtdeclarative
] ]
++ (with pkgs.kdePackages; [ ++ (qmlPkgs pkgs);
qtdeclarative
kirigami.unwrapped
sonnet
qtmultimedia
]);
in in
{ {
default = pkgs.mkShell { default = pkgs.mkShell {
@@ -164,13 +172,13 @@
go-tools go-tools
gnumake gnumake
] ]
++ qmlPkgs; ++ devQmlPkgs;
shellHook = '' shellHook = ''
touch quickshell/.qmlls.ini 2>/dev/null 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;
}; };
} }
); );