{ description = "Kirigami"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; flake-utils.url = "github:numtide/flake-utils"; }; outputs = { nixpkgs, flake-utils, ... }: flake-utils.lib.eachSystem flake-utils.lib.allSystems (system: let pkgs = import nixpkgs { inherit system; }; qmlDependencies = with pkgs.kdePackages; [ qtdeclarative kirigami.unwrapped ki18n kcoreaddons qqc2-desktop-style sonnet ]; kdeDependencies = with pkgs.kdePackages; [ qtbase extra-cmake-modules ]; makeQmlImportPath = pkgs.lib.makeSearchPathOutput "bin" "lib/qt-6/qml"; in { devShells = { default = pkgs.mkShell { packages = with pkgs; [ # For building ninja cmake gcc # Not required at compile time gammaray gdb # Required for gammaray lldb # Required for gammaray # For translation generation ruby ] ++ kdeDependencies ++ qmlDependencies; dontFixCmake = true; cmakeFlags = [ "-DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=ON" "-DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo" ]; QML2_IMPORT_PATH = makeQmlImportPath qmlDependencies; }; }; }); }