1{
2 lib,
3 mkDerivation,
4 fetchFromGitHub,
5 kcoreaddons,
6 kwindowsystem,
7 plasma-framework,
8 systemsettings,
9}:
10
11mkDerivation rec {
12 pname = "dynamic_workspaces";
13 version = "1.0.1";
14
15 src = fetchFromGitHub {
16 owner = "d86leader";
17 repo = pname;
18 rev = "v${version}";
19 sha256 = "1mnwh489i6l8z9s5a1zl7zybkw76pp9fdmmis41mym7r4wz4iznm";
20 };
21
22 buildInputs = [
23 kcoreaddons
24 kwindowsystem
25 plasma-framework
26 systemsettings
27 ];
28
29 dontBuild = true;
30
31 # 1. --global still installs to $HOME/.local/share so we use --packageroot
32 # 2. plasmapkg2 doesn't copy metadata.desktop into place, so we do that manually
33 installPhase = ''
34 runHook preInstall
35
36 plasmapkg2 --type kwinscript --install ${src} --packageroot $out/share/kwin/scripts
37 install -Dm644 ${src}/metadata.desktop $out/share/kservices5/dynamic_workspaces.desktop
38
39 runHook postInstall
40 '';
41
42 meta = with lib; {
43 description = "KWin script that automatically adds/removes virtual desktops";
44 license = licenses.bsd3;
45 maintainers = [ ];
46 inherit (src.meta) homepage;
47 inherit (kwindowsystem.meta) platforms;
48 };
49}