Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at devShellTools-shell 68 lines 1.6 kB view raw
1{ 2 lib, 3 nix-update-script, 4 buildNpmPackage, 5 fetchFromGitHub, 6 nodejs_22, 7 kwin, 8 kpackage, 9 zip, 10}: 11buildNpmPackage (finalAttrs: { 12 pname = "krohnkite"; 13 version = "0.9.9.2"; 14 15 src = fetchFromGitHub { 16 owner = "anametologin"; 17 repo = "krohnkite"; 18 tag = finalAttrs.version; 19 hash = "sha256-gulKg23BeWL270B2omRYJIuAHIsKu1cBVpimgButM9I="; 20 }; 21 22 npmDepsHash = "sha256-Q/D6s0wOPSEziE1dBXgTakjhXCGvzhvLVS7zXcZlPCI="; 23 24 dontWrapQtApps = true; 25 26 nodejs = nodejs_22; 27 28 nativeBuildInputs = [ 29 kpackage 30 zip 31 kwin 32 ]; 33 34 postPatch = '' 35 cp ${./package-lock.json} package-lock.json 36 ''; 37 38 npmBuildScript = "tsc"; 39 40 installPhase = '' 41 runHook preInstall 42 43 substituteInPlace Makefile --replace-fail '7z a -tzip' 'zip -r' 44 # Override PROJECT_VER and PROJECT_REV because we don't have .git 45 make \ 46 KWINPKG_FILE=krohnkite.kwinscript \ 47 PROJECT_REV=${finalAttrs.version} \ 48 PROJECT_VER=${finalAttrs.version} \ 49 krohnkite.kwinscript 50 kpackagetool6 --type=KWin/Script --install=krohnkite.kwinscript --packageroot=$out/share/kwin/scripts 51 52 runHook postInstall 53 ''; 54 55 passthru.updateScript = nix-update-script { }; 56 57 meta = { 58 description = "Dynamic Tiling Extension for KWin 6"; 59 homepage = "https://github.com/anametologin/krohnkite"; 60 changelog = "https://github.com/anametologin/krohnkite/releases/tag/${finalAttrs.version}"; 61 license = lib.licenses.mit; 62 maintainers = with lib.maintainers; [ 63 ben9986 64 dramforever 65 ]; 66 platforms = lib.platforms.all; 67 }; 68})