diff options
Diffstat (limited to 'nixpkgs/pkgs/applications/kde/partitionmanager/default.nix')
-rw-r--r-- | nixpkgs/pkgs/applications/kde/partitionmanager/default.nix | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/applications/kde/partitionmanager/default.nix b/nixpkgs/pkgs/applications/kde/partitionmanager/default.nix new file mode 100644 index 000000000000..a898984d4502 --- /dev/null +++ b/nixpkgs/pkgs/applications/kde/partitionmanager/default.nix @@ -0,0 +1,97 @@ +{ mkDerivation +, fetchurl +, lib +, extra-cmake-modules +, kdoctools +, wrapGAppsHook +, 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 wrapGAppsHook ]; + + propagatedBuildInputs = [ kconfig kcrash kinit kpmcore polkit-qt ]; + + dontWrapGApps = true; + preFixup = '' + qtWrapperArgs+=( + "''${gappsWrapperArgs[@]}" + --prefix PATH : "${runtimeDeps}" + ) + ''; + + 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"; + }; +} |