{ description = "navidrome_client"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; }; outputs = { self, nixpkgs }: let system = "x86_64-linux"; pkgs = import nixpkgs { inherit system; }; qtStyle = "Breeze"; in { packages.${system}.default = pkgs.stdenv.mkDerivation { pname = "navidrome-client"; version = "0.1"; src = self; nativeBuildInputs = with pkgs; [ cmake qt6.wrapQtAppsHook ]; buildInputs = (with pkgs.qt6; [ qtbase qtdeclarative qtwayland qtmultimedia ]) ++ pkgs.lib.optionals (qtStyle == "Breeze") (with pkgs.kdePackages; [ kirigami qqc2-breeze-style ]); preFixup = '' qtWrapperArgs+=(--set QT_QUICK_CONTROLS_STYLE ${qtStyle}) ''; }; apps.${system}.default = { type = "app"; program = "${self.packages.${system}.default}/bin/appnavidrome_client"; }; devShells.${system}.default = pkgs.mkShell { packages = (with pkgs; [ cmake gdb qtcreator ]) ++ (with pkgs.qt6; [ qtbase qtdeclarative qtwayland qtmultimedia ]) ++ pkgs.lib.optionals (qtStyle == "Breeze") (with pkgs.kdePackages; [ kirigami qqc2-breeze-style ]); }; }; }