diff --git a/pkgs/kde/default.nix b/pkgs/kde/default.nix index fd8953071bc2..d10821d91da3 100644 --- a/pkgs/kde/default.nix +++ b/pkgs/kde/default.nix @@ -90,6 +90,7 @@ let pulseaudio-qt = self.callPackage ./misc/pulseaudio-qt { }; applet-window-buttons6 = self.callPackage ./third-party/applet-window-buttons6 { }; + dynamic-workspaces = self.callPackage ./third-party/dynamic-workspaces { }; karousel = self.callPackage ./third-party/karousel { }; koi = self.callPackage ./third-party/koi { }; krohnkite = self.callPackage ./third-party/krohnkite { }; diff --git a/pkgs/kde/third-party/dynamic-workspaces/default.nix b/pkgs/kde/third-party/dynamic-workspaces/default.nix new file mode 100644 index 000000000000..39837e11d96c --- /dev/null +++ b/pkgs/kde/third-party/dynamic-workspaces/default.nix @@ -0,0 +1,47 @@ +{ + lib, + stdenv, + fetchFromGitHub, + kpackage, + kwin, +}: + +stdenv.mkDerivation { + pname = "dynamic-workspaces"; + version = "3.2"; + + src = fetchFromGitHub { + owner = "d86leader"; + repo = "dynamic_workspaces"; + # 3.2 was released on KDE Store but not tagged. + rev = "a06e723804398d672be74eba0cd4ccee062e1410"; + hash = "sha256-fOxWVj6bB5nBiPXvVvjwc3MVjKWaOniqPe7UnsPsusE="; + }; + + nativeBuildInputs = [ + kpackage + ]; + + buildInputs = [ + kwin + ]; + + dontBuild = true; + dontWrapQtApps = true; + + installPhase = '' + runHook preInstall + + kpackagetool6 --type KWin/Script --install $src --packageroot $out/share/kwin/scripts + + runHook postInstall + ''; + + meta = { + description = "KWin script that automatically adds/removes virtual desktops"; + homepage = "https://github.com/maurges/dynamic_workspaces"; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ federicoschonborn ]; + platforms = lib.platforms.all; + }; +}