diff --git a/pkgs/kde/default.nix b/pkgs/kde/default.nix index 6f80e4eaadb4..607b54d17c23 100644 --- a/pkgs/kde/default.nix +++ b/pkgs/kde/default.nix @@ -61,7 +61,6 @@ libmediawiki = null; alpaka = self.callPackage ./misc/alpaka {}; - applet-window-buttons6 = self.callPackage ./third-party/applet-window-buttons6 {}; kdiagram = self.callPackage ./misc/kdiagram {}; kdsoap-ws-discovery-client = self.callPackage ./misc/kdsoap-ws-discovery-client {}; kirigami-addons = self.callPackage ./misc/kirigami-addons {}; @@ -78,6 +77,10 @@ phonon-vlc = self.callPackage ./misc/phonon-vlc {}; polkit-qt-1 = self.callPackage ./misc/polkit-qt-1 {}; pulseaudio-qt = self.callPackage ./misc/pulseaudio-qt {}; + + applet-window-buttons6 = self.callPackage ./third-party/applet-window-buttons6 {}; + karousel = self.callPackage ./third-party/karousel {}; + kzones = self.callPackage ./third-party/kzones {}; } ); in diff --git a/pkgs/kde/third-party/karousel/default.nix b/pkgs/kde/third-party/karousel/default.nix new file mode 100644 index 000000000000..ebaf37cfa3a6 --- /dev/null +++ b/pkgs/kde/third-party/karousel/default.nix @@ -0,0 +1,49 @@ +{ + lib, + stdenv, + fetchFromGitHub, + kpackage, + kwin, + nodejs, + typescript, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "karousel"; + version = "0.9.4"; + + src = fetchFromGitHub { + owner = "peterfajdiga"; + repo = "karousel"; + rev = "v${finalAttrs.version}"; + hash = "sha256-L6N1TCvc9AoTTJrAnO68lbSZq8M668BHAU7ynNzoTn8="; + }; + + postPatch = '' + patchShebangs run-ts.sh + ''; + + nativeBuildInputs = [ + kpackage + nodejs + typescript + ]; + buildInputs = [ kwin ]; + dontWrapQtApps = true; + + installPhase = '' + runHook preInstall + + kpackagetool6 --type=KWin/Script --install=./package --packageroot=$out/share/kwin/scripts + + runHook postInstall + ''; + + meta = { + description = "Scrollable tiling Kwin script"; + homepage = "https://github.com/peterfajdiga/karousel"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ k900 ]; + platforms = lib.platforms.all; + }; +}) diff --git a/pkgs/kde/third-party/kzones/default.nix b/pkgs/kde/third-party/kzones/default.nix new file mode 100644 index 000000000000..a53d88af099a --- /dev/null +++ b/pkgs/kde/third-party/kzones/default.nix @@ -0,0 +1,45 @@ +{ + lib, + stdenv, + fetchFromGitHub, + kpackage, + kwin, + zip, +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "kzones"; + version = "0.8"; + + src = fetchFromGitHub { + owner = "gerritdevriese"; + repo = "kzones"; + rev = "v${finalAttrs.version}"; + hash = "sha256-6cZJEcvynlP9nXyBKRst8Bca0d8Mh51ft7ocRrgCV7w="; + }; + + nativeBuildInputs = [ + kpackage + zip + ]; + buildInputs = [ kwin ]; + dontWrapQtApps = true; + + buildFlags = [ "build" ]; + + installPhase = '' + runHook preInstall + + kpackagetool6 --type=KWin/Script --install=kzones.kwinscript --packageroot=$out/share/kwin/scripts + + runHook postInstall + ''; + + meta = { + description = "KDE KWin Script for snapping windows into zones"; + homepage = "https://github.com/gerritdevriese/kzones/"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ k900 ]; + platforms = lib.platforms.all; + }; +})