2023-05-24 13:37:59 +00:00
|
|
|
{ mkDerivation
|
|
|
|
, lib
|
|
|
|
, extra-cmake-modules
|
|
|
|
, kdoctools
|
2024-05-15 15:35:15 +00:00
|
|
|
, wrapGAppsHook3
|
2023-05-24 13:37:59 +00:00
|
|
|
, 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
|
2020-04-24 23:36:52 +00:00
|
|
|
}:
|
|
|
|
|
|
|
|
let
|
2021-03-19 17:17:44 +00:00
|
|
|
# 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
|
|
|
|
];
|
|
|
|
|
2023-05-24 13:37:59 +00:00
|
|
|
in
|
2024-01-13 08:15:51 +00:00
|
|
|
mkDerivation {
|
2021-03-19 17:17:44 +00:00
|
|
|
pname = "partitionmanager";
|
2020-04-24 23:36:52 +00:00
|
|
|
|
2024-05-15 15:35:15 +00:00
|
|
|
nativeBuildInputs = [ extra-cmake-modules kdoctools wrapGAppsHook3 ];
|
2020-04-24 23:36:52 +00:00
|
|
|
|
2022-04-27 09:35:20 +00:00
|
|
|
propagatedBuildInputs = [ kconfig kcrash kinit kpmcore polkit-qt ];
|
2020-04-24 23:36:52 +00:00
|
|
|
|
2022-06-16 17:23:12 +00:00
|
|
|
dontWrapGApps = true;
|
|
|
|
preFixup = ''
|
|
|
|
qtWrapperArgs+=(
|
|
|
|
"''${gappsWrapperArgs[@]}"
|
2021-03-19 17:17:44 +00:00
|
|
|
--prefix PATH : "${runtimeDeps}"
|
2022-06-16 17:23:12 +00:00
|
|
|
)
|
2021-03-19 17:17:44 +00:00
|
|
|
'';
|
|
|
|
|
2024-04-21 15:54:59 +00:00
|
|
|
passthru = {
|
|
|
|
inherit kpmcore;
|
|
|
|
};
|
|
|
|
|
2020-04-24 23:36:52 +00:00
|
|
|
meta = with lib; {
|
|
|
|
description = "KDE Partition Manager";
|
2023-04-12 12:48:02 +00:00
|
|
|
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`.
|
|
|
|
'';
|
2021-03-19 17:17:44 +00:00
|
|
|
license = with licenses; [ cc-by-40 cc0 gpl3Plus lgpl3Plus mit ];
|
2020-04-24 23:36:52 +00:00
|
|
|
homepage = "https://www.kde.org/applications/system/kdepartitionmanager/";
|
2021-03-19 17:17:44 +00:00
|
|
|
maintainers = with maintainers; [ peterhoeg oxalica ];
|
2024-01-02 11:29:13 +00:00
|
|
|
mainProgram = "partitionmanager";
|
2020-04-24 23:36:52 +00:00
|
|
|
};
|
|
|
|
}
|