Only move, copy, label, & UUID are available.
Can somebody please advise how to fix this?
I’ve found several variations of this question in this forum but they are old and unanswered.
On other distros, only “grow” & “shrink” are unavailable.
This is on a laptop with Linux 6.12.32, NixOS, 25.11 (Xantusia), 25.11pre814309 (unstable channel?) & Gparted 1.7.0
Could you elaborate a little bit more?
Are you starting it from a Nix shell? Is there some output, does it complain about something while doing so?
GParted, a popular partition editor, does not natively support the creation and checking of exFAT file systems. While it can resize and delete exFAT partitions, creating and checking them typically requires other tools. Here are some alternatives you can use: Using Disks
Utility (GNOME Disks)
Remove exfat
and exfatprogs
from your packages. Instead use boot.supportedFilesystems.exfat = true;
which will automatically handle making the correct package available:
Yeah, that’s pretty obviously copied from an LLM with zero fact checking.
Unlike other distros, NixOS deliberately does not necessarily “install” packages in a globally discoverable location like other distros do. This is to prevent installing multiple different versions of the same package causing your system to break (because some package that may depend on a library unexpectedly requires a version incompatible with the one required by another package).
As a result, just installing the exfatprogs
package (by putting it in environment.systemPackages
doesn’t necessarily mean gparted
will pick it up.
This is how gparted identifies whether your system supports exfat: gparted/src/exfat.cc at 61acc5b71811b4f736adf263ef66b97b50b6c132 · GNOME/gparted · GitHub
It should be compatible with most things you do on NixOS, but glib might be a bit pedantic. How did you install exfatprogs
?
Thanks, adding
boot.supportedFilesystems = [ “exfat” ];
did the trick. Strangely, I had to REMOVE
boot.supportedFilesystems = [ “ntfs” ];
from configuration.nix and add the packages ntfs3g and ntfsprogs for gparted to treat ntfs properly…
What is the correct syntax for having multiple boot.supportedFilesystems = entries?
The system still isn’t treating ntfs as expected.
i have them thusly:
boot.supportedFilesystems = { # attr set of boolean OR list of string
# btrfs = true; # current FS? -- 'pkgs.btrfs-progs'?
exfat = true; # 'pkgs.exfatprogs'?
ntfs = true; # 'pkgs.ntfs3g'?
zfs = mkForce false; # no, thanks :)
# ...
};
no idea what pkgs.ntfsprogs
is, that doesnt exist in nixpkgs
You must be on an end-of-life version of NixOS, that wouldn’t work on 25.05 or unstable.
Thanks @waffle8946 & @frozen.frog23 , I’m all green checkmarks now.
(version specified in first post)
In case this helps anybody:
boot.supportedFilesystems = {
btrfs = true;
exfat = true;
ntfs = true;
};
environment.systemPackages = with pkgs; [
fuse-7z-ng
dosfstools
exfatprogs
gparted
ntfs3g
ntfsprogs
zfs
];
boot.supportedFilesystems
supports coercion from the older type. You can specify it either way. supportedFilesystems = [ "exfat" ];
and supportedFilesystems.exfat = true;
are the same thing.
You don’t need to add those packages to environment.systemPackages
; if they are enabled, the correct package for your kernel version is added to system.fsPackages
, which in turn is added to environment.systemPackages
.
While defining it again manually will work as long as nothing changes, it’s best not to doubly define things already set by upstream modules, since then upstream can actually maintain the configuration for you.
(For anyone stumbling on this thread unaware, it is worth noting that if NixOS doesn’t have a module for a file system you add to supportedFilesystems
, then nothing will change and there won’t be a warning / error. We should probably add one…)