Files
nix-config/modules/nixos/disko/x86_64-linux/default.nix
mjallen18 929786cb12 test
2025-08-21 21:00:39 -05:00

87 lines
2.0 KiB
Nix

{
lib,
system,
...
}:
let
isArm = builtins.match "aarch64*" system != null;
rootDisk = "/dev/nvme0n1";
in
{
imports = [ ../options.nix ];
config = lib.mkIf (!isArm) {
disko.devices = {
nodev."/" = {
fsType = "tmpfs";
mountOptions = [
"mode=755"
"defaults"
"size=2G"
];
};
disk = {
main = {
device = rootDisk;
type = "disk";
imageSize = "15G";
content = {
type = "gpt";
partitions = {
ESP = {
type = "EF00";
size = "100M";
content = {
type = "filesystem";
format = "vfat";
mountpoint = "/boot";
mountOptions = [ "umask=0077" ];
};
};
root = {
size = "100%";
content = {
type = "bcachefs";
# This refers to a filesystem in the `bcachefs_filesystems` attrset below.
filesystem = "mounted_subvolumes_in_multi";
label = "ssd.ssd1";
extraFormatArgs = [
"--discard"
];
};
};
};
};
};
};
bcachefs_filesystems = {
mounted_subvolumes_in_multi = {
type = "bcachefs_filesystem";
# passwordFile = "/etc/nixos/pool.jwe";
extraFormatArgs = [
"--compression=zstd"
];
subvolumes = {
"subvolumes/root" = {
mountpoint = "/root";
};
"subvolumes/home" = {
mountpoint = "/home";
};
"subvolumes/nix" = {
mountpoint = "/nix";
};
"subvolumes/etc" = {
mountpoint = "/etc";
};
"subvolumes/log" = {
mountpoint = "/var/log";
};
};
};
};
};
};
}