plasma5: drop

This commit is contained in:
K900
2025-08-21 23:21:45 +03:00
parent efce08af16
commit ee897e6fb5
95 changed files with 0 additions and 4605 deletions
@@ -1,13 +0,0 @@
diff --git a/src/kwinscript/CMakeLists.txt b/src/kwinscript/CMakeLists.txt
index 9e2f7054..ed607027 100644
--- a/src/kwinscript/CMakeLists.txt
+++ b/src/kwinscript/CMakeLists.txt
@@ -39,7 +39,7 @@ endif()
set(ESBUILD_COMMAND
"esbuild" "--bundle" "${CMAKE_CURRENT_SOURCE_DIR}/index.ts"
"--outfile=${CMAKE_CURRENT_BINARY_DIR}/bismuth/contents/code/index.mjs"
- "--format=esm" "--platform=neutral")
+ "--format=esm" "--platform=neutral" "--target=es6")
if(USE_NPM)
list(PREPEND ESBUILD_COMMAND "npx")
endif()
@@ -1,54 +0,0 @@
{
lib,
mkDerivation,
fetchFromGitHub,
kcoreaddons,
kwindowsystem,
plasma-framework,
systemsettings,
cmake,
extra-cmake-modules,
esbuild,
}:
mkDerivation rec {
pname = "bismuth";
version = "3.1.4";
src = fetchFromGitHub {
owner = "Bismuth-Forge";
repo = pname;
rev = "v${version}";
sha256 = "sha256-c13OFEw6E/I8j/mqeLnuc9Chi6pc3+AgwAMPpCzh974=";
};
patches = [
./0001-esbuild-config.patch
];
cmakeFlags = [
"-DUSE_TSC=OFF"
"-DUSE_NPM=OFF"
];
nativeBuildInputs = [
cmake
extra-cmake-modules
esbuild
];
buildInputs = [
kcoreaddons
kwindowsystem
plasma-framework
systemsettings
];
meta = with lib; {
description = "Dynamic tiling extension for KWin";
license = licenses.mit;
maintainers = with maintainers; [ pasqui23 ];
homepage = "https://bismuth-forge.github.io/bismuth/";
inherit (kwindowsystem.meta) platforms;
};
}
@@ -1,39 +0,0 @@
{
lib,
mkDerivation,
fetchFromGitHub,
extra-cmake-modules,
kwindowsystem,
plasma-framework,
}:
mkDerivation rec {
pname = "plasma-applet-caffeine-plus";
version = "1.4";
src = fetchFromGitHub {
owner = "qunxyz";
repo = pname;
rev = "v${version}";
sha256 = "sha256-/Nz0kSDGok7GjqSQtjH/8q/u6blVTFPO6kfjEyt/jEo=";
};
buildInputs = [
kwindowsystem
plasma-framework
];
nativeBuildInputs = [ extra-cmake-modules ];
cmakeFlags = [
"-Wno-dev"
];
meta = with lib; {
description = "Disable screensaver and auto suspend";
license = licenses.gpl2;
maintainers = with maintainers; [ peterhoeg ];
inherit (src.meta) homepage;
inherit (kwindowsystem.meta) platforms;
};
}
-53
View File
@@ -1,53 +0,0 @@
{
lib,
stdenv,
fetchFromGitLab,
python3,
}:
let
pythonEnv = python3.withPackages (
p: with p; [
dbus-python
pygobject3
]
);
in
stdenv.mkDerivation rec {
pname = "krunner-ssh";
version = "1.0";
src = fetchFromGitLab {
owner = "Programie";
repo = "krunner-ssh";
rev = version;
hash = "sha256-rFTTvmetDeN6t0axVc+8t1TRiuyPBpwqhvsq2IFxa/A=";
};
postPatch = ''
sed -e "s|Exec=.*|Exec=$out/libexec/runner.py|" -i ssh-runner.service
'';
nativeBuildInputs = [
pythonEnv
];
installPhase = ''
runHook preInstall
patchShebangs runner.py
install -m 0755 -D runner.py $out/libexec/runner.py
install -m 0755 -D ssh-runner.desktop $out/share/kservices5/ssh-runner.desktop
install -m 0755 -D ssh-runner.service $out/share/dbus-1/services/com.selfcoders.ssh-runner.service
runHook postInstall
'';
meta = with lib; {
description = "Simple backend for KRunner providing SSH hosts from your .ssh/known_hosts file as search results";
homepage = "https://selfcoders.com/projects/krunner-ssh";
license = licenses.mit;
maintainers = with maintainers; [ aanderse ];
platforms = platforms.linux;
};
}
@@ -1,57 +0,0 @@
{
lib,
stdenv,
cmake,
fetchFromGitHub,
extra-cmake-modules,
qtbase,
wrapQtAppsHook,
ki18n,
kdelibs4support,
krunner,
}:
stdenv.mkDerivation rec {
pname = "krunner-symbols";
version = "1.1.0";
src = fetchFromGitHub {
owner = "domschrei";
repo = "krunner-symbols";
rev = version;
sha256 = "sha256-YsoZdPTWpk3/YERwerrVEcaf2IfGVJwpq32onhP8Exo=";
};
buildInputs = [
qtbase
ki18n
kdelibs4support
krunner
];
nativeBuildInputs = [
cmake
wrapQtAppsHook
extra-cmake-modules
];
postPatch = ''
# symbols.cpp hardcodes the location of configuration files
substituteInPlace symbols.cpp \
--replace "/usr/share/config/krunner-symbol" "$out/share/config/krunner-symbol"
# change cmake flag names to output using the correct qt-plugin prefix and kservice location
substituteInPlace CMakeLists.txt \
--replace "LOCATION_PLUGIN" "KDE_INSTALL_PLUGINDIR" \
--replace "LOCATION_DESKTOP" "KDE_INSTALL_KSERVICES5DIR"
'';
cmakeFlags = [ "-DLOCATION_CONFIG=share/config" ];
meta = with lib; {
description = "Little krunner plugin (Plasma 5) to retrieve unicode symbols, or any other string, based on a corresponding keyword";
homepage = "https://github.com/domschrei/krunner-symbols";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ hqurve ];
platforms = platforms.linux;
};
}
@@ -1,43 +0,0 @@
{
lib,
mkDerivation,
fetchFromGitHub,
extra-cmake-modules,
kwindowsystem,
plasma-framework,
qtx11extras,
}:
mkDerivation {
pname = "plasma-applet-virtual-desktop-bar";
version = "unstable-2021-02-20";
src = fetchFromGitHub {
owner = "wsdfhjxc";
repo = "virtual-desktop-bar";
rev = "3e9bbddb8def8da65071a1c325eaa06598e8a473";
sha256 = "192ns6c2brzq46pg385n0v1ydbz52aaa8f5dgfw5251hrw9c7bxg";
};
buildInputs = [
kwindowsystem
plasma-framework
qtx11extras
];
nativeBuildInputs = [
extra-cmake-modules
];
cmakeFlags = [
"-Wno-dev"
];
meta = with lib; {
description = "Manage virtual desktops dynamically in a convenient way";
homepage = "https://github.com/wsdfhjxc/virtual-desktop-bar";
license = licenses.gpl3Only;
platforms = platforms.linux;
maintainers = with maintainers; [ peterhoeg ];
};
}
@@ -1,49 +0,0 @@
{
lib,
mkDerivation,
fetchFromGitHub,
kcoreaddons,
kwindowsystem,
plasma-framework,
systemsettings,
}:
mkDerivation rec {
pname = "dynamic_workspaces";
version = "1.0.1";
src = fetchFromGitHub {
owner = "d86leader";
repo = pname;
rev = "v${version}";
sha256 = "1mnwh489i6l8z9s5a1zl7zybkw76pp9fdmmis41mym7r4wz4iznm";
};
buildInputs = [
kcoreaddons
kwindowsystem
plasma-framework
systemsettings
];
dontBuild = true;
# 1. --global still installs to $HOME/.local/share so we use --packageroot
# 2. plasmapkg2 doesn't copy metadata.desktop into place, so we do that manually
installPhase = ''
runHook preInstall
plasmapkg2 --type kwinscript --install ${src} --packageroot $out/share/kwin/scripts
install -Dm644 ${src}/metadata.desktop $out/share/kservices5/dynamic_workspaces.desktop
runHook postInstall
'';
meta = with lib; {
description = "KWin script that automatically adds/removes virtual desktops";
license = licenses.bsd3;
maintainers = [ ];
inherit (src.meta) homepage;
inherit (kwindowsystem.meta) platforms;
};
}
@@ -1,49 +0,0 @@
{
lib,
mkDerivation,
fetchFromGitHub,
kcoreaddons,
kwindowsystem,
plasma-framework,
systemsettings,
}:
mkDerivation rec {
pname = "krohnkite";
version = "0.8.2";
src = fetchFromGitHub {
owner = "esjeon";
repo = "krohnkite";
rev = "v${version}";
hash = "sha256-HZCD5884pHuHey+d+HRx/F/Sp1b6ZUy7MdqqZ08H0lU=";
};
buildInputs = [
kcoreaddons
kwindowsystem
plasma-framework
systemsettings
];
dontBuild = true;
# 1. --global still installs to $HOME/.local/share so we use --packageroot
# 2. plasmapkg2 doesn't copy metadata.desktop into place, so we do that manually
installPhase = ''
runHook preInstall
plasmapkg2 --type kwinscript --install ${src}/res/ --packageroot $out/share/kwin/scripts
install -Dm644 ${src}/res/metadata.desktop $out/share/kservices5/krohnkite.desktop
runHook postInstall
'';
meta = with lib; {
description = "Dynamic tiling extension for KWin";
license = licenses.mit;
maintainers = with maintainers; [ seqizz ];
inherit (src.meta) homepage;
inherit (kwindowsystem.meta) platforms;
};
}
-54
View File
@@ -1,54 +0,0 @@
{
lib,
stdenv,
fetchFromGitHub,
kcoreaddons,
kwindowsystem,
plasma-framework,
systemsettings,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "kzones";
version = "0.6";
src = fetchFromGitHub {
owner = "gerritdevriese";
repo = "kzones";
rev = "v${finalAttrs.version}";
sha256 = "sha256-OAgzuX05dvotjRWiyPPeUieVJbQoy/opGYu6uVKQM60=";
};
nativeBuildInputs = [ plasma-framework ];
buildInputs = [
kcoreaddons
kwindowsystem
plasma-framework
systemsettings
];
dontBuild = true;
# we don't have anything to wrap anyway
dontWrapQtApps = true;
# 1. --global still installs to $HOME/.local/share so we use --packageroot
# 2. plasmapkg2 doesn't copy metadata.desktop into place, so we do that manually
installPhase = ''
runHook preInstall
plasmapkg2 --type kwinscript --install ${finalAttrs.src} --packageroot $out/share/kwin/scripts
install -Dm644 ${finalAttrs.src}/metadata.desktop $out/share/kservices5/kwin-script-kzones.desktop
runHook postInstall
'';
meta = with lib; {
description = "KWin Script for snapping windows into zones";
maintainers = with maintainers; [ matthiasbeyer ];
license = licenses.gpl3Plus;
inherit (finalAttrs.src.meta) homepage;
inherit (kwindowsystem.meta) platforms;
};
})
@@ -1,47 +0,0 @@
{
lib,
mkDerivation,
fetchFromGitHub,
kcoreaddons,
kwindowsystem,
plasma-framework,
systemsettings,
}:
mkDerivation rec {
pname = "parachute";
version = "0.9.1";
src = fetchFromGitHub {
owner = "tcorreabr";
repo = "parachute";
rev = "v${version}";
sha256 = "QIWb1zIGfkS+Bef7LK+JA6XpwGUW+79XZY47j75nlCE=";
};
buildInputs = [
kcoreaddons
kwindowsystem
plasma-framework
systemsettings
];
dontBuild = true;
# 1. --global still installs to $HOME/.local/share so we use --packageroot
# 2. plasmapkg2 doesn't copy metadata.desktop into place, so we do that manually
installPhase = ''
runHook preInstall
plasmapkg2 --type kwinscript --install ${src} --packageroot $out/share/kwin/scripts
install -Dm644 ${src}/metadata.desktop $out/share/kservices5/Parachute.desktop
runHook postInstall
'';
meta = with lib; {
description = "Look at your windows and desktops from above";
license = licenses.gpl3Only;
maintainers = [ ];
inherit (src.meta) homepage;
inherit (kwindowsystem.meta) platforms;
};
}
-54
View File
@@ -1,54 +0,0 @@
{
lib,
mkDerivation,
fetchFromGitHub,
kcoreaddons,
kwindowsystem,
plasma-framework,
systemsettings,
}:
mkDerivation rec {
pname = "kwin-tiling";
version = "2.4";
src = fetchFromGitHub {
owner = "kwin-scripts";
repo = "kwin-tiling";
rev = "v${version}";
sha256 = "095slpvipy0zcmbn0l7mdnl9g74jaafkr2gqi09b0by5fkvnbh37";
};
# This is technically not needed, but we might as well clean up
postPatch = ''
rm release.sh
'';
buildInputs = [
kcoreaddons
kwindowsystem
plasma-framework
systemsettings
];
dontBuild = true;
# 1. --global still installs to $HOME/.local/share so we use --packageroot
# 2. plasmapkg2 doesn't copy metadata.desktop into place, so we do that manually
installPhase = ''
runHook preInstall
plasmapkg2 --type kwinscript --install ${src} --packageroot $out/share/kwin/scripts
install -Dm644 ${src}/metadata.desktop $out/share/kservices5/kwin-script-tiling.desktop
runHook postInstall
'';
meta = with lib; {
description = "Tiling script for kwin";
license = licenses.gpl2;
maintainers = with maintainers; [ peterhoeg ];
inherit (src.meta) homepage;
inherit (kwindowsystem.meta) platforms;
};
}
-50
View File
@@ -1,50 +0,0 @@
{
lib,
mkDerivation,
fetchFromGitHub,
cmake,
extra-cmake-modules,
kdecoration,
kcoreaddons,
kguiaddons,
kconfigwidgets,
kwindowsystem,
kiconthemes,
qtx11extras,
}:
mkDerivation rec {
pname = "lightly";
version = "0.4.1";
src = fetchFromGitHub {
owner = "Luwx";
repo = pname;
rev = "v${version}";
sha256 = "k1fEZbhzluNlAmj5s/O9X20aCVQxlWQm/Iw/euX7cmI=";
};
extraCmakeFlags = [ "-DBUILD_TESTING=OFF" ];
nativeBuildInputs = [
cmake
extra-cmake-modules
];
buildInputs = [
kcoreaddons
kguiaddons
kconfigwidgets
kwindowsystem
kiconthemes
qtx11extras
kdecoration
];
meta = with lib; {
description = "Modern style for qt applications";
license = licenses.gpl2Only;
maintainers = with maintainers; [ pasqui23 ];
homepage = "https://github.com/Luwx/Lightly/";
inherit (kwindowsystem.meta) platforms;
};
}
-18
View File
@@ -1,18 +0,0 @@
{
mkDerivation,
extra-cmake-modules,
qtwebengine,
qtquickcontrols2,
kirigami2,
ki18n,
}:
mkDerivation {
pname = "aura-browser";
nativeBuildInputs = [ extra-cmake-modules ];
buildInputs = [
qtwebengine
qtquickcontrols2
kirigami2
ki18n
];
}
-43
View File
@@ -1,43 +0,0 @@
{
mkDerivation,
extra-cmake-modules,
shared-mime-info,
qtbase,
qtdeclarative,
bluez-qt,
kcoreaddons,
kcmutils,
kdbusaddons,
kded,
ki18n,
kiconthemes,
kio,
knotifications,
kwidgetsaddons,
kwindowsystem,
plasma-framework,
}:
mkDerivation {
pname = "bluedevil";
nativeBuildInputs = [
extra-cmake-modules
shared-mime-info
];
buildInputs = [
qtbase
qtdeclarative
bluez-qt
ki18n
kio
kwindowsystem
plasma-framework
kcoreaddons
kdbusaddons
kded
kiconthemes
knotifications
kwidgetsaddons
kcmutils
];
}
-15
View File
@@ -1,15 +0,0 @@
{
mkDerivation,
}:
mkDerivation {
pname = "breeze-grub";
installPhase = ''
runHook preInstall
mkdir -p "$out/grub/themes"
mv breeze "$out/grub/themes"
runHook postInstall
'';
}
-24
View File
@@ -1,24 +0,0 @@
{
mkDerivation,
extra-cmake-modules,
qtbase,
sassc,
python3,
breeze-qt5,
}:
mkDerivation {
pname = "breeze-gtk";
nativeBuildInputs = [
extra-cmake-modules
sassc
python3
python3.pkgs.pycairo
breeze-qt5
];
buildInputs = [ qtbase ];
patches = [
./patches/0001-fix-add-executable-bit.patch
];
cmakeFlags = [ "-DWITH_GTK3_VERSION=3.22" ];
}
@@ -1,69 +0,0 @@
{
mkDerivation,
lib,
extra-cmake-modules,
plymouth,
imagemagick,
netpbm,
perl,
logoName ? null,
logoFile ? null,
osName ? null,
osVersion ? null,
topColor ? "black",
bottomColor ? "black",
}:
let
validColors = [
"black"
"cardboard_grey"
"charcoal_grey"
"icon_blue"
"paper_white"
"plasma_blue"
"neon_blue"
"neon_green"
];
resolvedLogoName =
if (logoFile != null && logoName == null) then
lib.strings.removeSuffix ".png" (baseNameOf (toString logoFile))
else
logoName;
in
assert lib.asserts.assertOneOf "topColor" topColor validColors;
assert lib.asserts.assertOneOf "bottomColor" bottomColor validColors;
mkDerivation {
pname = "breeze-plymouth";
nativeBuildInputs = [
extra-cmake-modules
]
++ lib.optionals (logoFile != null) [
imagemagick
netpbm
perl
];
buildInputs = [ plymouth ];
patches = [
./install-paths.patch
];
cmakeFlags =
[ ]
++ lib.optional (osName != null) "-DDISTRO_NAME=${osName}"
++ lib.optional (osVersion != null) "-DDISTRO_VERSION=${osVersion}"
++ lib.optional (logoName != null) "-DDISTRO_LOGO=${logoName}"
++ lib.optional (topColor != null) "-DBACKGROUND_TOP_COLOR=${topColor}"
++ lib.optional (bottomColor != null) "-DBACKGROUND_BOTTOM_COLOR=${bottomColor}";
postPatch = ''
substituteInPlace cmake/FindPlymouth.cmake --subst-var out
''
+ lib.optionalString (logoFile != null) ''
cp ${logoFile} breeze/images/${resolvedLogoName}.logo.png
# conversion for 16bit taken from the breeze-plymouth readme
convert ${logoFile} -alpha Background -background "#000000" -fill "#000000" -flatten tmp.png
pngtopnm tmp.png | pnmquant 16 | pnmtopng > breeze/images/16bit/${resolvedLogoName}.logo.png
'';
}
@@ -1,19 +0,0 @@
Index: breeze-plymouth-5.7.3/cmake/FindPlymouth.cmake
===================================================================
--- breeze-plymouth-5.7.3.orig/cmake/FindPlymouth.cmake
+++ breeze-plymouth-5.7.3/cmake/FindPlymouth.cmake
@@ -24,12 +24,8 @@
include(FindPkgConfig)
pkg_check_modules(Plymouth ply-boot-client ply-splash-core)
-exec_program(${PKG_CONFIG_EXECUTABLE}
- ARGS ply-splash-core --variable=pluginsdir
- OUTPUT_VARIABLE Plymouth_PLUGINSDIR)
-exec_program(${PKG_CONFIG_EXECUTABLE}
- ARGS ply-splash-core --variable=themesdir
- OUTPUT_VARIABLE Plymouth_THEMESDIR)
+set(Plymouth_PLUGINSDIR "@out@/lib/plymouth")
+set(Plymouth_THEMESDIR "@out@/share/plymouth/themes")
find_package_handle_standard_args(Plymouth
FOUND_VAR
-44
View File
@@ -1,44 +0,0 @@
{
mkDerivation,
extra-cmake-modules,
frameworkintegration,
kcmutils,
kconfigwidgets,
kcoreaddons,
kdecoration,
kguiaddons,
ki18n,
kwayland,
kwindowsystem,
plasma-framework,
qtdeclarative,
qtx11extras,
fftw,
}:
mkDerivation {
pname = "breeze-qt5";
sname = "breeze";
nativeBuildInputs = [ extra-cmake-modules ];
propagatedBuildInputs = [
frameworkintegration
kcmutils
kconfigwidgets
kcoreaddons
kdecoration
kguiaddons
ki18n
kwayland
kwindowsystem
plasma-framework
qtdeclarative
qtx11extras
fftw
];
outputs = [
"bin"
"dev"
"out"
];
cmakeFlags = [ "-DUSE_Qt4=OFF" ];
}
-218
View File
@@ -1,218 +0,0 @@
/*
# New packages
READ THIS FIRST
This module is for official packages in KDE Plasma 5. All available packages are
listed in `./srcs.nix`, although a few are not yet packaged in Nixpkgs (see
below).
IF YOUR PACKAGE IS NOT LISTED IN `./srcs.nix`, IT DOES NOT GO HERE.
Many of the packages released upstream are not yet built in Nixpkgs due to lack
of demand. To add a Nixpkgs build for an upstream package, copy one of the
existing packages here and modify it as necessary.
# Updates
1. Update the URL in `./fetch.sh`.
2. Run `./maintainers/scripts/fetch-kde-qt.sh pkgs/desktops/plasma-5`
from the top of the Nixpkgs tree.
3. Use `nox-review wip` to check that everything builds.
4. Commit the changes and open a pull request.
*/
{
libsForQt5,
lib,
config,
fetchurl,
gsettings-desktop-schemas,
}:
let
maintainers = with lib.maintainers; [
ttuegel
nyanloutre
];
license = with lib.licenses; [
lgpl21Plus
lgpl3Plus
bsd2
mit
gpl2Plus
gpl3Plus
fdl12Plus
];
srcs = import ./srcs.nix {
inherit fetchurl;
mirror = "mirror://kde";
};
qtStdenv = libsForQt5.callPackage ({ stdenv }: stdenv) { };
packages =
self:
let
propagate =
out:
let
setupHook =
{ writeScript }:
writeScript "setup-hook" ''
if [[ "''${hookName-}" != postHook ]]; then
postHooks+=("source @dev@/nix-support/setup-hook")
else
# Propagate $${out} output
appendToVar propagatedUserEnvPkgs "@${out}@"
if [ -z "$outputDev" ]; then
echo "error: \$outputDev is unset!" >&2
exit 1
fi
# Propagate $dev so that this setup hook is propagated
# But only if there is a separate $dev output
if [ "$outputDev" != out ]; then
appendToVar propagatedBuildInputs "@dev@"
fi
fi
'';
in
callPackage setupHook { };
propagateBin = propagate "bin";
callPackage = self.newScope {
inherit propagate propagateBin;
mkDerivation =
args:
let
inherit (args) pname;
sname = args.sname or pname;
inherit (srcs.${sname}) src version;
outputs = args.outputs or [ "out" ];
hasBin = lib.elem "bin" outputs;
hasDev = lib.elem "dev" outputs;
defaultSetupHook = if hasBin && hasDev then propagateBin else null;
setupHook = args.setupHook or defaultSetupHook;
nativeBuildInputs = (args.nativeBuildInputs or [ ]) ++ [ libsForQt5.wrapQtAppsHook ];
meta =
let
meta = args.meta or { };
in
meta
// {
homepage = meta.homepage or "http://www.kde.org";
license = meta.license or license;
maintainers = (meta.maintainers or [ ]) ++ maintainers;
platforms = meta.platforms or lib.platforms.linux;
};
in
qtStdenv.mkDerivation (
args
// {
inherit
pname
version
meta
outputs
setupHook
src
nativeBuildInputs
;
}
);
};
in
{
aura-browser = callPackage ./aura-browser.nix { };
bluedevil = callPackage ./bluedevil.nix { };
breeze-gtk = callPackage ./breeze-gtk.nix { };
breeze-qt5 = callPackage ./breeze-qt5.nix { };
breeze-grub = callPackage ./breeze-grub.nix { };
breeze-plymouth = callPackage ./breeze-plymouth { };
discover = callPackage ./discover.nix { };
flatpak-kcm = callPackage ./flatpak-kcm.nix { };
kactivitymanagerd = callPackage ./kactivitymanagerd.nix { };
kde-cli-tools = callPackage ./kde-cli-tools.nix { };
kde-gtk-config = callPackage ./kde-gtk-config { inherit gsettings-desktop-schemas; };
kdecoration = callPackage ./kdecoration.nix { };
kdeplasma-addons = callPackage ./kdeplasma-addons.nix { };
kgamma5 = callPackage ./kgamma5.nix { };
khotkeys = callPackage ./khotkeys.nix { };
kinfocenter = callPackage ./kinfocenter { };
kmenuedit = callPackage ./kmenuedit.nix { };
kpipewire = callPackage ./kpipewire.nix { };
kscreen = callPackage ./kscreen.nix { };
kscreenlocker = callPackage ./kscreenlocker.nix { };
ksshaskpass = callPackage ./ksshaskpass.nix { };
ksystemstats = callPackage ./ksystemstats.nix { };
kwallet-pam = callPackage ./kwallet-pam.nix { };
kwayland-integration = callPackage ./kwayland-integration.nix { };
kwin = callPackage ./kwin { };
kwrited = callPackage ./kwrited.nix { };
layer-shell-qt = callPackage ./layer-shell-qt.nix { };
libkscreen = callPackage ./libkscreen { };
libksysguard = callPackage ./libksysguard { };
milou = callPackage ./milou.nix { };
oxygen = callPackage ./oxygen.nix { };
oxygen-sounds = callPackage ./oxygen-sounds.nix { };
plank-player = callPackage ./plank-player.nix { };
plasma-bigscreen = callPackage ./plasma-bigscreen.nix { };
plasma-browser-integration = callPackage ./plasma-browser-integration.nix { };
plasma-desktop = callPackage ./plasma-desktop { };
plasma-disks = callPackage ./plasma-disks.nix { };
plasma-firewall = callPackage ./plasma-firewall.nix { };
plasma-integration = callPackage ./plasma-integration { };
plasma-mobile = callPackage ./plasma-mobile { };
plasma-nano = callPackage ./plasma-nano { };
plasma-nm = callPackage ./plasma-nm { };
plasma-pa = callPackage ./plasma-pa.nix { };
plasma-remotecontrollers = callPackage ./plasma-remotecontrollers.nix { };
plasma-sdk = callPackage ./plasma-sdk.nix { };
plasma-systemmonitor = callPackage ./plasma-systemmonitor.nix { };
plasma-thunderbolt = callPackage ./plasma-thunderbolt.nix { };
plasma-vault = callPackage ./plasma-vault { };
plasma-welcome = callPackage ./plasma-welcome.nix { };
plasma-workspace = callPackage ./plasma-workspace { };
plasma-workspace-wallpapers = callPackage ./plasma-workspace-wallpapers.nix { };
polkit-kde-agent = callPackage ./polkit-kde-agent.nix { };
powerdevil = callPackage ./powerdevil.nix { };
qqc2-breeze-style = callPackage ./qqc2-breeze-style.nix { };
sddm-kcm = callPackage ./sddm-kcm.nix { };
systemsettings = callPackage ./systemsettings.nix { };
xdg-desktop-portal-kde = callPackage ./xdg-desktop-portal-kde.nix { };
thirdParty =
let
inherit (libsForQt5) callPackage;
in
{
plasma-applet-caffeine-plus = callPackage ./3rdparty/addons/caffeine-plus.nix { };
plasma-applet-virtual-desktop-bar = callPackage ./3rdparty/addons/virtual-desktop-bar.nix { };
bismuth = callPackage ./3rdparty/addons/bismuth { };
kwin-dynamic-workspaces = callPackage ./3rdparty/kwin/scripts/dynamic-workspaces.nix { };
kwin-tiling = callPackage ./3rdparty/kwin/scripts/tiling.nix { };
krohnkite = callPackage ./3rdparty/kwin/scripts/krohnkite.nix { };
krunner-ssh = callPackage ./3rdparty/addons/krunner-ssh.nix { };
krunner-symbols = callPackage ./3rdparty/addons/krunner-symbols.nix { };
kzones = callPackage ./3rdparty/kwin/scripts/kzones.nix { };
lightly = callPackage ./3rdparty/lightly { };
parachute = callPackage ./3rdparty/kwin/scripts/parachute.nix { };
};
}
// lib.optionalAttrs config.allowAliases {
ksysguard = throw "ksysguard has been replaced with plasma-systemmonitor";
plasma-phone-components = throw "'plasma-phone-components' has been renamed to/replaced by 'plasma-mobile'";
};
in
lib.makeScope libsForQt5.newScope packages
-76
View File
@@ -1,76 +0,0 @@
{
mkDerivation,
extra-cmake-modules,
gettext,
kdoctools,
python3,
appstream-qt,
discount,
flatpak,
fwupd,
ostree,
pcre,
util-linux,
qtquickcontrols2,
qtwebview,
qtx11extras,
karchive,
kcmutils,
kconfig,
kcrash,
kdbusaddons,
kdeclarative,
kidletime,
kio,
kirigami2,
kitemmodels,
knewstuff,
kpurpose,
kuserfeedback,
kwindowsystem,
kxmlgui,
plasma-framework,
}:
mkDerivation {
pname = "discover";
nativeBuildInputs = [
extra-cmake-modules
gettext
kdoctools
python3
];
buildInputs = [
# discount is needed for libmarkdown
appstream-qt
discount
flatpak
fwupd
ostree
pcre
util-linux
qtquickcontrols2
qtwebview
qtx11extras
karchive
kcmutils
kconfig
kcrash
kdbusaddons
kdeclarative
kidletime
kio
kirigami2
kitemmodels
knewstuff
kpurpose
kuserfeedback
kwindowsystem
kxmlgui
plasma-framework
];
# Incompatible with our current version of fwupd:
# error: 'fwupd_release_get_uri' was not declared in this scope
meta.broken = true;
}
-1
View File
@@ -1 +0,0 @@
WGET_ARGS=( https://download.kde.org/stable/plasma/5.27.11/ -A '*.tar.xz' )
-21
View File
@@ -1,21 +0,0 @@
{
mkDerivation,
extra-cmake-modules,
flatpak,
kcmutils,
kconfig,
kdeclarative,
kitemmodels,
}:
mkDerivation {
pname = "flatpak-kcm";
nativeBuildInputs = [ extra-cmake-modules ];
buildInputs = [
flatpak
kcmutils
kconfig
kdeclarative
kitemmodels
];
}
@@ -1,32 +0,0 @@
{
mkDerivation,
extra-cmake-modules,
boost,
kconfig,
kcoreaddons,
kdbusaddons,
ki18n,
kio,
kglobalaccel,
kwindowsystem,
kxmlgui,
kcrash,
qtbase,
}:
mkDerivation {
pname = "kactivitymanagerd";
nativeBuildInputs = [ extra-cmake-modules ];
buildInputs = [
boost
kconfig
kcoreaddons
kdbusaddons
kglobalaccel
ki18n
kio
kwindowsystem
kxmlgui
kcrash
];
}
-54
View File
@@ -1,54 +0,0 @@
{
lib,
mkDerivation,
extra-cmake-modules,
kdoctools,
kcmutils,
kconfig,
kdesu,
ki18n,
kiconthemes,
kinit,
kio,
kwindowsystem,
qtsvg,
qtx11extras,
kactivities,
plasma-workspace,
}:
mkDerivation {
pname = "kde-cli-tools";
nativeBuildInputs = [
extra-cmake-modules
kdoctools
];
buildInputs = [
kcmutils
kconfig
kdesu
ki18n
kiconthemes
kinit
kio
kwindowsystem
qtsvg
qtx11extras
kactivities
plasma-workspace
];
postInstall = ''
# install a symlink in bin so that kdesu can eventually be found in PATH
mkdir -p $out/bin
ln -s $out/libexec/kf5/kdesu $out/bin
'';
dontWrapQtApps = true;
preFixup = ''
for program in $out/bin/*; do
wrapQtApp $program
done
# kdesu looks for kdeinit5 in PATH
wrapQtApp $out/libexec/kf5/kdesu --suffix PATH : ${lib.getBin kinit}/bin
'';
}
@@ -1,21 +0,0 @@
diff --git a/kded/gtkconfig.cpp b/kded/gtkconfig.cpp
index 5303636..199c4d5 100644
--- a/kded/gtkconfig.cpp
+++ b/kded/gtkconfig.cpp
@@ -41,6 +41,16 @@ GtkConfig::GtkConfig(QObject *parent, const QVariantList&) :
kdeglobalsConfigWatcher(KConfigWatcher::create(KSharedConfig::openConfig(QStringLiteral("kdeglobals")))),
kwinConfigWatcher(KConfigWatcher::create(KSharedConfig::openConfig(QStringLiteral("kwinrc"))))
{
+ // Add GSETTINGS_SCHEMAS_PATH to the front of XDG_DATA_DIRS.
+ // Normally this would be done by wrapGAppsHook, but this plugin
+ // (shared object) cannot be wrapped.
+ QByteArray xdgdata = qgetenv("XDG_DATA_DIRS");
+ if (!xdgdata.isEmpty()) {
+ xdgdata.push_front(":");
+ }
+ xdgdata.push_front(QByteArray(GSETTINGS_SCHEMAS_PATH));
+ qputenv("XDG_DATA_DIRS", xdgdata);
+
QDBusConnection dbus = QDBusConnection::sessionBus();
dbus.registerService(QStringLiteral("org.kde.GtkConfig"));
dbus.registerObject(QStringLiteral("/GtkConfig"), this, QDBusConnection::ExportScriptableSlots);
@@ -1,52 +0,0 @@
{
mkDerivation,
extra-cmake-modules,
wrapGAppsHook3,
glib,
gtk3,
karchive,
kcmutils,
kconfigwidgets,
ki18n,
kiconthemes,
kio,
knewstuff,
gsettings-desktop-schemas,
xsettingsd,
kdecoration,
sass,
}:
mkDerivation {
pname = "kde-gtk-config";
nativeBuildInputs = [
extra-cmake-modules
wrapGAppsHook3
];
dontWrapGApps = true; # There is nothing to wrap
buildInputs = [
ki18n
kio
glib
gtk3
karchive
kcmutils
kconfigwidgets
kiconthemes
knewstuff
gsettings-desktop-schemas
xsettingsd
kdecoration
sass
];
cmakeFlags = [
"-DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib.out}/lib/glib-2.0/include"
"-DGLIB_SCHEMAS_DIR=${gsettings-desktop-schemas.out}/"
];
# The gtkconfig KDED module will crash the daemon if the GSettings schemas
# aren't found.
patches = [ ./0001-gsettings-schemas-path.patch ];
preConfigure = ''
NIX_CFLAGS_COMPILE+=" -DGSETTINGS_SCHEMAS_PATH=\"$GSETTINGS_SCHEMAS_PATH\""
'';
}
-21
View File
@@ -1,21 +0,0 @@
{
mkDerivation,
extra-cmake-modules,
qtbase,
ki18n,
kcoreaddons,
}:
mkDerivation {
pname = "kdecoration";
nativeBuildInputs = [ extra-cmake-modules ];
buildInputs = [
qtbase
ki18n
kcoreaddons
];
outputs = [
"out"
"dev"
];
}
@@ -1,51 +0,0 @@
{
mkDerivation,
extra-cmake-modules,
kdoctools,
kconfig,
kconfigwidgets,
kcoreaddons,
kcmutils,
kholidays,
kio,
knewstuff,
kpurpose,
kross,
krunner,
kservice,
kunitconversion,
ibus,
plasma-framework,
plasma-workspace,
qtdeclarative,
qtwebengine,
qtx11extras,
}:
mkDerivation {
pname = "kdeplasma-addons";
nativeBuildInputs = [
extra-cmake-modules
kdoctools
];
buildInputs = [
kconfig
kconfigwidgets
kcoreaddons
kcmutils
kholidays
kio
knewstuff
kpurpose
kross
krunner
kservice
kunitconversion
ibus
plasma-framework
plasma-workspace
qtdeclarative
qtwebengine
qtx11extras
];
}
-25
View File
@@ -1,25 +0,0 @@
{
mkDerivation,
extra-cmake-modules,
kdoctools,
kconfig,
kconfigwidgets,
ki18n,
qtx11extras,
libXxf86vm,
}:
mkDerivation {
pname = "kgamma5";
nativeBuildInputs = [
extra-cmake-modules
kdoctools
];
buildInputs = [
kconfig
kconfigwidgets
ki18n
qtx11extras
libXxf86vm
];
}
-40
View File
@@ -1,40 +0,0 @@
{
mkDerivation,
extra-cmake-modules,
kdoctools,
kcmutils,
kdbusaddons,
kdelibs4support,
kglobalaccel,
ki18n,
kio,
kxmlgui,
plasma-framework,
plasma-workspace,
qtx11extras,
}:
mkDerivation {
pname = "khotkeys";
nativeBuildInputs = [
extra-cmake-modules
kdoctools
];
buildInputs = [
kcmutils
kdbusaddons
kdelibs4support
kglobalaccel
ki18n
kio
kxmlgui
plasma-framework
plasma-workspace
qtx11extras
];
outputs = [
"bin"
"dev"
"out"
];
}
@@ -1,51 +0,0 @@
diff --git a/Modules/kwinsupportinfo/kcm_kwinsupportinfo.json.in b/Modules/kwinsupportinfo/kcm_kwinsupportinfo.json.in
index f591b9c..e883212 100644
--- a/Modules/kwinsupportinfo/kcm_kwinsupportinfo.json.in
+++ b/Modules/kwinsupportinfo/kcm_kwinsupportinfo.json.in
@@ -63,6 +63,6 @@
"Name[x-test]": "xxWindow Managerxx",
"Name[zh_CN]": "窗口管理器"
},
- "TryExec": "@QtBinariesDir@/qdbus",
+ "TryExec": "@qdbus@",
"X-KDE-KInfoCenter-Category": "graphical_information"
}
diff --git a/Modules/kwinsupportinfo/main.cpp b/Modules/kwinsupportinfo/main.cpp
index 667c079..b727b67 100644
--- a/Modules/kwinsupportinfo/main.cpp
+++ b/Modules/kwinsupportinfo/main.cpp
@@ -19,7 +19,7 @@ public:
explicit KCMKWinSupportInfo(QObject *parent, const KPluginMetaData &data, const QVariantList &args)
: ConfigModule(parent, data, args)
{
- auto outputContext = new CommandOutputContext(QLibraryInfo::location(QLibraryInfo::BinariesPath) + QStringLiteral("/qdbus"),
+ auto outputContext = new CommandOutputContext(QStringLiteral("@qdbus@"),
{QStringLiteral("org.kde.KWin"), QStringLiteral("/KWin"), QStringLiteral("supportInformation")},
parent);
qmlRegisterSingletonInstance("org.kde.kinfocenter.kwinsupportinfo.private", 1, 0, "InfoOutputContext", outputContext);
diff --git a/Modules/xserver/kcm_xserver.json b/Modules/xserver/kcm_xserver.json
index 04acd6b..24b8f36 100644
--- a/Modules/xserver/kcm_xserver.json
+++ b/Modules/xserver/kcm_xserver.json
@@ -130,7 +130,7 @@
"Name[zh_CN]": "X 服务器",
"Name[zh_TW]": "X 伺服器"
},
- "TryExec": "xdpyinfo",
+ "TryExec": "@xdpyinfo@",
"X-DocPath": "kinfocenter/graphical.html#xserver",
"X-KDE-KInfoCenter-Category": "graphical_information",
"X-KDE-Keywords": "X,X-Server,XServer,XFree86,Display,VideoCard,System Information",
diff --git a/Modules/xserver/main.cpp b/Modules/xserver/main.cpp
index c406ff7..a261b90 100644
--- a/Modules/xserver/main.cpp
+++ b/Modules/xserver/main.cpp
@@ -17,7 +17,7 @@ public:
explicit KCMXServer(QObject *parent, const KPluginMetaData &data, const QVariantList &args)
: ConfigModule(parent, data, args)
{
- auto outputContext = new CommandOutputContext(QStringLiteral("xdpyinfo"), {}, parent);
+ auto outputContext = new CommandOutputContext(QStringLiteral("@xdpyinfo@"), {}, parent);
qmlRegisterSingletonInstance("org.kde.kinfocenter.xserver.private", 1, 0, "InfoOutputContext", outputContext);
auto *about = new KAboutData(QStringLiteral("kcm_xserver"), i18nc("@label kcm name", "X-Server"), QStringLiteral("1.0"), QString(), KAboutLicense::GPL);
@@ -1,107 +0,0 @@
{
mkDerivation,
lib,
extra-cmake-modules,
kdoctools,
qttools,
kcmutils,
kcompletion,
kconfig,
kconfigwidgets,
kcoreaddons,
kdbusaddons,
kdeclarative,
ki18n,
kiconthemes,
kio,
kirigami2,
kpackage,
kservice,
kwayland,
kwidgetsaddons,
kxmlgui,
solid,
systemsettings,
dmidecode,
fwupd,
libraw1394,
libusb1,
libGLU,
pciutils,
smartmontools,
util-linux,
vulkan-tools,
wayland-utils,
xdpyinfo,
}:
let
inherit (lib) getBin getExe;
qdbus = "${getBin qttools}/bin/qdbus";
in
mkDerivation {
pname = "kinfocenter";
nativeBuildInputs = [
extra-cmake-modules
kdoctools
];
buildInputs = [
kcmutils
kcompletion
kconfig
kconfigwidgets
kcoreaddons
kdbusaddons
kdeclarative
ki18n
kiconthemes
kio
kirigami2
kpackage
kservice
kwayland
kwidgetsaddons
kxmlgui
solid
systemsettings
dmidecode
fwupd
libraw1394
libusb1
libGLU
pciutils
smartmontools
util-linux
vulkan-tools
wayland-utils
xdpyinfo
];
patches = [
./0001-tool-paths.patch
];
postPatch = ''
for f in Modules/kwinsupportinfo/{kcm_kwinsupportinfo.json.in,main.cpp}; do
substituteInPlace $f \
--replace "@qdbus@" "${qdbus}"
done
for f in Modules/xserver/{kcm_xserver.json,main.cpp}; do
substituteInPlace $f \
--replace "@xdpyinfo@" "${getExe xdpyinfo}"
done
'';
# fix wrong symlink of infocenter pointing to a 'systemsettings5' binary in
# the same directory, while it is actually located in a completely different
# store path
preFixup = ''
ln -sf ${systemsettings}/bin/systemsettings $out/bin/kinfocenter
'';
}
-29
View File
@@ -1,29 +0,0 @@
{
mkDerivation,
extra-cmake-modules,
kdoctools,
kdbusaddons,
khotkeys,
ki18n,
kiconthemes,
kio,
kxmlgui,
sonnet,
}:
mkDerivation {
pname = "kmenuedit";
nativeBuildInputs = [
extra-cmake-modules
kdoctools
];
buildInputs = [
kdbusaddons
khotkeys
ki18n
kiconthemes
kio
kxmlgui
sonnet
];
}
-29
View File
@@ -1,29 +0,0 @@
{
mkDerivation,
extra-cmake-modules,
kwayland,
ki18n,
kcoreaddons,
plasma-wayland-protocols,
libepoxy,
ffmpeg,
libgbm,
pipewire,
wayland,
}:
mkDerivation {
pname = "kpipewire";
nativeBuildInputs = [ extra-cmake-modules ];
buildInputs = [
kwayland
ki18n
kcoreaddons
plasma-wayland-protocols
ffmpeg
libgbm
pipewire
wayland
];
propagatedBuildInputs = [ libepoxy ];
}
-45
View File
@@ -1,45 +0,0 @@
{
mkDerivation,
extra-cmake-modules,
kconfig,
kcmutils,
kconfigwidgets,
kdbusaddons,
kglobalaccel,
ki18n,
kwidgetsaddons,
kxmlgui,
libkscreen,
qtdeclarative,
qtgraphicaleffects,
qtsensors,
kwindowsystem,
kdeclarative,
plasma-framework,
qtx11extras,
layer-shell-qt,
}:
mkDerivation {
pname = "kscreen";
nativeBuildInputs = [ extra-cmake-modules ];
buildInputs = [
kconfig
kcmutils
kconfigwidgets
kdbusaddons
kglobalaccel
ki18n
kwidgetsaddons
kxmlgui
libkscreen
qtdeclarative
qtgraphicaleffects
qtsensors
kwindowsystem
kdeclarative
plasma-framework
qtx11extras
layer-shell-qt
];
}
-49
View File
@@ -1,49 +0,0 @@
{
mkDerivation,
extra-cmake-modules,
kdoctools,
wayland-scanner,
kcmutils,
kcrash,
kdeclarative,
kglobalaccel,
kidletime,
libkscreen,
kwayland,
libXcursor,
pam,
plasma-framework,
qtdeclarative,
qtx11extras,
wayland,
layer-shell-qt,
}:
mkDerivation {
pname = "kscreenlocker";
nativeBuildInputs = [
extra-cmake-modules
kdoctools
wayland-scanner
];
buildInputs = [
kcmutils
kcrash
kdeclarative
kglobalaccel
kidletime
libkscreen
kwayland
libXcursor
pam
plasma-framework
qtdeclarative
qtx11extras
wayland
layer-shell-qt
];
outputs = [
"out"
"dev"
];
}
-25
View File
@@ -1,25 +0,0 @@
{
mkDerivation,
extra-cmake-modules,
kdoctools,
kcoreaddons,
ki18n,
kwallet,
kwidgetsaddons,
qtbase,
}:
mkDerivation {
pname = "ksshaskpass";
nativeBuildInputs = [
extra-cmake-modules
kdoctools
];
buildInputs = [
kcoreaddons
ki18n
kwallet
kwidgetsaddons
qtbase
];
}
-21
View File
@@ -1,21 +0,0 @@
{
mkDerivation,
lib,
extra-cmake-modules,
libksysguard,
libnl,
lm_sensors,
networkmanager-qt,
}:
mkDerivation {
pname = "ksystemstats";
env.NIX_CFLAGS_COMPILE = toString [ "-I${lib.getBin libksysguard}/share" ];
nativeBuildInputs = [ extra-cmake-modules ];
buildInputs = [
libksysguard
libnl
lm_sensors
networkmanager-qt
];
}
-36
View File
@@ -1,36 +0,0 @@
{
mkDerivation,
lib,
extra-cmake-modules,
pam,
socat,
libgcrypt,
qtbase,
kwallet,
}:
mkDerivation {
pname = "kwallet-pam";
nativeBuildInputs = [ extra-cmake-modules ];
buildInputs = [
pam
socat
libgcrypt
qtbase
kwallet
];
postPatch = ''
sed -i pam_kwallet_init -e "s|socat|${lib.getBin socat}/bin/socat|"
'';
# We get a crash when QT_PLUGIN_PATH is more than 1000 characters.
# pam_kwallet_init passes its environment to kwalletd5, but
# wrapQtApps gives our environment a huge QT_PLUGIN_PATH value. We
# are able to unset it here since kwalletd5 will have its own
# QT_PLUGIN_PATH.
postFixup = ''
wrapProgram $out/libexec/pam_kwallet_init --unset QT_PLUGIN_PATH
'';
dontWrapQtApps = true;
}
@@ -1,34 +0,0 @@
{
mkDerivation,
extra-cmake-modules,
kguiaddons,
kidletime,
kwayland,
kwindowsystem,
qtbase,
wayland-protocols,
wayland-scanner,
wayland,
}:
mkDerivation {
pname = "kwayland-integration";
nativeBuildInputs = [
extra-cmake-modules
wayland-scanner
];
buildInputs = [
kguiaddons
kidletime
kwindowsystem
kwayland
qtbase
wayland-protocols
wayland
];
meta = {
description = "Integration plugins for various KDE frameworks for the Wayland windowing system";
homepage = "https://invent.kde.org/plasma/kwayland-integration";
};
}
@@ -1,40 +0,0 @@
From 232e480ab1303f37d37d295b57fdcbb6b6648bca Mon Sep 17 00:00:00 2001
From: Alois Wohlschlager <alois1@gmx-topmail.de>
Date: Sun, 7 Aug 2022 16:12:31 +0200
Subject: [PATCH] Lower CAP_SYS_NICE from the ambient set
The capabilities wrapper raises CAP_SYS_NICE into the ambient set so it
is inherited by the wrapped program. However, we don't want it to leak
into the entire desktop environment.
Lower the capability again at startup so that the kernel will clear it
on exec.
---
src/main_wayland.cpp | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/main_wayland.cpp b/src/main_wayland.cpp
index 1720e14e7..f2bb446b0 100644
--- a/src/main_wayland.cpp
+++ b/src/main_wayland.cpp
@@ -39,7 +39,9 @@
#include <QWindow>
#include <qplatformdefs.h>
+#include <linux/capability.h>
#include <sched.h>
+#include <sys/prctl.h>
#include <sys/resource.h>
#include <iomanip>
@@ -285,6 +287,7 @@ static QString automaticBackendSelection()
int main(int argc, char *argv[])
{
+ prctl(PR_CAP_AMBIENT, PR_CAP_AMBIENT_LOWER, CAP_SYS_NICE, 0, 0);
KWin::Application::setupMalloc();
KWin::Application::setupLocalizedString();
KWin::gainRealTime();
--
2.37.1
@@ -1,114 +0,0 @@
From 29ec6fada935ef966e5859082435ed57daa9522d Mon Sep 17 00:00:00 2001
From: Samuel Dionne-Riel <samuel@dionne-riel.com>
Date: Tue, 16 Mar 2021 15:03:59 -0400
Subject: [PATCH] [NixOS] Unwrap executable name for .desktop search
Why is this necessary even though -a "$0" is used in the wrapper?
Because it's completely bypassing argv0! This looks at the executable
file in-use according to the kernel!
Wrappers cannot affect the `/proc/.../exe` symlink!
Co-authored-by: Yaroslav Bolyukin <iam@lach.pw>
---
src/nixos_utils.h | 41 +++++++++++++++++++++++++++++++++++++++++
src/service_utils.h | 4 +++-
src/waylandwindow.cpp | 5 ++++-
3 files changed, 48 insertions(+), 2 deletions(-)
create mode 100644 src/nixos_utils.h
diff --git a/src/nixos_utils.h b/src/nixos_utils.h
new file mode 100644
index 0000000..726065d
--- /dev/null
+++ b/src/nixos_utils.h
@@ -0,0 +1,41 @@
+#ifndef NIXOS_UTILS_H
+#define NIXOS_UTILS_H
+
+// kwin
+#include <kwinglobals.h>
+
+namespace KWin
+{
+
+static QString unwrapExecutablePath(const QString &in_executablePath)
+{
+ // NixOS fixes many packaging issues through "wrapper" scripts that manipulates the environment or does
+ // miscellaneous trickeries and mischievous things to make the programs work.
+ // In turn, programs often employs different mischievous schemes and trickeries to do *other things.
+ // It often happens that they conflict.
+ // Here, `kwin` tries to detect the .desktop file for a given process.
+ // `kwin` followed the process `/proc/.../exe` up to the actual binary running.
+ // It normally would be fine, e.g. /usr/bin/foobar is what's in the desktop file.
+ // But it's not the truth here! It's extremely likely the resolved path is /nix/store/.../bin/.foobar-wrapped
+ // rather than what the desktop file points to, something like /nix/store/.../bin/foobar !!
+ // Since the wrappers for Nixpkgs *always* prepend a dot and append -wrapped, we assume here that we can keep
+ // `/^(.*)\/\.([^/]*)-wrapped/` until the (equivalent) regex does not match.
+ // This should canonicalize the wrapper name to the expected name to look for in the desktop file.
+
+ // Use a copy of the const string
+ QString executablePath(in_executablePath);
+
+ // While the parts needed are present, "unwrap" one layer of wrapper names.
+ while (executablePath.endsWith("-wrapped") && executablePath[executablePath.lastIndexOf("/")+1] == QChar('.')) {
+ // Approximately equivalent to s/-wrapped$//
+ executablePath.remove(executablePath.length() - 8, 8);
+ // Approximately equivalent to s;/\.;/;
+ executablePath.remove(executablePath.lastIndexOf("/")+1, 1);
+ }
+
+ return executablePath;
+}
+
+}// namespace
+
+#endif // NIXOS_UTILS_H
diff --git a/src/utils/serviceutils.h b/src/utils/serviceutils.h
index 8a70c1f..475b15d 100644
--- a/src/utils/serviceutils.h
+++ b/src/utils/serviceutils.h
@@ -19,6 +19,7 @@
#include <QLoggingCategory>
//KF
#include <KApplicationTrader>
+#include "nixos_utils.h"
namespace KWin
{
@@ -26,8 +27,9 @@ namespace KWin
const static QString s_waylandInterfaceName = QStringLiteral("X-KDE-Wayland-Interfaces");
const static QString s_dbusRestrictedInterfaceName = QStringLiteral("X-KDE-DBUS-Restricted-Interfaces");
-static QStringList fetchProcessServiceField(const QString &executablePath, const QString &fieldName)
+static QStringList fetchProcessServiceField(const QString &in_executablePath, const QString &fieldName)
{
+ const QString executablePath = unwrapExecutablePath(in_executablePath);
// needed to be able to use the logging category in a header static function
static QLoggingCategory KWIN_UTILS ("KWIN_UTILS", QtWarningMsg);
const auto servicesFound = KApplicationTrader::query([&executablePath] (const KService::Ptr &service) {
diff --git a/src/waylandwindow.cpp b/src/waylandwindow.cpp
index fd2c0c1..ae8cf96 100644
--- a/src/waylandwindow.cpp
+++ b/src/waylandwindow.cpp
@@ -10,6 +10,7 @@
#include "screens.h"
#include "wayland_server.h"
#include "workspace.h"
+#include "nixos_utils.h"
#include <KWaylandServer/display.h>
#include <KWaylandServer/clientbuffer.h>
@@ -173,7 +174,9 @@ void WaylandWindow::updateIcon()
void WaylandWindow::updateResourceName()
{
- const QFileInfo fileInfo(surface()->client()->executablePath());
+ const QString in_path = surface()->client()->executablePath();
+ const QString path = unwrapExecutablePath(in_path);
+ const QFileInfo fileInfo(path);
if (fileInfo.exists()) {
const QByteArray executableFileName = fileInfo.fileName().toUtf8();
setResourceClass(executableFileName, executableFileName);
--
2.32.0
@@ -1,25 +0,0 @@
From af569c9ed8079169b524b31461e2789baa09ef7a Mon Sep 17 00:00:00 2001
From: Thomas Tuegel <ttuegel@mailbox.org>
Date: Mon, 27 Jan 2020 05:31:13 -0600
Subject: [PATCH 1/3] follow symlinks
---
src/plugins/kdecorations/aurorae/src/aurorae.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/plugins/kdecorations/aurorae/src/aurorae.cpp b/src/plugins/kdecorations/aurorae/src/aurorae.cpp
index 5242cb7..2e4ddae 100644
--- a/src/plugins/kdecorations/aurorae/src/aurorae.cpp
+++ b/src/plugins/kdecorations/aurorae/src/aurorae.cpp
@@ -201,7 +201,7 @@ void Helper::init()
// so let's try to locate our plugin:
QString pluginPath;
for (const QString &path : m_engine->importPathList()) {
- QDirIterator it(path, QDirIterator::Subdirectories);
+ QDirIterator it(path, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks);
while (it.hasNext()) {
it.next();
QFileInfo fileInfo = it.fileInfo();
--
2.29.2
@@ -1,25 +0,0 @@
From 5c90dd84f541bd4789525f12f12ad24411b99018 Mon Sep 17 00:00:00 2001
From: Thomas Tuegel <ttuegel@mailbox.org>
Date: Mon, 27 Jan 2020 05:31:23 -0600
Subject: [PATCH 2/3] xwayland
---
src/xwayland/xwaylandlauncher.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/xwayland/xwaylandlauncher.cpp b/src/xwayland/xwaylandlauncher.cpp
index 57efdde..a211a58 100644
--- a/src/xwayland/xwaylandlauncher.cpp
+++ b/src/xwayland/xwaylandlauncher.cpp
@@ -163,7 +163,7 @@ void Xwayland::start()
m_xwaylandProcess = new QProcess(this);
m_xwaylandProcess->setProcessChannelMode(QProcess::ForwardedErrorChannel);
- m_xwaylandProcess->setProgram(QStringLiteral("Xwayland"));
+ m_xwaylandProcess->setProgram(QLatin1String(NIXPKGS_XWAYLAND));
QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
env.insert("WAYLAND_SOCKET", QByteArray::number(wlfd));
if (qEnvironmentVariableIsSet("KWIN_XWAYLAND_DEBUG")) {
--
2.29.2
@@ -1,26 +0,0 @@
From 8d49f5ef8692c352a62f4f8b1bc68e6e210bbee6 Mon Sep 17 00:00:00 2001
From: Yaroslav Bolyukin <iam@lach.pw>
Date: Wed, 23 Dec 2020 18:02:14 +0300
Subject: [PATCH 3/3] plugins/qpa: allow using nixos wrapper
Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
---
src/plugins/qpa/main.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/plugins/qpa/main.cpp b/src/plugins/qpa/main.cpp
index efd236b..a69c046 100644
--- a/src/plugins/qpa/main.cpp
+++ b/src/plugins/qpa/main.cpp
@@ -23,7 +23,7 @@ public:
QPlatformIntegration *KWinIntegrationPlugin::create(const QString &system, const QStringList &paramList)
{
- if (!QCoreApplication::applicationFilePath().endsWith(QLatin1String("kwin_wayland")) && !qEnvironmentVariableIsSet("KWIN_FORCE_OWN_QPA")) {
+ if (!QCoreApplication::applicationFilePath().endsWith(QLatin1String("kwin_wayland")) && !QCoreApplication::applicationFilePath().endsWith(QLatin1String(".kwin_wayland-wrapped")) && !qEnvironmentVariableIsSet("KWIN_FORCE_OWN_QPA")) {
// Not KWin
return nullptr;
}
--
2.29.2
-166
View File
@@ -1,166 +0,0 @@
{
mkDerivation,
lib,
extra-cmake-modules,
kdoctools,
wayland-scanner,
fetchpatch,
libepoxy,
lcms2,
libICE,
libSM,
libcap,
libdrm,
libinput,
libxkbcommon,
libgbm,
pipewire,
udev,
wayland,
xcb-util-cursor,
xwayland,
plasma-wayland-protocols,
wayland-protocols,
libxcvt,
qtdeclarative,
qtmultimedia,
qtquickcontrols2,
qtscript,
qtsensors,
qtvirtualkeyboard,
qtx11extras,
breeze-qt5,
kactivities,
kcompletion,
kcmutils,
kconfig,
kconfigwidgets,
kcoreaddons,
kcrash,
kdeclarative,
kdecoration,
kglobalaccel,
ki18n,
kiconthemes,
kidletime,
kinit,
kio,
knewstuff,
knotifications,
kpackage,
krunner,
kscreenlocker,
kservice,
kwayland,
kwidgetsaddons,
kwindowsystem,
kxmlgui,
plasma-framework,
libqaccessibilityclient,
}:
# TODO (ttuegel): investigate qmlplugindump failure
mkDerivation {
pname = "kwin";
nativeBuildInputs = [
extra-cmake-modules
kdoctools
wayland-scanner
];
buildInputs = [
libepoxy
lcms2
libICE
libSM
libcap
libdrm
libinput
libxkbcommon
libgbm
pipewire
udev
wayland
xcb-util-cursor
xwayland
libxcvt
plasma-wayland-protocols
wayland-protocols
qtdeclarative
qtmultimedia
qtquickcontrols2
qtscript
qtsensors
qtvirtualkeyboard
qtx11extras
breeze-qt5
kactivities
kcmutils
kcompletion
kconfig
kconfigwidgets
kcoreaddons
kcrash
kdeclarative
kdecoration
kglobalaccel
ki18n
kiconthemes
kidletime
kinit
kio
knewstuff
knotifications
kpackage
krunner
kscreenlocker
kservice
kwayland
kwidgetsaddons
kwindowsystem
kxmlgui
plasma-framework
libqaccessibilityclient
];
outputs = [
"out"
"dev"
];
postPatch = ''
patchShebangs src/effects/strip-effect-metadata.py
'';
patches = [
./0001-follow-symlinks.patch
./0002-xwayland.patch
./0003-plugins-qpa-allow-using-nixos-wrapper.patch
./0001-NixOS-Unwrap-executable-name-for-.desktop-search.patch
./0001-Lower-CAP_SYS_NICE-from-the-ambient-set.patch
# Pass special environments through arguments to `kwin_wayland`, bypassing
# ld.so(8) environment stripping due to `kwin_wayland`'s capabilities.
# We need this to have `TZDIR` correctly set for `plasmashell`, or
# everything related to timezone, like clock widgets, will be broken.
# https://invent.kde.org/plasma/kwin/-/merge_requests/1590
(fetchpatch {
url = "https://invent.kde.org/plasma/kwin/-/commit/9a008b223ad696db3bf5692750f2b74e578e08b8.diff";
sha256 = "sha256-f35G+g2MVABLDbAkCed3ZmtDWrzYn1rdD08mEx35j4k=";
})
];
CXXFLAGS = [
''-DNIXPKGS_XWAYLAND=\"${lib.getExe xwayland}\"''
];
postInstall = ''
# Some package(s) refer to these service types by the wrong name.
# I would prefer to patch those packages, but I cannot find them!
ln -s ''${!outputBin}/share/kservicetypes5/kwineffect.desktop \
''${!outputBin}/share/kservicetypes5/kwin-effect.desktop
ln -s ''${!outputBin}/share/kservicetypes5/kwinscript.desktop \
''${!outputBin}/share/kservicetypes5/kwin-script.desktop
'';
}
-23
View File
@@ -1,23 +0,0 @@
{
mkDerivation,
extra-cmake-modules,
kcoreaddons,
kdbusaddons,
ki18n,
knotifications,
kpty,
qtbase,
}:
mkDerivation {
pname = "kwrited";
nativeBuildInputs = [ extra-cmake-modules ];
buildInputs = [
kcoreaddons
kdbusaddons
ki18n
knotifications
kpty
qtbase
];
}
-27
View File
@@ -1,27 +0,0 @@
{
mkDerivation,
extra-cmake-modules,
kguiaddons,
kidletime,
kwayland,
kwindowsystem,
qtbase,
wayland-scanner,
wayland,
wayland-protocols,
}:
mkDerivation {
pname = "layer-shell-qt";
nativeBuildInputs = [ extra-cmake-modules ];
buildInputs = [
kguiaddons
kidletime
kwindowsystem
kwayland
qtbase
wayland-scanner
wayland
wayland-protocols
];
}
@@ -1,41 +0,0 @@
{
mkDerivation,
propagate,
extra-cmake-modules,
wayland-scanner,
kconfig,
kwayland,
plasma-wayland-protocols,
wayland,
libXrandr,
qtx11extras,
qttools,
}:
mkDerivation {
pname = "libkscreen";
nativeBuildInputs = [
extra-cmake-modules
wayland-scanner
];
buildInputs = [
kconfig
kwayland
plasma-wayland-protocols
wayland
libXrandr
qtx11extras
qttools
];
outputs = [
"out"
"dev"
];
patches = [
./libkscreen-backends-path.patch
];
preConfigure = ''
NIX_CFLAGS_COMPILE+=" -DNIXPKGS_LIBKSCREEN_BACKENDS=\"''${!outputBin}/$qtPluginPrefix/kf5/kscreen\""
'';
setupHook = propagate "out";
}
@@ -1,28 +0,0 @@
diff --git a/src/backendmanager.cpp b/src/backendmanager.cpp
index e1013d5..4bded53 100644
--- a/src/backendmanager.cpp
+++ b/src/backendmanager.cpp
@@ -164,18 +164,11 @@ QFileInfo BackendManager::preferredBackend(const QString &backend)
QFileInfoList BackendManager::listBackends()
{
- // Compile a list of installed backends first
- const QString backendFilter = QStringLiteral("KSC_*");
- const QStringList paths = QCoreApplication::libraryPaths();
- QFileInfoList finfos;
- for (const QString &path : paths) {
- const QDir dir(path + QStringLiteral("/kf" QT_STRINGIFY(QT_VERSION_MAJOR) "/kscreen/"),
- backendFilter,
- QDir::SortFlags(QDir::QDir::Name),
- QDir::NoDotAndDotDot | QDir::Files);
- finfos.append(dir.entryInfoList());
- }
- return finfos;
+ const QDir dir(QLatin1String(NIXPKGS_LIBKSCREEN_BACKENDS),
+ QStringLiteral("KSC_*"),
+ QDir::SortFlags(QDir::QDir::Name),
+ QDir::NoDotAndDotDot | QDir::Files);
+ return dir.entryInfoList();
}
void BackendManager::setBackendArgs(const QVariantMap &arguments)
@@ -1,24 +0,0 @@
From 46164a50de4102d02ae9d1d480acdd4b12303db8 Mon Sep 17 00:00:00 2001
From: Thomas Tuegel <ttuegel@gmail.com>
Date: Wed, 14 Oct 2015 07:07:22 -0500
Subject: [PATCH] qdiriterator follow symlinks
---
processui/scripting.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/processui/scripting.cpp b/processui/scripting.cpp
index efed8ff..841761a 100644
--- a/processui/scripting.cpp
+++ b/processui/scripting.cpp
@@ -293,7 +293,7 @@ void Scripting::loadContextMenu()
const QStringList dirs =
QStandardPaths::locateAll(QStandardPaths::GenericDataLocation, QStringLiteral("ksysguard/scripts/"), QStandardPaths::LocateDirectory);
for (const QString &dir : dirs) {
- QDirIterator it(dir, QStringList() << QStringLiteral("*.desktop"), QDir::NoFilter, QDirIterator::Subdirectories);
+ QDirIterator it(dir, QStringList() << QStringLiteral("*.desktop"), QDir::NoFilter, QDirIterator::Subdirectories | QDirIterator::FollowSymlinks);
while (it.hasNext()) {
scripts.append(it.next());
}
--
2.5.2
@@ -1,57 +0,0 @@
{
mkDerivation,
extra-cmake-modules,
kauth,
kcompletion,
kconfig,
kconfigwidgets,
kcoreaddons,
ki18n,
kiconthemes,
knewstuff,
kservice,
kwidgetsaddons,
kwindowsystem,
plasma-framework,
qtscript,
qtwebengine,
qtx11extras,
libnl,
libpcap,
qtsensors,
lm_sensors,
}:
mkDerivation {
pname = "libksysguard";
patches = [
./0001-qdiriterator-follow-symlinks.patch
];
nativeBuildInputs = [ extra-cmake-modules ];
buildInputs = [
kauth
kconfig
ki18n
kiconthemes
kwindowsystem
kcompletion
kconfigwidgets
kcoreaddons
kservice
kwidgetsaddons
plasma-framework
qtscript
qtx11extras
qtwebengine
knewstuff
libnl
libpcap
qtsensors
lm_sensors
];
outputs = [
"bin"
"dev"
"out"
];
}
-29
View File
@@ -1,29 +0,0 @@
{
mkDerivation,
extra-cmake-modules,
kcoreaddons,
kdeclarative,
ki18n,
kitemmodels,
krunner,
kservice,
plasma-framework,
qtscript,
qtdeclarative,
}:
mkDerivation {
pname = "milou";
nativeBuildInputs = [ extra-cmake-modules ];
buildInputs = [
kcoreaddons
kdeclarative
ki18n
kitemmodels
krunner
kservice
plasma-framework
qtdeclarative
qtscript
];
}
-9
View File
@@ -1,9 +0,0 @@
{
mkDerivation,
extra-cmake-modules,
}:
mkDerivation {
pname = "oxygen-sounds";
nativeBuildInputs = [ extra-cmake-modules ];
}
-44
View File
@@ -1,44 +0,0 @@
{
mkDerivation,
extra-cmake-modules,
frameworkintegration,
kcmutils,
kcompletion,
kconfig,
kdecoration,
kguiaddons,
ki18n,
kwidgetsaddons,
kservice,
kwayland,
kwindowsystem,
qtdeclarative,
qtx11extras,
libXdmcp,
}:
mkDerivation {
pname = "oxygen";
nativeBuildInputs = [ extra-cmake-modules ];
propagatedBuildInputs = [
frameworkintegration
kcmutils
kcompletion
kconfig
kdecoration
kguiaddons
ki18n
kservice
kwayland
kwidgetsaddons
kwindowsystem
qtdeclarative
qtx11extras
libXdmcp
];
outputs = [
"bin"
"dev"
"out"
];
}
@@ -1,25 +0,0 @@
From da6a4651f74625f4c7f3c31f1125cfa4e774780b Mon Sep 17 00:00:00 2001
From: Yaroslav Bolyukin <iam@lach.pw>
Date: Mon, 27 Sep 2021 22:45:58 +0300
Subject: [PATCH] fix: add executable bit
Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
---
src/CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 79ff12d..4f3d746 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -2,7 +2,7 @@ file(GLOB_RECURSE SCSS_SOURCES "*.scss")
file(GLOB CSS_SOURCES "*.css")
file(GLOB_RECURSE GTK2_SOURCES "gtk2/*")
-configure_file(build_theme.sh.cmake ${CMAKE_CURRENT_BINARY_DIR}/build_theme.sh @ONLY)
+configure_file(build_theme.sh.cmake ${CMAKE_CURRENT_BINARY_DIR}/build_theme.sh FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE @ONLY)
set(SOURCES
${SCSS_SOURCES}
--
2.33.0
-18
View File
@@ -1,18 +0,0 @@
{
mkDerivation,
extra-cmake-modules,
qtquickcontrols2,
qtmultimedia,
kirigami2,
ki18n,
}:
mkDerivation {
pname = "plank-player";
nativeBuildInputs = [ extra-cmake-modules ];
buildInputs = [
qtquickcontrols2
qtmultimedia
kirigami2
ki18n
];
}
@@ -1,51 +0,0 @@
{
mkDerivation,
extra-cmake-modules,
kactivities,
kactivities-stats,
plasma-framework,
ki18n,
kirigami2,
kdeclarative,
kcmutils,
knotifications,
kio,
kwayland,
kwindowsystem,
plasma-workspace,
qtmultimedia,
}:
mkDerivation {
pname = "plasma-bigscreen";
nativeBuildInputs = [ extra-cmake-modules ];
buildInputs = [
kactivities
kactivities-stats
plasma-framework
ki18n
kirigami2
kdeclarative
kcmutils
knotifications
kio
kwayland
kwindowsystem
plasma-workspace
qtmultimedia
];
postPatch = ''
substituteInPlace bin/plasma-bigscreen-wayland.in \
--replace @KDE_INSTALL_FULL_LIBEXECDIR@ "${plasma-workspace}/libexec"
'';
preFixup = ''
wrapQtApp $out/bin/plasma-bigscreen-x11
wrapQtApp $out/bin/plasma-bigscreen-wayland
'';
passthru.providedSessions = [
"plasma-bigscreen-x11"
"plasma-bigscreen-wayland"
];
}
@@ -1,43 +0,0 @@
{
mkDerivation,
extra-cmake-modules,
qtbase,
kfilemetadata,
kio,
ki18n,
kconfig,
kdbusaddons,
knotifications,
kpurpose,
krunner,
kwindowsystem,
kactivities,
plasma-workspace,
}:
mkDerivation {
pname = "plasma-browser-integration";
nativeBuildInputs = [
extra-cmake-modules
];
buildInputs = [
qtbase
kfilemetadata
kio
ki18n
kconfig
kdbusaddons
knotifications
kpurpose
krunner
kwindowsystem
kactivities
plasma-workspace
];
meta = {
description = "Components necessary to integrate browsers into the Plasma Desktop";
mainProgram = "plasma-browser-integration-host";
homepage = "https://community.kde.org/Plasma/Browser_Integration";
};
}
@@ -1,149 +0,0 @@
{
mkDerivation,
lib,
extra-cmake-modules,
kdoctools,
wayland-scanner,
boost,
fontconfig,
ibus,
libXcursor,
libXft,
libcanberra_kde,
libpulseaudio,
libxkbfile,
xf86inputevdev,
xf86inputsynaptics,
xinput,
xkeyboard_config,
xorgserver,
util-linux,
wayland,
wayland-protocols,
accounts-qt,
qtdeclarative,
qtquickcontrols,
qtquickcontrols2,
qtsvg,
qtx11extras,
attica,
baloo,
kaccounts-integration,
kactivities,
kactivities-stats,
kauth,
kcmutils,
kdbusaddons,
kdeclarative,
kded,
kdelibs4support,
kemoticons,
kglobalaccel,
ki18n,
kitemmodels,
knewstuff,
knotifications,
knotifyconfig,
kpeople,
krunner,
kscreenlocker,
kwallet,
kwin,
phonon,
plasma-framework,
plasma-workspace,
qqc2-desktop-style,
xf86inputlibinput,
glib,
gsettings-desktop-schemas,
runCommandLocal,
makeWrapper,
}:
let
# run gsettings with desktop schemas for using in "kcm_access" kcm
# and in kaccess
gsettings-wrapper = runCommandLocal "gsettings-wrapper" { nativeBuildInputs = [ makeWrapper ]; } ''
mkdir -p $out/bin
makeWrapper ${glib}/bin/gsettings $out/bin/gsettings --prefix XDG_DATA_DIRS : ${gsettings-desktop-schemas.out}/share/gsettings-schemas/${gsettings-desktop-schemas.name}
'';
in
mkDerivation {
pname = "plasma-desktop";
nativeBuildInputs = [
extra-cmake-modules
kdoctools
wayland-scanner
];
buildInputs = [
boost
fontconfig
ibus
libcanberra_kde
libpulseaudio
libXcursor
libXft
xorgserver
libxkbfile
phonon
xf86inputlibinput
xf86inputevdev
xf86inputsynaptics
xinput
xkeyboard_config
wayland
wayland-protocols
accounts-qt
qtdeclarative
qtquickcontrols
qtquickcontrols2
qtsvg
qtx11extras
attica
baloo
kaccounts-integration
kactivities
kactivities-stats
kauth
kcmutils
kdbusaddons
kdeclarative
kded
kdelibs4support
kemoticons
kglobalaccel
ki18n
kitemmodels
knewstuff
knotifications
knotifyconfig
kpeople
krunner
kscreenlocker
kwallet
kwin
plasma-framework
plasma-workspace
qqc2-desktop-style
];
patches = [
./hwclock-path.patch
./tzdir.patch
./kcm-access.patch
./no-discover-shortcut.patch
];
CXXFLAGS = [
''-DNIXPKGS_HWCLOCK=\"${lib.getBin util-linux}/bin/hwclock\"''
''-DNIXPKGS_GSETTINGS=\"${gsettings-wrapper}/bin/gsettings\"''
];
postInstall = ''
# Display ~/Desktop contents on the desktop by default.
sed -i "''${!outputBin}/share/plasma/shells/org.kde.plasma.desktop/contents/defaults" \
-e 's/Containment=org.kde.desktopcontainment/Containment=org.kde.plasma.folder/'
'';
# wrap kaccess with wrapped gsettings so it can access accessibility schemas
qtWrapperArgs = [ "--prefix PATH : ${lib.makeBinPath [ gsettings-wrapper ]}" ];
}
@@ -1,24 +0,0 @@
Index: plasma-desktop-5.8.5/kcms/dateandtime/helper.cpp
===================================================================
--- plasma-desktop-5.8.5.orig/kcms/dateandtime/helper.cpp
+++ plasma-desktop-5.8.5/kcms/dateandtime/helper.cpp
@@ -48,10 +48,6 @@
#include <sys/types.h>
#endif
-// We cannot rely on the $PATH environment variable, because D-Bus activation
-// clears it. So we have to use a reasonable default.
-static const QString exePath = QStringLiteral("/usr/sbin:/usr/bin:/sbin:/bin");
-
int ClockHelper::ntp(const QStringList &ntpServers, bool ntpEnabled)
{
int ret = 0;
@@ -227,7 +223,7 @@ int ClockHelper::tzreset()
void ClockHelper::toHwclock()
{
- QString hwclock = QStandardPaths::findExecutable(QStringLiteral("hwclock"), exePath.split(QLatin1Char(':')));
+ QString hwclock = QLatin1String(NIXPKGS_HWCLOCK);
if (!hwclock.isEmpty()) {
KProcess::execute(hwclock, QStringList() << QStringLiteral("--systohc"));
}
@@ -1,13 +0,0 @@
diff --git a/kcms/access/kcmaccess.cpp b/kcms/access/kcmaccess.cpp
index 4f8d3e2..a96f755 100644
--- a/kcms/access/kcmaccess.cpp
+++ b/kcms/access/kcmaccess.cpp
@@ -176,7 +176,7 @@ void KAccessConfig::launchOrcaConfiguration()
QStringLiteral("screen-reader-enabled"),
QStringLiteral("true")};
- int ret = QProcess::execute(QStringLiteral("gsettings"), gsettingArgs);
+ int ret = QProcess::execute(QStringLiteral(NIXPKGS_GSETTINGS), gsettingArgs);
if (ret) {
const QString errorStr = QLatin1String("gsettings ") + gsettingArgs.join(QLatin1Char(' '));
setOrcaLaunchFeedback(i18n("Could not set gsettings for Orca: \"%1\" failed", errorStr));
@@ -1,13 +0,0 @@
diff --git a/applets/taskmanager/package/contents/config/main.xml b/applets/taskmanager/package/contents/config/main.xml
index 6bb27695d..25e621810 100644
--- a/applets/taskmanager/package/contents/config/main.xml
+++ b/applets/taskmanager/package/contents/config/main.xml
@@ -85,7 +85,7 @@
</entry>
<entry name="launchers" type="StringList">
<label>The list of launcher tasks on the widget. Usually .desktop file or executable URLs. Special URLs such as preferred://browser that expand to default applications are supported.</label>
- <default>applications:systemsettings.desktop,applications:org.kde.discover.desktop,preferred://filemanager,preferred://browser</default>
+ <default>applications:systemsettings.desktop,preferred://filemanager,preferred://browser</default>
</entry>
<entry name="middleClickAction" type="Enum">
<label>What to do on middle-mouse click on a task button.</label>
@@ -1,18 +0,0 @@
Index: plasma-desktop-5.8.5/kcms/dateandtime/helper.cpp
===================================================================
--- plasma-desktop-5.8.5.orig/kcms/dateandtime/helper.cpp
+++ plasma-desktop-5.8.5/kcms/dateandtime/helper.cpp
@@ -181,7 +181,12 @@ int ClockHelper::tz( const QString& sele
val = selectedzone;
#else
- QString tz = "/usr/share/zoneinfo/" + selectedzone;
+ QString tzdir = QString::fromLocal8Bit(qgetenv("TZDIR"));
+ QString tz = tzdir + "/" + selectedzone;
+ if (tzdir.isEmpty()) {
+ // Standard Linux path
+ tz = "/usr/share/zoneinfo/" + selectedzone;
+ }
if (QFile::exists(tz)) { // make sure the new TZ really exists
QFile::remove(QStringLiteral("/etc/localtime"));
-58
View File
@@ -1,58 +0,0 @@
{
mkDerivation,
extra-cmake-modules,
kdoctools,
kcmutils,
kconfig,
kdbusaddons,
khtml,
ki18n,
kiconthemes,
kio,
kitemviews,
kservice,
kwindowsystem,
kxmlgui,
qtquickcontrols,
qtquickcontrols2,
kactivities,
kactivities-stats,
kirigami2,
kcrash,
plasma-workspace,
systemsettings,
}:
mkDerivation {
pname = "plasma-disks";
nativeBuildInputs = [
extra-cmake-modules
kdoctools
];
buildInputs = [
kcmutils
kconfig
kdbusaddons
khtml
ki18n
kiconthemes
kio
kitemviews
kservice
kwindowsystem
kxmlgui
qtquickcontrols
qtquickcontrols2
kactivities
kactivities-stats
kirigami2
kcrash
plasma-workspace
systemsettings
];
outputs = [
"bin"
"dev"
"out"
];
}
@@ -1,22 +0,0 @@
{
mkDerivation,
extra-cmake-modules,
python3,
plasma-framework,
kcmutils,
}:
mkDerivation {
pname = "plasma-firewall";
outputs = [ "out" ];
nativeBuildInputs = [
extra-cmake-modules
];
buildInputs = [
kcmutils
plasma-framework
python3
];
}
@@ -1,46 +0,0 @@
{
mkDerivation,
extra-cmake-modules,
wayland-scanner,
breeze-qt5,
kconfig,
kconfigwidgets,
kiconthemes,
kio,
knotifications,
kwayland,
libXcursor,
qtquickcontrols2,
wayland,
wayland-protocols,
plasma-wayland-protocols,
}:
# TODO: install Noto Sans and Oxygen Mono fonts with plasma-integration
mkDerivation {
pname = "plasma-integration";
nativeBuildInputs = [
extra-cmake-modules
wayland-scanner
];
buildInputs = [
breeze-qt5
kconfig
kconfigwidgets
kiconthemes
kio
knotifications
kwayland
libXcursor
qtquickcontrols2
wayland
wayland-protocols
plasma-wayland-protocols
];
meta = {
description = "Set of plugins responsible for better integration of Qt applications when running on a KDE Plasma workspace";
homepage = "https://invent.kde.org/plasma/plasma-integration";
};
}
@@ -1,80 +0,0 @@
{
mkDerivation,
extra-cmake-modules,
kdoctools,
libdbusmenu,
pam,
wayland,
appstream,
kdeclarative,
kdelibs4support,
kpeople,
kconfig,
krunner,
kinit,
kirigami-addons,
kwayland,
kwin,
plasma-framework,
telepathy,
libphonenumber,
protobuf,
libqofono,
modemmanager-qt,
networkmanager-qt,
plasma-workspace,
maliit-framework,
maliit-keyboard,
qtfeedback,
qttools,
}:
mkDerivation {
pname = "plasma-mobile";
nativeBuildInputs = [
extra-cmake-modules
kdoctools
];
buildInputs = [
appstream
libdbusmenu
pam
wayland
kdeclarative
kdelibs4support
kpeople
kconfig
krunner
kinit
kirigami-addons
kwayland
kwin
plasma-framework
telepathy
libphonenumber
protobuf
libqofono
modemmanager-qt
networkmanager-qt
maliit-framework
maliit-keyboard
plasma-workspace
qtfeedback
];
postPatch = ''
substituteInPlace bin/startplasmamobile.in \
--replace @KDE_INSTALL_FULL_LIBEXECDIR@ "${plasma-workspace}/libexec"
substituteInPlace bin/plasma-mobile.desktop.cmake \
--replace @CMAKE_INSTALL_FULL_LIBEXECDIR@ "${plasma-workspace}/libexec"
'';
# Ensures dependencies like libqofono (at the very least) are present for the shell.
preFixup = ''
wrapQtApp "$out/bin/startplasmamobile"
'';
passthru.providedSessions = [ "plasma-mobile" ];
}
@@ -1,13 +0,0 @@
{
mkDerivation,
extra-cmake-modules,
plasma-framework,
}:
mkDerivation {
pname = "plasma-nano";
nativeBuildInputs = [ extra-cmake-modules ];
buildInputs = [
plasma-framework
];
}
@@ -1,13 +0,0 @@
diff --git a/vpn/openvpn/openvpnadvancedwidget.cpp b/vpn/openvpn/openvpnadvancedwidget.cpp
index 2f11ba1d..310f11b4 100644
--- a/vpn/openvpn/openvpnadvancedwidget.cpp
+++ b/vpn/openvpn/openvpnadvancedwidget.cpp
@@ -75,7 +75,7 @@ OpenVpnAdvancedWidget::OpenVpnAdvancedWidget(const NetworkManager::VpnSetting::P
connect(m_ui->cmbProxyType, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), this, &OpenVpnAdvancedWidget::proxyTypeChanged);
// start openVPN process and get its cipher list
- const QString openVpnBinary = QStandardPaths::findExecutable("openvpn", QStringList{"/sbin", "/usr/sbin"});
+ const QString openVpnBinary = "@openvpn@/bin/openvpn";
const QStringList ciphersArgs(QLatin1String("--show-ciphers"));
const QStringList versionArgs(QLatin1String("--version"));
@@ -1,82 +0,0 @@
{
mkDerivation,
replaceVars,
extra-cmake-modules,
kdoctools,
kcmutils,
kcompletion,
kconfigwidgets,
kcoreaddons,
kdbusaddons,
kdeclarative,
ki18n,
kiconthemes,
kinit,
kio,
kitemviews,
knotifications,
kservice,
kwallet,
kwidgetsaddons,
kwindowsystem,
kxmlgui,
plasma-framework,
prison,
solid,
mobile-broadband-provider-info,
openconnect,
openvpn,
modemmanager-qt,
networkmanager-qt,
qca-qt5,
qtdeclarative,
qttools,
}:
mkDerivation {
pname = "plasma-nm";
nativeBuildInputs = [
extra-cmake-modules
kdoctools
qttools
];
buildInputs = [
kdeclarative
ki18n
kio
kwindowsystem
plasma-framework
kcompletion
kcmutils
kconfigwidgets
kcoreaddons
kdbusaddons
kiconthemes
kinit
kitemviews
knotifications
kservice
kwallet
kwidgetsaddons
kxmlgui
prison
solid
qtdeclarative
modemmanager-qt
networkmanager-qt
qca-qt5
mobile-broadband-provider-info
openconnect
];
cmakeFlags = [
"-DBUILD_MOBILE=ON"
];
patches = [
(replaceVars ./0002-openvpn-binary-path.patch {
inherit openvpn;
})
];
}
-45
View File
@@ -1,45 +0,0 @@
{
mkDerivation,
extra-cmake-modules,
kdoctools,
kcmutils,
kconfigwidgets,
kcoreaddons,
kdeclarative,
kglobalaccel,
ki18n,
kwindowsystem,
plasma-framework,
qtbase,
qtdeclarative,
glib,
libcanberra-gtk3,
libpulseaudio,
sound-theme-freedesktop,
}:
mkDerivation {
pname = "plasma-pa";
nativeBuildInputs = [
extra-cmake-modules
kdoctools
];
buildInputs = [
glib
libcanberra-gtk3
libpulseaudio
sound-theme-freedesktop
kcmutils
kconfigwidgets
kcoreaddons
kdeclarative
kglobalaccel
ki18n
plasma-framework
kwindowsystem
qtbase
qtdeclarative
];
}
@@ -1,51 +0,0 @@
{
mkDerivation,
extra-cmake-modules,
kconfig,
knotifications,
ki18n,
solid,
kcoreaddons,
kdeclarative,
kcmutils,
kpackage,
kscreenlocker,
kwindowsystem,
udevCheckHook,
wayland,
wayland-scanner,
pkg-config,
libcec,
libcec_platform,
libevdev,
plasma-workspace,
plasma-wayland-protocols,
}:
mkDerivation {
pname = "plasma-remotecontrollers";
nativeBuildInputs = [
extra-cmake-modules
pkg-config
udevCheckHook
wayland-scanner
];
buildInputs = [
kconfig
knotifications
ki18n
solid
kcoreaddons
kdeclarative
kcmutils
kpackage
kscreenlocker
kwindowsystem
wayland
libcec
libcec_platform
libevdev
plasma-workspace
plasma-wayland-protocols
];
doInstallCheck = true;
}
-46
View File
@@ -1,46 +0,0 @@
{
mkDerivation,
extra-cmake-modules,
karchive,
kcompletion,
kconfig,
kconfigwidgets,
kcoreaddons,
kdbusaddons,
kdeclarative,
ki18n,
kiconthemes,
kio,
kitemmodels,
plasma-framework,
kservice,
ktexteditor,
kwidgetsaddons,
kdoctools,
}:
mkDerivation {
pname = "plasma-sdk";
nativeBuildInputs = [
extra-cmake-modules
kdoctools
];
buildInputs = [
karchive
kcompletion
kconfig
kconfigwidgets
kcoreaddons
kdbusaddons
kdeclarative
ki18n
kiconthemes
kio
kitemmodels
plasma-framework
kservice
ktexteditor
kwidgetsaddons
];
}
@@ -1,40 +0,0 @@
{
mkDerivation,
extra-cmake-modules,
kdoctools,
qtquickcontrols2,
kconfig,
kcoreaddons,
ki18n,
kiconthemes,
kitemmodels,
kitemviews,
knewstuff,
libksysguard,
kquickcharts,
ksystemstats,
qqc2-desktop-style,
qtbase,
}:
mkDerivation {
pname = "plasma-systemmonitor";
nativeBuildInputs = [
extra-cmake-modules
kdoctools
];
buildInputs = [
qtquickcontrols2
kconfig
kcoreaddons
ki18n
kitemmodels
kitemviews
knewstuff
kiconthemes
libksysguard
kquickcharts
ksystemstats
qqc2-desktop-style
];
}
@@ -1,17 +0,0 @@
{
mkDerivation,
extra-cmake-modules,
kcmutils,
kcoreaddons,
bolt,
}:
mkDerivation {
pname = "plasma-thunderbolt";
nativeBuildInputs = [ extra-cmake-modules ];
buildInputs = [
kcmutils
kcoreaddons
bolt
];
}
@@ -1,31 +0,0 @@
From fef6bfe87db4411e3dda2f96741cd8204fe41d85 Mon Sep 17 00:00:00 2001
From: Thomas Tuegel <ttuegel@mailbox.org>
Date: Tue, 2 Nov 2021 05:57:50 -0500
Subject: [PATCH 1/3] encfs path
---
kded/engine/backends/encfs/encfsbackend.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/kded/engine/backends/encfs/encfsbackend.cpp b/kded/engine/backends/encfs/encfsbackend.cpp
index 2d15fa2..3f49867 100644
--- a/kded/engine/backends/encfs/encfsbackend.cpp
+++ b/kded/engine/backends/encfs/encfsbackend.cpp
@@ -101,12 +101,12 @@ QProcess *EncFsBackend::encfs(const QStringList &arguments) const
auto config = KSharedConfig::openConfig(PLASMAVAULT_CONFIG_FILE);
KConfigGroup backendConfig(config, "EncfsBackend");
- return process("encfs", arguments + backendConfig.readEntry("extraMountOptions", QStringList{}), {});
+ return process(NIXPKGS_ENCFS, arguments + backendConfig.readEntry("extraMountOptions", QStringList{}), {});
}
QProcess *EncFsBackend::encfsctl(const QStringList &arguments) const
{
- return process("encfsctl", arguments, {});
+ return process(NIXPKGS_ENCFSCTL, arguments, {});
}
} // namespace PlasmaVault
--
2.33.1
@@ -1,25 +0,0 @@
From a89a0d3f9088d272c01ccb9b730d1dbb500f9cb8 Mon Sep 17 00:00:00 2001
From: Thomas Tuegel <ttuegel@mailbox.org>
Date: Tue, 2 Nov 2021 05:59:34 -0500
Subject: [PATCH 2/3] cryfs path
---
kded/engine/backends/cryfs/cryfsbackend.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kded/engine/backends/cryfs/cryfsbackend.cpp b/kded/engine/backends/cryfs/cryfsbackend.cpp
index 64138b6..1a9fde2 100644
--- a/kded/engine/backends/cryfs/cryfsbackend.cpp
+++ b/kded/engine/backends/cryfs/cryfsbackend.cpp
@@ -207,7 +207,7 @@ QProcess *CryFsBackend::cryfs(const QStringList &arguments) const
auto config = KSharedConfig::openConfig(PLASMAVAULT_CONFIG_FILE);
KConfigGroup backendConfig(config, "CryfsBackend");
- return process("cryfs", arguments + backendConfig.readEntry("extraMountOptions", QStringList{}), {{"CRYFS_FRONTEND", "noninteractive"}});
+ return process(NIXPKGS_CRYFS, arguments + backendConfig.readEntry("extraMountOptions", QStringList{}), {{"CRYFS_FRONTEND", "noninteractive"}});
}
} // namespace PlasmaVault
--
2.33.1
@@ -1,25 +0,0 @@
From 63571e28c65935f32567c0b179a096d62726b778 Mon Sep 17 00:00:00 2001
From: Thomas Tuegel <ttuegel@mailbox.org>
Date: Tue, 2 Nov 2021 06:00:32 -0500
Subject: [PATCH 3/3] fusermount path
---
kded/engine/fusebackend_p.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kded/engine/fusebackend_p.cpp b/kded/engine/fusebackend_p.cpp
index 91f3523..1c19d88 100644
--- a/kded/engine/fusebackend_p.cpp
+++ b/kded/engine/fusebackend_p.cpp
@@ -86,7 +86,7 @@ QProcess *FuseBackend::process(const QString &executable, const QStringList &arg
QProcess *FuseBackend::fusermount(const QStringList &arguments) const
{
- return process("fusermount", arguments, {});
+ return process(NIXPKGS_FUSERMOUNT, arguments, {});
}
FutureResult<> FuseBackend::initialize(const QString &name, const Device &device, const MountPoint &mountPoint, const Vault::Payload &payload)
--
2.33.1
@@ -1,13 +0,0 @@
diff --git a/kded/engine/backends/gocryptfs/gocryptfsbackend.cpp b/kded/engine/backends/gocryptfs/gocryptfsbackend.cpp
index 2d6df94..3e8ec9a 100644
--- a/kded/engine/backends/gocryptfs/gocryptfsbackend.cpp
+++ b/kded/engine/backends/gocryptfs/gocryptfsbackend.cpp
@@ -202,7 +202,7 @@ QProcess *GocryptfsBackend::gocryptfs(const QStringList &arguments) const
auto config = KSharedConfig::openConfig(PLASMAVAULT_CONFIG_FILE);
KConfigGroup backendConfig(config, "GocryptfsBackend");
- return process("gocryptfs", arguments + backendConfig.readEntry("extraMountOptions", QStringList{}), {});
+ return process(NIXPKGS_GOCRYPTFS, arguments + backendConfig.readEntry("extraMountOptions", QStringList{}), {});
}
QString GocryptfsBackend::getConfigFilePath(const Device &device) const
@@ -1,43 +0,0 @@
{
mkDerivation,
lib,
extra-cmake-modules,
kactivities,
plasma-framework,
kwindowsystem,
networkmanager-qt,
libksysguard,
encfs,
cryfs,
fuse,
gocryptfs,
}:
mkDerivation {
pname = "plasma-vault";
nativeBuildInputs = [ extra-cmake-modules ];
patches = [
./0001-encfs-path.patch
./0002-cryfs-path.patch
./0003-fusermount-path.patch
./0004-gocryptfs-path.patch
];
buildInputs = [
kactivities
plasma-framework
kwindowsystem
libksysguard
networkmanager-qt
];
CXXFLAGS = [
''-DNIXPKGS_ENCFS=\"${lib.getBin encfs}/bin/encfs\"''
''-DNIXPKGS_ENCFSCTL=\"${lib.getBin encfs}/bin/encfsctl\"''
''-DNIXPKGS_CRYFS=\"${lib.getBin cryfs}/bin/cryfs\"''
''-DNIXPKGS_FUSERMOUNT=\"${lib.getBin fuse}/bin/fusermount\"''
''-DNIXPKGS_GOCRYPTFS=\"${lib.getBin gocryptfs}/bin/gocryptfs\"''
];
}
-45
View File
@@ -1,45 +0,0 @@
{
mkDerivation,
extra-cmake-modules,
qtquickcontrols2,
accounts-qt,
kaccounts-integration,
kcoreaddons,
kconfigwidgets,
kdbusaddons,
kdeclarative,
ki18n,
kio,
kirigami2,
knewstuff,
knotifications,
kservice,
kuserfeedback,
kwindowsystem,
plasma-framework,
signond,
}:
mkDerivation {
pname = "plasma-welcome";
nativeBuildInputs = [ extra-cmake-modules ];
buildInputs = [
qtquickcontrols2
accounts-qt
kaccounts-integration
kcoreaddons
kconfigwidgets
kdbusaddons
kdeclarative
ki18n
kio
kirigami2
knewstuff
knotifications
kservice
kuserfeedback
kwindowsystem
plasma-framework
signond
];
}
@@ -1,6 +0,0 @@
{ mkDerivation, extra-cmake-modules }:
mkDerivation {
pname = "plasma-workspace-wallpapers";
nativeBuildInputs = [ extra-cmake-modules ];
}
@@ -1,74 +0,0 @@
diff --git a/kcms/krdb/krdb.cpp b/kcms/krdb/krdb.cpp
index 46363ddcb..d787f9993 100644
--- a/kcms/krdb/krdb.cpp
+++ b/kcms/krdb/krdb.cpp
@@ -468,7 +468,7 @@ void runRdb(unsigned int flags)
proc.execute();
// Needed for applications that don't set their own cursor.
- QProcess::execute(QStringLiteral("xsetroot"), {QStringLiteral("-cursor_name"), QStringLiteral("left_ptr")});
+ QProcess::execute(QStringLiteral(NIXPKGS_XSETROOT), {QStringLiteral("-cursor_name"), QStringLiteral("left_ptr")});
applyGtkStyles(1);
applyGtkStyles(2);
diff --git a/startkde/plasma-session/startup.cpp b/startkde/plasma-session/startup.cpp
index ffec07ebf..11e70fef8 100644
--- a/startkde/plasma-session/startup.cpp
+++ b/startkde/plasma-session/startup.cpp
@@ -176,7 +176,7 @@ Startup::Startup(QObject *parent)
}
// Keep for KF5; remove in KF6 (KInit will be gone then)
- QProcess::execute(QStringLiteral(CMAKE_INSTALL_FULL_LIBEXECDIR_KF5 "/start_kdeinit_wrapper"), QStringList());
+ QProcess::execute(QStringLiteral(NIXPKGS_START_KDEINIT_WRAPPER), QStringList());
KJob *phase1 = nullptr;
m_lock.reset(new QEventLoopLocker);
diff --git a/startkde/startplasma-wayland.cpp b/startkde/startplasma-wayland.cpp
index 04875c358..5822af37c 100644
--- a/startkde/startplasma-wayland.cpp
+++ b/startkde/startplasma-wayland.cpp
@@ -89,7 +89,7 @@ int main(int argc, char **argv)
out << "startplasma-wayland: Shutting down...\n";
// Keep for KF5; remove in KF6 (KInit will be gone then)
- runSync(QStringLiteral("kdeinit5_shutdown"), {});
+ runSync(QStringLiteral(NIXPKGS_KDEINIT5_SHUTDOWN), {});
out << "startplasmacompositor: Shutting down...\n";
cleanupPlasmaEnvironment(oldSystemdEnvironment);
diff --git a/startkde/startplasma-x11.cpp b/startkde/startplasma-x11.cpp
index 8e82e29c3..1ed176706 100644
--- a/startkde/startplasma-x11.cpp
+++ b/startkde/startplasma-x11.cpp
@@ -87,7 +87,7 @@ int main(int argc, char **argv)
out << "startkde: Shutting down...\n";
// Keep for KF5; remove in KF6 (KInit will be gone then)
- runSync(QStringLiteral("kdeinit5_shutdown"), {});
+ runSync(QStringLiteral(NIXPKGS_KDEINIT5_SHUTDOWN), {});
cleanupPlasmaEnvironment(oldSystemdEnvironment);
diff --git a/startkde/startplasma.cpp b/startkde/startplasma.cpp
index b0158c97d..c8f7fe223 100644
--- a/startkde/startplasma.cpp
+++ b/startkde/startplasma.cpp
@@ -50,7 +50,7 @@ void sigtermHandler(int signalNumber)
void messageBox(const QString &text)
{
out << text;
- runSync(QStringLiteral("xmessage"), {QStringLiteral("-geometry"), QStringLiteral("500x100"), text});
+ runSync(QStringLiteral(NIXPKGS_XMESSAGE), {QStringLiteral("-geometry"), QStringLiteral("500x100"), text});
}
QStringList allServices(const QLatin1String &prefix)
@@ -484,7 +484,7 @@ QProcess *setupKSplash()
if (ksplashCfg.readEntry("Engine", QStringLiteral("KSplashQML")) == QLatin1String("KSplashQML")) {
p = new QProcess;
p->setProcessChannelMode(QProcess::ForwardedChannels);
- p->start(QStringLiteral("ksplashqml"), {ksplashCfg.readEntry("Theme", QStringLiteral("Breeze"))});
+ p->start(QStringLiteral(CMAKE_INSTALL_FULL_BINDIR "/ksplashqml"), {ksplashCfg.readEntry("Theme", QStringLiteral("Breeze"))});
}
}
return p;
@@ -1,9 +0,0 @@
--- a/lookandfeel/sddm-theme/theme.conf.cmake
+++ b/lookandfeel/sddm-theme/theme.conf.cmake
@@ -4,5 +4,5 @@ logo=${KDE_INSTALL_FULL_DATADIR}/sddm/themes/breeze/default-logo.svg
type=image
color=#1d99f3
fontSize=10
-background=${KDE_INSTALL_FULL_WALLPAPERDIR}/Next/contents/images/5120x2880.png
+background=${NIXPKGS_BREEZE_WALLPAPERS}/Next/contents/images/5120x2880.png
needsFullUserModel=false
@@ -1,191 +0,0 @@
{
mkDerivation,
lib,
extra-cmake-modules,
kdoctools,
wayland-scanner,
isocodes,
libdbusmenu,
libSM,
libXcursor,
libXtst,
libXft,
pam,
wayland,
xmessage,
xsetroot,
baloo,
breeze-qt5,
kactivities,
kactivities-stats,
kcmutils,
kconfig,
kcrash,
kdbusaddons,
kdeclarative,
kdelibs4support,
kdesu,
kglobalaccel,
kidletime,
kinit,
kjsembed,
knewstuff,
knotifyconfig,
kpackage,
kpeople,
krunner,
kscreenlocker,
ktexteditor,
ktextwidgets,
kwallet,
kwayland,
kwin,
kxmlrpcclient,
libkscreen,
libksysguard,
libqalculate,
networkmanager-qt,
phonon,
plasma-framework,
prison,
solid,
kholidays,
kquickcharts,
appstream-qt,
plasma-wayland-protocols,
kpipewire,
libkexiv2,
kuserfeedback,
qtgraphicaleffects,
qtquickcontrols,
qtquickcontrols2,
qtscript,
qttools,
qtwayland,
qtx11extras,
qqc2-desktop-style,
polkit-qt,
pipewire,
libdrm,
fetchpatch,
}:
let
inherit (lib) getBin getLib;
in
mkDerivation {
pname = "plasma-workspace";
passthru.providedSessions = [
"plasma"
"plasmawayland"
];
nativeBuildInputs = [
extra-cmake-modules
kdoctools
wayland-scanner
];
buildInputs = [
isocodes
libdbusmenu
libSM
libXcursor
libXtst
libXft
pam
wayland
baloo
kactivities
kactivities-stats
kcmutils
kconfig
kcrash
kdbusaddons
kdeclarative
kdelibs4support
kdesu
kglobalaccel
kidletime
kjsembed
knewstuff
knotifyconfig
kpackage
kpeople
krunner
kscreenlocker
ktexteditor
ktextwidgets
kwallet
kwayland
kwin
kxmlrpcclient
libkscreen
libksysguard
libqalculate
networkmanager-qt
phonon
plasma-framework
prison
solid
kholidays
kquickcharts
appstream-qt
plasma-wayland-protocols
kpipewire
libkexiv2
kuserfeedback
qtgraphicaleffects
qtquickcontrols
qtquickcontrols2
qtscript
qtwayland
qtx11extras
qqc2-desktop-style
polkit-qt
pipewire
libdrm
];
propagatedUserEnvPkgs = [ qtgraphicaleffects ];
outputs = [
"out"
"dev"
];
cmakeFlags = [
''-DNIXPKGS_BREEZE_WALLPAPERS=${getBin breeze-qt5}/share/wallpapers''
];
patches = [
./0001-startkde.patch
./0002-absolute-wallpaper-install-dir.patch
# Backport patch for cleaner shutdowns
(fetchpatch {
url = "https://invent.kde.org/plasma/plasma-workspace/-/commit/6ce8f434139f47e6a71bf0b68beae92be8845ce4.patch";
hash = "sha256-cYw/4/9tSnCbArLr72O8F8V0NLkVXdCVnJGoGxSzZMg=";
})
];
# QT_INSTALL_BINS refers to qtbase, and qdbus is in qttools
postPatch = ''
substituteInPlace CMakeLists.txt \
--replace 'ecm_query_qt(QtBinariesDir QT_INSTALL_BINS)' 'set(QtBinariesDir "${lib.getBin qttools}/bin")'
'';
# work around wrapQtAppsHook double-wrapping kcminit_startup,
# which is a symlink to kcminit
postFixup = ''
ln -sf $out/bin/kcminit $out/bin/kcminit_startup
'';
env.NIX_CFLAGS_COMPILE = toString [
''-DNIXPKGS_XMESSAGE="${getBin xmessage}/bin/xmessage"''
''-DNIXPKGS_XSETROOT="${getBin xsetroot}/bin/xsetroot"''
''-DNIXPKGS_START_KDEINIT_WRAPPER="${getLib kinit}/libexec/kf5/start_kdeinit_wrapper"''
''-DNIXPKGS_KDEINIT5_SHUTDOWN="${getBin kinit}/bin/kdeinit5_shutdown"''
];
}
@@ -1,35 +0,0 @@
{
mkDerivation,
extra-cmake-modules,
kcoreaddons,
kconfig,
kcrash,
kdbusaddons,
ki18n,
kiconthemes,
knotifications,
kwidgetsaddons,
kwindowsystem,
polkit-qt,
}:
mkDerivation {
pname = "polkit-kde-agent";
nativeBuildInputs = [ extra-cmake-modules ];
propagatedBuildInputs = [
kdbusaddons
kwidgetsaddons
kcoreaddons
kcrash
kconfig
ki18n
kiconthemes
knotifications
kwindowsystem
polkit-qt
];
outputs = [
"out"
"dev"
];
}
-49
View File
@@ -1,49 +0,0 @@
{
mkDerivation,
extra-cmake-modules,
kdoctools,
bluez-qt,
kactivities,
kauth,
kconfig,
kdbusaddons,
kglobalaccel,
ki18n,
kidletime,
kio,
knotifyconfig,
kwayland,
libkscreen,
networkmanager-qt,
plasma-workspace,
qtx11extras,
solid,
udev,
}:
mkDerivation {
pname = "powerdevil";
nativeBuildInputs = [
extra-cmake-modules
kdoctools
];
buildInputs = [
kconfig
kdbusaddons
knotifyconfig
solid
udev
bluez-qt
kactivities
kauth
kglobalaccel
ki18n
kio
kidletime
kwayland
libkscreen
networkmanager-qt
plasma-workspace
qtx11extras
];
}
@@ -1,29 +0,0 @@
{
mkDerivation,
extra-cmake-modules,
kconfig,
kconfigwidgets,
kdoctools,
kguiaddons,
kiconthemes,
kirigami2,
qtquickcontrols2,
qtx11extras,
}:
mkDerivation {
pname = "qqc2-breeze-style";
nativeBuildInputs = [
extra-cmake-modules
kdoctools
];
buildInputs = [
kconfig
kconfigwidgets
kguiaddons
kiconthemes
kirigami2
qtquickcontrols2
qtx11extras
];
}
-37
View File
@@ -1,37 +0,0 @@
{
mkDerivation,
extra-cmake-modules,
shared-mime-info,
libpthreadstubs,
libXcursor,
libXdmcp,
qtquickcontrols2,
qtx11extras,
karchive,
kcmutils,
kdeclarative,
ki18n,
kio,
knewstuff,
}:
mkDerivation {
pname = "sddm-kcm";
nativeBuildInputs = [
extra-cmake-modules
shared-mime-info
];
buildInputs = [
libpthreadstubs
libXcursor
libXdmcp
qtquickcontrols2
qtx11extras
karchive
kcmutils
kdeclarative
ki18n
kio
knewstuff
];
}
-486
View File
@@ -1,486 +0,0 @@
# DO NOT EDIT! This file is generated automatically.
# Command: ./maintainers/scripts/fetch-kde-qt.sh pkgs/desktops/plasma-5/
{ fetchurl, mirror }:
{
aura-browser = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/aura-browser-5.27.11.tar.xz";
sha256 = "098s0r3lr5svdysc93nvv8xqj3dlslly733hf8pz1nlp621dhx7k";
name = "aura-browser-5.27.11.tar.xz";
};
};
bluedevil = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/bluedevil-5.27.11.tar.xz";
sha256 = "1134pm16db70h79q55c9ir1d1amqscdd8bvkf92nmmk6s2zsimdl";
name = "bluedevil-5.27.11.tar.xz";
};
};
breeze = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/breeze-5.27.11.tar.xz";
sha256 = "1ascvlkycbn4h0bi2cdjljnpi3cfp7whvzslm4fb2gdwwlpnlx8l";
name = "breeze-5.27.11.tar.xz";
};
};
breeze-grub = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/breeze-grub-5.27.11.tar.xz";
sha256 = "03l6lpqj1fp2645qy23fcngfzwzhdgyj3xw563gx3gcgqwrc84h6";
name = "breeze-grub-5.27.11.tar.xz";
};
};
breeze-gtk = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/breeze-gtk-5.27.11.tar.xz";
sha256 = "1vkzyv65m37jg436brscgn61dd6mil50s8jyn2szwka0hyzx7gfw";
name = "breeze-gtk-5.27.11.tar.xz";
};
};
breeze-plymouth = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/breeze-plymouth-5.27.11.tar.xz";
sha256 = "16vp6a2bp6s57wb9cb4dhac650m93829xp7q44n172564lz0pn8d";
name = "breeze-plymouth-5.27.11.tar.xz";
};
};
discover = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/discover-5.27.11.tar.xz";
sha256 = "0b79x5xfggymxmh0fr45ndc3k3xd2gjryhmy8xd370bd5d964arl";
name = "discover-5.27.11.tar.xz";
};
};
drkonqi = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/drkonqi-5.27.11.tar.xz";
sha256 = "0g2q959wswjwpn2vj4mmfy3xr6yj4mch55lr8b2xyd0bxw4vb810";
name = "drkonqi-5.27.11.tar.xz";
};
};
flatpak-kcm = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/flatpak-kcm-5.27.11.tar.xz";
sha256 = "0jnzxk9fhpck19k48fw2mcvr5512xnw3jss9c7xp5h27jhml8b4p";
name = "flatpak-kcm-5.27.11.tar.xz";
};
};
kactivitymanagerd = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/kactivitymanagerd-5.27.11.tar.xz";
sha256 = "1mawqh3vkbibyjijh5797fzj5ldadzvbmkck23v6s34516rpgfxj";
name = "kactivitymanagerd-5.27.11.tar.xz";
};
};
kde-cli-tools = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/kde-cli-tools-5.27.11.tar.xz";
sha256 = "0mc2n91124cxgfhdz6l0x87665q2jamiq14qlzapynjflvzgh9ca";
name = "kde-cli-tools-5.27.11.tar.xz";
};
};
kde-gtk-config = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/kde-gtk-config-5.27.11.tar.xz";
sha256 = "02hdy55vp6yvx8p877jdr5l5hs46k1rxrwj90m93m2vv0ysib2d4";
name = "kde-gtk-config-5.27.11.tar.xz";
};
};
kdecoration = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/kdecoration-5.27.11.tar.xz";
sha256 = "0f7qy5y0352ib6lqq8fv22y3f5zvfbzm9ydn8li3m4lk3531gi3i";
name = "kdecoration-5.27.11.tar.xz";
};
};
kdeplasma-addons = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/kdeplasma-addons-5.27.11.tar.xz";
sha256 = "016dsfg54gyjk4l0qr8s7rdmyhrvf7b2n9nfkx65cb5ja2x6h875";
name = "kdeplasma-addons-5.27.11.tar.xz";
};
};
kgamma = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/kgamma-5.27.11.tar.xz";
sha256 = "0y6n2dp0d7snj72vhm63612a5649qscfv7zcgvdmz3mb8h1xhm5n";
name = "kgamma-5.27.11.tar.xz";
};
};
kgamma5 = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/kgamma5-5.27.11.tar.xz";
sha256 = "0y6n2dp0d7snj72vhm63612a5649qscfv7zcgvdmz3mb8h1xhm5n";
name = "kgamma5-5.27.11.tar.xz";
};
};
khotkeys = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/khotkeys-5.27.11.tar.xz";
sha256 = "0na4h225yrjfivyw3d1c3p2db1djymyz3wahjgmlz1s6wml7qjcb";
name = "khotkeys-5.27.11.tar.xz";
};
};
kinfocenter = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/kinfocenter-5.27.11.tar.xz";
sha256 = "01qdyklvr1ff83zlpgysa7qlkzv9m6ff1hjjnxcp007k5cal79r9";
name = "kinfocenter-5.27.11.tar.xz";
};
};
kmenuedit = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/kmenuedit-5.27.11.tar.xz";
sha256 = "0mrvqif3k7lsvwn7slmm7b4k27v2km04r7v5jr9dsl865h3dwkch";
name = "kmenuedit-5.27.11.tar.xz";
};
};
kpipewire = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/kpipewire-5.27.11.tar.xz";
sha256 = "1h2czy5qz026gqid2klfnqim4j1p5r526vrp44jxrf1fjhj0z6mc";
name = "kpipewire-5.27.11.tar.xz";
};
};
kscreen = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/kscreen-5.27.11.tar.xz";
sha256 = "0ly7rd519glhv25a4dsxnnxjizqj6j62gf2kfrbcimg7yj77lzvy";
name = "kscreen-5.27.11.tar.xz";
};
};
kscreenlocker = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/kscreenlocker-5.27.11.tar.xz";
sha256 = "1pynfzms3iihfpzhlma7769zaaslk9jnfpgmhx6kah227gmcxf1k";
name = "kscreenlocker-5.27.11.tar.xz";
};
};
ksshaskpass = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/ksshaskpass-5.27.11.tar.xz";
sha256 = "1fqrw6n9fggdz6rhg0985s6dg6x2h1a8i9zic5zsv24wnbqvsy4y";
name = "ksshaskpass-5.27.11.tar.xz";
};
};
ksystemstats = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/ksystemstats-5.27.11.tar.xz";
sha256 = "1mawh8icgrx18z7dyqzxxikl0z9fq87z5a1hx6ykimcri345z3ip";
name = "ksystemstats-5.27.11.tar.xz";
};
};
kwallet-pam = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/kwallet-pam-5.27.11.tar.xz";
sha256 = "0h6qmrl4qa5m4csqvn3rvkvlqi6aa606bnfaxx77kqc65a7vhlvz";
name = "kwallet-pam-5.27.11.tar.xz";
};
};
kwayland-integration = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/kwayland-integration-5.27.11.tar.xz";
sha256 = "1dmwd3mw5s67pngb0gd6ki0vfzj0aamkyxiqagn06jkvwsxlfjcb";
name = "kwayland-integration-5.27.11.tar.xz";
};
};
kwin = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/kwin-5.27.11.tar.xz";
sha256 = "0vxmj50wran5glgzs3cwpyjk9qwgwnzlmq0gb4kcsm5x54xv40l9";
name = "kwin-5.27.11.tar.xz";
};
};
kwrited = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/kwrited-5.27.11.tar.xz";
sha256 = "18f054ya2kkxsivh5pdfl7ja5g26m337bkp65famwd94gsnca487";
name = "kwrited-5.27.11.tar.xz";
};
};
layer-shell-qt = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/layer-shell-qt-5.27.11.tar.xz";
sha256 = "0l6kfqg0v5gm4dp9xs5kvhw4ahx45gr8ymp3x7zsxj8r2q4j3hzl";
name = "layer-shell-qt-5.27.11.tar.xz";
};
};
libkscreen = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/libkscreen-5.27.11.tar.xz";
sha256 = "1m8xl9z000pjbgk18mpaz8cfpx7prvlfx8p5i0wk0clz90fz848d";
name = "libkscreen-5.27.11.tar.xz";
};
};
libksysguard = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/libksysguard-5.27.11.tar.xz";
sha256 = "0ncnrg5g1h7c1w66mks73md3fz5n4axmxw5jb85a3kg8vm6gbx11";
name = "libksysguard-5.27.11.tar.xz";
};
};
milou = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/milou-5.27.11.tar.xz";
sha256 = "06iyb2zn19xz837wfz86xz5i3rkfkyvyy6xgywhjknvsvi06k08b";
name = "milou-5.27.11.tar.xz";
};
};
oxygen = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/oxygen-5.27.11.tar.xz";
sha256 = "0w7mnh4ds7avv3xdgd4rb6b5612krbpzm8dx3fgpr2yp7c1lfbxs";
name = "oxygen-5.27.11.tar.xz";
};
};
oxygen-sounds = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/oxygen-sounds-5.27.11.tar.xz";
sha256 = "1ppikl4b9rldj9d0cgn52vi7jhjrkqkj0blq7c11x52ibb2lk8kg";
name = "oxygen-sounds-5.27.11.tar.xz";
};
};
plank-player = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/plank-player-5.27.11.tar.xz";
sha256 = "1sg6zk97qawpmizdykl6q27h5aha6cfj0qcqx4l606mcixf4gskc";
name = "plank-player-5.27.11.tar.xz";
};
};
plasma-bigscreen = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/plasma-bigscreen-5.27.11.tar.xz";
sha256 = "0rv0hcff6z6xnxpx10by5mxmi6pm16wsa9akd9nf8m5jbm1b7r43";
name = "plasma-bigscreen-5.27.11.tar.xz";
};
};
plasma-browser-integration = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/plasma-browser-integration-5.27.11.tar.xz";
sha256 = "0k0jbhhvmgv1xqw8bz4kn7j1r8d69n1r1mbb1px8ibl6d4famrn4";
name = "plasma-browser-integration-5.27.11.tar.xz";
};
};
plasma-desktop = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/plasma-desktop-5.27.11.tar.xz";
sha256 = "18s4zh8z1x0519xlh156xfay865hpyyhf172znvb9rsic9bix7yh";
name = "plasma-desktop-5.27.11.tar.xz";
};
};
plasma-disks = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/plasma-disks-5.27.11.tar.xz";
sha256 = "1js1m46bh7hshcqx90b97rc5k9gk9rg4kyqc8h3bs767fbvp9l4q";
name = "plasma-disks-5.27.11.tar.xz";
};
};
plasma-firewall = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/plasma-firewall-5.27.11.tar.xz";
sha256 = "01f1429ks9rkh8wsmjw91ryrmifnsxq3q8mxawcwaswiykyykkil";
name = "plasma-firewall-5.27.11.tar.xz";
};
};
plasma-integration = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/plasma-integration-5.27.11.tar.xz";
sha256 = "0ydzy1fy6j6ais1y5zgfai6kxhinf8478jcsa7blg43061zsj55j";
name = "plasma-integration-5.27.11.tar.xz";
};
};
plasma-mobile = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/plasma-mobile-5.27.11.tar.xz";
sha256 = "167hm5p3bhpnf8c5xn4f4r6grldv31wcfbrpyfvkf4kv94pspsq4";
name = "plasma-mobile-5.27.11.tar.xz";
};
};
plasma-nano = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/plasma-nano-5.27.11.tar.xz";
sha256 = "1yrgfhhj6vdc6ppnc8iys1b8wj3mfsf1p9w81d05fy5ka8ykjh0c";
name = "plasma-nano-5.27.11.tar.xz";
};
};
plasma-nm = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/plasma-nm-5.27.11.tar.xz";
sha256 = "0mlybqjnx9xgdmdbhzh65is62x8mwy6h8aw21n31g3nlwafq2spz";
name = "plasma-nm-5.27.11.tar.xz";
};
};
plasma-pa = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/plasma-pa-5.27.11.tar.xz";
sha256 = "1cr0lywxpidhmn0n62xsf4gs94g723rxv5lwdf26jfqnlwg6gaix";
name = "plasma-pa-5.27.11.tar.xz";
};
};
plasma-remotecontrollers = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/plasma-remotecontrollers-5.27.11.tar.xz";
sha256 = "0w77bh27d948sznbs22j5jzlp06711x0g0v3sbm7cy3r6dw7rwsr";
name = "plasma-remotecontrollers-5.27.11.tar.xz";
};
};
plasma-sdk = {
version = "5.27.11.1";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/plasma-sdk-5.27.11.1.tar.xz";
sha256 = "0i073qv2drnjixv7p8kzzq05wggdsj2jdckhz1i46dwsd65s38lh";
name = "plasma-sdk-5.27.11.1.tar.xz";
};
};
plasma-systemmonitor = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/plasma-systemmonitor-5.27.11.tar.xz";
sha256 = "1zaxddrjhypf7pc40gyanymf0l5bbdijc3lf5bkl6p8vjaywpjha";
name = "plasma-systemmonitor-5.27.11.tar.xz";
};
};
plasma-thunderbolt = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/plasma-thunderbolt-5.27.11.tar.xz";
sha256 = "1yw9bampcbjxqrxiri3ac933gk29rmn2jcfbxqsb5kcb6gbc5rsz";
name = "plasma-thunderbolt-5.27.11.tar.xz";
};
};
plasma-vault = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/plasma-vault-5.27.11.tar.xz";
sha256 = "1hkn4a61kwnhscl1cq3nza323p4l513d0c3va70vqa7psxwrsn8b";
name = "plasma-vault-5.27.11.tar.xz";
};
};
plasma-welcome = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/plasma-welcome-5.27.11.tar.xz";
sha256 = "02rjm23qqfwnasiqj4ksl4yayg0xijmdxzqqc4f5by17vplcmgng";
name = "plasma-welcome-5.27.11.tar.xz";
};
};
plasma-workspace = {
version = "5.27.11.1";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/plasma-workspace-5.27.11.1.tar.xz";
sha256 = "1bib8z7pmb5mscw2p07mbfsphzpvwsiib84s0g25fz4mma6l4hn7";
name = "plasma-workspace-5.27.11.1.tar.xz";
};
};
plasma-workspace-wallpapers = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/plasma-workspace-wallpapers-5.27.11.tar.xz";
sha256 = "02p59m54g453pl3cjx932xpfhz73lc8yq1hxq9pzsyhjd3y2fg12";
name = "plasma-workspace-wallpapers-5.27.11.tar.xz";
};
};
plymouth-kcm = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/plymouth-kcm-5.27.11.tar.xz";
sha256 = "1m645zw0vi1zj6sqplc7x23ycwkh9x41nxq413njz5sgmb76k8ig";
name = "plymouth-kcm-5.27.11.tar.xz";
};
};
polkit-kde-agent = {
version = "1-5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/polkit-kde-agent-1-5.27.11.tar.xz";
sha256 = "06swprc498fjbk0aw2ac6x4g7sx5whzbaci12nwl068h9y4hisf9";
name = "polkit-kde-agent-1-5.27.11.tar.xz";
};
};
powerdevil = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/powerdevil-5.27.11.tar.xz";
sha256 = "0wvmdjrmlphxx2jcabsnqzayz50chvrgxsp5ynw3kgdw0lpapli8";
name = "powerdevil-5.27.11.tar.xz";
};
};
qqc2-breeze-style = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/qqc2-breeze-style-5.27.11.tar.xz";
sha256 = "03v1wdl3wq5xn185b28ljj62qggjllw6s8xzi91s0g3sxfvp3fgx";
name = "qqc2-breeze-style-5.27.11.tar.xz";
};
};
sddm-kcm = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/sddm-kcm-5.27.11.tar.xz";
sha256 = "1h3lg25hrggwd8f3ivgndwd9vwkvhxh22jgfmsvjxqcv6n0zx6rv";
name = "sddm-kcm-5.27.11.tar.xz";
};
};
systemsettings = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/systemsettings-5.27.11.tar.xz";
sha256 = "0jlj3wcf3npwi83yhgczkz116p0fiwvgkwnk39zmdba4kqkj8pqg";
name = "systemsettings-5.27.11.tar.xz";
};
};
xdg-desktop-portal-kde = {
version = "5.27.11";
src = fetchurl {
url = "${mirror}/stable/plasma/5.27.11/xdg-desktop-portal-kde-5.27.11.tar.xz";
sha256 = "1cyr2scjrdvx0x2qcpky7qr5rxxjlsavwvyjwajlfm0l3s5qjxin";
name = "xdg-desktop-portal-kde-5.27.11.tar.xz";
};
};
}
-59
View File
@@ -1,59 +0,0 @@
{
mkDerivation,
extra-cmake-modules,
kdoctools,
kcmutils,
kconfig,
kdbusaddons,
khtml,
ki18n,
kiconthemes,
kio,
kitemviews,
kservice,
kwindowsystem,
kxmlgui,
qtquickcontrols,
qtquickcontrols2,
kactivities,
kactivities-stats,
kirigami2,
kirigami-addons,
kcrash,
plasma-workspace,
}:
mkDerivation {
pname = "systemsettings";
nativeBuildInputs = [
extra-cmake-modules
kdoctools
];
buildInputs = [
kcmutils
kconfig
kdbusaddons
khtml
ki18n
kiconthemes
kio
kitemviews
kservice
kwindowsystem
kxmlgui
qtquickcontrols
qtquickcontrols2
kactivities
kactivities-stats
kirigami2
kirigami-addons
kcrash
plasma-workspace
];
outputs = [
"bin"
"dev"
"out"
];
meta.mainProgram = "systemsettings5";
}
@@ -1,57 +0,0 @@
{
mkDerivation,
extra-cmake-modules,
gettext,
kdoctools,
wayland-scanner,
cups,
libepoxy,
libgbm,
pcre,
pipewire,
wayland,
wayland-protocols,
kcoreaddons,
knotifications,
kwayland,
kwidgetsaddons,
kwindowsystem,
kirigami2,
kdeclarative,
plasma-framework,
plasma-wayland-protocols,
plasma-workspace,
kio,
qtbase,
}:
mkDerivation {
pname = "xdg-desktop-portal-kde";
nativeBuildInputs = [
extra-cmake-modules
gettext
kdoctools
wayland-scanner
];
buildInputs = [
cups
libepoxy
libgbm
pcre
pipewire
wayland
wayland-protocols
kio
kcoreaddons
knotifications
kwayland
kwidgetsaddons
kwindowsystem
kirigami2
kdeclarative
plasma-framework
plasma-wayland-protocols
plasma-workspace
];
}
-14
View File
@@ -39,17 +39,6 @@ makeScopeWithSplicing' {
in
(lib.makeOverridable mkFrameworks attrs);
plasma5 =
let
mkPlasma5 = import ../desktops/plasma-5;
attrs = {
inherit libsForQt5;
inherit (pkgs) config lib fetchurl;
inherit (pkgs) gsettings-desktop-schemas;
};
in
(lib.makeOverridable mkPlasma5 attrs);
kdeGear =
let
mkGear = import ../applications/kde;
@@ -72,15 +61,12 @@ makeScopeWithSplicing' {
in
(noExtraAttrs (
kdeFrameworks
// plasma5
// plasma5.thirdParty
// kdeGear
// qt5
// {
inherit
kdeFrameworks
plasma5
kdeGear
qt5
;