universe/hosts/Infini-DL360/disks.nix

66 lines
1.7 KiB
Nix

{ config, lib, ... }:
with lib.our.disko;
let
inherit (builtins) mapAttrs;
mountOptions = defaultMountOptions;
in
{
boot.kernelPackages = lib.mkForce config.boot.zfs.package.latestCompatibleLinuxPackages;
persist.directories = [ "/etc/ssh" ];
disko.devices = {
nodev."/" = {
fsType = "tmpfs";
mountOptions = mountOptions ++ [
"size=64G"
"mode=755"
];
};
disk = {
lun = mkDisk "usb-HP_iLO_LUN_01_Media_0_000002660A01-0:1" {
partitions = {
boot = {
size = "256M";
type = "EF00";
content = {
type = "filesystem";
format = "vfat";
mountpoint = "/boot";
inherit mountOptions;
};
};
# Keystore partition?
#keystore = {
# size = "100%";
#};
};
};
ssd1 = mkZDisk "wwn-0x50026b728203a6fb" "zssd";
ssd2 = mkZDisk "wwn-0x50026b72780172e3" "zssd";
ssd3 = mkZDisk "wwn-0x50026b727801727b" "zssd";
hdd1 = mkZDisk "wwn-0x5000c5004da15fce" "zhdd";
hdd2 = mkZDisk "wwn-0x5000c5004d9a5e51" "zhdd";
hdd3 = mkZDisk "wwn-0x5000c5004da92a24" "zhdd";
hdd4 = mkZDisk "wwn-0x5000c5004d30f464" "zhdd";
hdd5 = mkZDisk "wwn-0x5000c5004d30dc88" "zhdd";
};
zpool = mapAttrs mkZPool {
zssd = {
datasets = {
nix = mkZfs "/nix" {};
persist = mkZfs "/persist" {};
};
};
zhdd = {
datasets = {
storage = mkZfs "/storage" {};
};
};
};
};
fileSystems."/persist".neededForBoot = true;
fileSystems."/storage".neededForBoot = true;
fileSystems."/etc/ssh".neededForBoot = true;
}