nixpkgs/pkgs/applications/kde/partitionmanager/default.nix
Jan Tojnar eb04659fc2 treewide: wrapGAppsHook → wrapGAppsHook3
This was achieved using the following command:

    sd 'wrapGAppsHook\b' wrapGAppsHook3 (rg -l 'wrapGAppsHook\b')

And then manually reverted the following changes:

- alias in top-level.nix
- function name in wrap-gapps-hook.sh
- comment in postFixup of at-spi2-core
- comment in gtk4
- comment in preFixup of 1password-gui/linux.nix
- comment in postFixup of qgis/unwrapped-ltr.nix and qgis/unwrapped.nix
- comment in postFixup of telegram-desktop
- comment in postFixup of fwupd
- buildCommand of mongodb-compass
- postFixup of xflux-gui
- comment in a patch in kdePackages.kde-gtk-config and plasma5Packages.kde-gtk-config
- description of programs.sway.wrapperFeatures.gtk NixOS option (manual rebuild)
2024-04-27 02:23:22 +02:00

100 lines
2.2 KiB
Nix

{ mkDerivation
, lib
, extra-cmake-modules
, kdoctools
, wrapGAppsHook3
, kconfig
, kcrash
, kinit
, kpmcore
, polkit-qt
, cryptsetup
, lvm2
, mdadm
, smartmontools
, systemdMinimal
, util-linux
, btrfs-progs
, dosfstools
, e2fsprogs
, exfat
, f2fs-tools
, fatresize
, hfsprogs
, jfsutils
, nilfs-utils
, ntfs3g
, reiser4progs
, reiserfsprogs
, udftools
, xfsprogs
, zfs
}:
let
# External programs are resolved by `partition-manager` and then
# invoked by `kpmcore_externalcommand` from `kpmcore` as root.
# So these packages should be in PATH of `partition-manager`.
# https://github.com/KDE/kpmcore/blob/06f15334ecfbe871730a90dbe2b694ba060ee998/src/util/externalcommand_whitelist.h
runtimeDeps = lib.makeBinPath [
cryptsetup
lvm2
mdadm
smartmontools
systemdMinimal
util-linux
btrfs-progs
dosfstools
e2fsprogs
exfat
f2fs-tools
fatresize
hfsprogs
jfsutils
nilfs-utils
ntfs3g
reiser4progs
reiserfsprogs
udftools
xfsprogs
zfs
# FIXME: Missing command: tune.exfat hfsck hformat fsck.nilfs2 {fsck,mkfs,debugfs,tunefs}.ocfs2
];
in
mkDerivation {
pname = "partitionmanager";
nativeBuildInputs = [ extra-cmake-modules kdoctools wrapGAppsHook3 ];
propagatedBuildInputs = [ kconfig kcrash kinit kpmcore polkit-qt ];
dontWrapGApps = true;
preFixup = ''
qtWrapperArgs+=(
"''${gappsWrapperArgs[@]}"
--prefix PATH : "${runtimeDeps}"
)
'';
passthru = {
inherit kpmcore;
};
meta = with lib; {
description = "KDE Partition Manager";
longDescription = ''
KDE Partition Manager is a utility to help you manage the disks, partitions, and file systems on your computer.
It allows you to easily create, copy, move, delete, back up, restore, and resize them without losing data.
It supports a large number of file systems, including ext2/3/4, btrfs, reiserfs, NTFS, FAT16/32, JFS, XFS and more.
To install on NixOS, use the option `programs.partition-manager.enable = true`.
'';
license = with licenses; [ cc-by-40 cc0 gpl3Plus lgpl3Plus mit ];
homepage = "https://www.kde.org/applications/system/kdepartitionmanager/";
maintainers = with maintainers; [ peterhoeg oxalica ];
mainProgram = "partitionmanager";
};
}