nixos-framework-laptop-config/pkgs/polonium.nix
2024-12-28 19:33:49 -05:00

60 lines
1.5 KiB
Nix

# TODO: replace with nixpkgs version when it has one
{
lib,
fetchFromGitHub,
buildNpmPackage,
plasma5Packages ? null,
kdePackages ? null,
}:
# how to update:
# 1. check out the tag for the version in question
# 2. run `prefetch-npm-deps package-lock.json`
# 3. update npmDepsHash with the output of the previous step
let
inherit (kdePackages) qtbase;
in
buildNpmPackage {
name = "polonium-git";
pname = "polonium";
src = fetchFromGitHub {
owner = "zeroxoneafour";
repo = "polonium";
rev = "83084c9f2bf44a22966c0534726498975183830e";
hash = "sha256-kZMq4m4nACRelqgKsZVkmV9qqFw7dcMZHQF9dhdxCbQ=";
};
npmDepsHash = "sha256-kaT3Uyq+/JkmebakG9xQuR4Kjo7vk6BzI1/LffOj/eo=";
# the installer does a bunch of stuff that fails in our sandbox, so just build here and then we
# manually do the install
postPatch = ''
substituteInPlace Makefile \
--replace-fail "build install cleanall" "res src"
'';
nativeBuildInputs = [
kdePackages.kpackage
];
dontNpmBuild = true;
dontWrapQtApps = true;
installPhase = ''
runHook preInstall
kpackagetool6 --install pkg --packageroot $out/share/kwin/scripts
runHook postInstall
'';
env.LANG = "C.UTF-8";
meta = with lib; {
description = "Auto-tiler that uses KWin 6+ tiling functionality";
license = licenses.mit;
maintainers = with maintainers; [peterhoeg];
inherit (kdePackages.kpackage.meta) platforms;
};
}