nixpkgs-suyu/pkgs/desktops/plasma-5/default.nix

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

197 lines
7.7 KiB
Nix
Raw Normal View History

/*
# New packages
2017-02-17 15:04:43 +01:00
READ THIS FIRST
2017-02-17 15:04:43 +01:00
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).
2017-02-17 15:04:43 +01:00
IF YOUR PACKAGE IS NOT LISTED IN `./srcs.nix`, IT DOES NOT GO HERE.
2017-02-17 15:04:43 +01:00
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.
2017-02-17 15:04:43 +01:00
# Updates
1. Update the URL in `./fetch.sh`.
2. Run `./maintainers/scripts/fetch-kde-qt.sh pkgs/desktops/plasma-5`
2017-02-17 15:04:43 +01:00
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.
*/
2016-04-21 18:01:22 +02:00
{ libsForQt5
, lib
, config
, fetchurl
, gconf
, gsettings-desktop-schemas
}:
2016-04-21 18:01:22 +02:00
let
2021-03-28 20:31:46 +02:00
minQtVersion = "5.15";
broken = lib.versionOlder libsForQt5.qtbase.version minQtVersion;
maintainers = with lib.maintainers; [ ttuegel nyanloutre ];
license = with lib.licenses; [
lgpl21Plus
lgpl3Plus
bsd2
mit
gpl2Plus
gpl3Plus
2022-10-27 22:47:29 +02:00
fdl12Plus
2021-03-28 20:31:46 +02:00
];
srcs = import ./srcs.nix {
inherit fetchurl;
mirror = "mirror://kde";
};
qtStdenv = libsForQt5.callPackage ({ stdenv }: stdenv) {};
2017-05-26 22:44:36 +02:00
packages = self:
let
2017-05-26 22:44:36 +02:00
propagate = out:
let
setupHook = { writeScript }:
writeScript "setup-hook" ''
if [[ "''${hookName-}" != postHook ]]; then
postHooks+=("source @dev@/nix-support/setup-hook")
else
# Propagate $${out} output
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
propagatedBuildInputs+=" @dev@"
fi
fi
'';
in
callPackage setupHook { };
2017-05-26 22:44:36 +02:00
propagateBin = propagate "bin";
callPackage = self.newScope {
2017-05-26 23:22:27 +02:00
inherit propagate propagateBin;
mkDerivation = args:
let
2022-03-06 22:28:56 +01:00
inherit (args) pname;
sname = args.sname or pname;
2019-08-13 23:52:01 +02:00
inherit (srcs.${sname}) src version;
2017-05-26 22:44:36 +02:00
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 ];
2021-03-28 20:31:46 +02:00
meta =
let meta = args.meta or { }; in
2021-03-28 20:31:46 +02:00
meta // {
homepage = meta.homepage or "http://www.kde.org";
license = meta.license or license;
maintainers = (meta.maintainers or [ ]) ++ maintainers;
2021-03-28 20:31:46 +02:00
platforms = meta.platforms or lib.platforms.linux;
broken = meta.broken or broken;
};
2017-05-26 22:44:36 +02:00
in
(args.stdenv or qtStdenv).mkDerivation (args // {
inherit pname version meta outputs setupHook src nativeBuildInputs;
});
};
2017-05-26 22:44:36 +02:00
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 { };
2023-01-20 13:40:22 +01:00
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-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 { inherit gconf; };
plasma-remotecontrollers = callPackage ./plasma-remotecontrollers.nix { };
plasma-sdk = callPackage ./plasma-sdk.nix { };
2021-03-21 07:45:38 +01:00
plasma-systemmonitor = callPackage ./plasma-systemmonitor.nix { };
2020-11-09 16:11:55 +01:00
plasma-thunderbolt = callPackage ./plasma-thunderbolt.nix { };
plasma-vault = callPackage ./plasma-vault { };
2023-01-20 13:41:28 +01:00
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 { };
2021-11-09 15:01:27 +01:00
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 { };
2022-02-23 03:07:38 +01:00
krunner-ssh = callPackage ./3rdparty/addons/krunner-ssh.nix { };
2021-07-19 03:53:02 +02:00
krunner-symbols = callPackage ./3rdparty/addons/krunner-symbols.nix { };
kzones = callPackage ./3rdparty/kwin/scripts/kzones.nix { };
2021-11-20 18:05:19 +01:00
lightly = callPackage ./3rdparty/lightly { };
2021-01-22 02:12:07 +01:00
parachute = callPackage ./3rdparty/kwin/scripts/parachute.nix { };
};
} // lib.optionalAttrs config.allowAliases {
ksysguard = throw "ksysguard has been replaced with plasma-systemmonitor";
2022-03-16 05:24:32 +01:00
plasma-phone-components = throw "'plasma-phone-components' has been renamed to/replaced by 'plasma-mobile'";
2016-10-05 04:31:47 +02:00
};
in
lib.makeScope libsForQt5.newScope packages