Disko: Difference between revisions
imported>Onny mNo edit summary |
imported>Onny mNo edit summary |
||
Line 46: | Line 46: | ||
</nowiki>}} | </nowiki>}} | ||
The following command will apply the disk layout specified in the configuration. Warning: This will erase all data on the disk. | The following command will apply the disk layout specified in the configuration and mount them afterwards. Warning: This will erase all data on the disk. | ||
<syntaxhighlight lang="console"> | <syntaxhighlight lang="console"> | ||
Line 53: | Line 53: | ||
The command above requires [[Flake]] features available on your system. | The command above requires [[Flake]] features available on your system. | ||
To verify both partitions got mounted correctly, run | |||
<syntaxhighlight lang="console"> | |||
# mount | grep /mnt | |||
</syntaxhighlight> | |||
[[Category:Filesystem]] | [[Category:Filesystem]] |
Revision as of 16:02, 16 May 2023
Disko is a utility and NixOS module for declarative disk partitioning.
Usage
The following example creates a new GPT partition table for the disk /dev/vda
including two partitions for EFI boot and a bcachefs root filesystem.
disko-config.nix
{ disks ? [ "/dev/vda" ], ... }: {
disko.devices = {
disk = {
vdb = {
device = builtins.elemAt disks 0;
type = "disk";
content = {
type = "table";
format = "gpt";
partitions = [
{
name = "ESP";
start = "1MiB";
end = "500MiB";
bootable = true;
content = {
type = "filesystem";
format = "vfat";
mountpoint = "/boot";
};
}
{
name = "root";
start = "500MiB";
end = "100%";
part-type = "primary";
content = {
type = "filesystem";
format = "bcachefs";
mountpoint = "/";
};
}
];
};
};
};
};
}
The following command will apply the disk layout specified in the configuration and mount them afterwards. Warning: This will erase all data on the disk.
# sudo nix run github:nix-community/disko -- --mode zap_create_mount disko-config.nix
The command above requires Flake features available on your system.
To verify both partitions got mounted correctly, run
# mount | grep /mnt