avante-nvim: 0.0.12 -> 0.0.13 (#365261)
[NixPkgs.git] / pkgs / applications / kde / partitionmanager / default.nix
blob35ede9df1eebf3d7883ac3054528d32a1555d6be
2   mkDerivation,
3   lib,
4   extra-cmake-modules,
5   kdoctools,
6   wrapGAppsHook3,
7   kconfig,
8   kcrash,
9   kinit,
10   kpmcore,
11   polkit-qt,
12   cryptsetup,
13   lvm2,
14   mdadm,
15   smartmontools,
16   systemdMinimal,
17   util-linux,
18   btrfs-progs,
19   dosfstools,
20   e2fsprogs,
21   exfat,
22   f2fs-tools,
23   fatresize,
24   jfsutils,
25   nilfs-utils,
26   ntfs3g,
27   reiser4progs,
28   reiserfsprogs,
29   udftools,
30   xfsprogs,
31   zfs,
34 let
35   # External programs are resolved by `partition-manager` and then
36   # invoked by `kpmcore_externalcommand` from `kpmcore` as root.
37   # So these packages should be in PATH of `partition-manager`.
38   # https://github.com/KDE/kpmcore/blob/06f15334ecfbe871730a90dbe2b694ba060ee998/src/util/externalcommand_whitelist.h
39   runtimeDeps = lib.makeBinPath [
40     cryptsetup
41     lvm2
42     mdadm
43     smartmontools
44     systemdMinimal
45     util-linux
47     btrfs-progs
48     dosfstools
49     e2fsprogs
50     exfat
51     f2fs-tools
52     fatresize
53     # hfsprogs intentionally omitted due to being unmaintained
54     jfsutils
55     nilfs-utils
56     ntfs3g
57     reiser4progs
58     reiserfsprogs
59     udftools
60     xfsprogs
61     zfs
63     # FIXME: Missing command: tune.exfat hfsck hformat fsck.nilfs2 {fsck,mkfs,debugfs,tunefs}.ocfs2
64   ];
67 mkDerivation {
68   pname = "partitionmanager";
70   nativeBuildInputs = [
71     extra-cmake-modules
72     kdoctools
73     wrapGAppsHook3
74   ];
76   propagatedBuildInputs = [
77     kconfig
78     kcrash
79     kinit
80     kpmcore
81     polkit-qt
82   ];
84   dontWrapGApps = true;
85   preFixup = ''
86     qtWrapperArgs+=(
87       "''${gappsWrapperArgs[@]}"
88       --prefix PATH : "${runtimeDeps}"
89     )
90   '';
92   passthru = {
93     inherit kpmcore;
94   };
96   meta = with lib; {
97     description = "KDE Partition Manager";
98     longDescription = ''
99       KDE Partition Manager is a utility to help you manage the disks, partitions, and file systems on your computer.
100       It allows you to easily create, copy, move, delete, back up, restore, and resize them without losing data.
101       It supports a large number of file systems, including ext2/3/4, btrfs, reiserfs, NTFS, FAT16/32, JFS, XFS and more.
103       To install on NixOS, use the option `programs.partition-manager.enable = true`.
104     '';
105     license = with licenses; [
106       cc-by-40
107       cc0
108       gpl3Plus
109       lgpl3Plus
110       mit
111     ];
112     homepage = "https://www.kde.org/applications/system/kdepartitionmanager/";
113     maintainers = with maintainers; [
114       peterhoeg
115       oxalica
116     ];
117     mainProgram = "partitionmanager";
118   };