Files
sydnix/hosts/fruitbook/disks.nix
Madeleine Sydney Ślaga 0ea963c879 chore: Fix tree-wide permissions
No idea why everything was executable, lol.
2025-09-08 06:08:20 -06:00

74 lines
2.3 KiB
Nix

# sudo nix --experimental-features "nix-command flakes" run github:nix-community/disko/latest -- --mode disko /persist/dots/hosts/nixos-testbed/disko-config.nix
# time sudo nixos-install --flake /persist/dots#nixos-testbed
{ lib, ... }:
{
# imports = [ disko.nixosModules.disko ];
boot.initrd.supportedFilesystems.btrfs = true;
boot.supportedFilesystems.btrfs = true;
# From Impermanence's README: "Important note: Make sure your persistent
# volumes are marked with neededForBoot, otherwise you will run into
# problems."
fileSystems."/persist".neededForBoot = true;
disko.devices = {
disk = {
bootroot = {
type = "disk";
device = "/dev/disk/by-id/ata-APPLE_SSD_SM0512G_S29ANYAH526520-part4";
content = {
type = "gpt";
partitions = {
ESP = {
size = "512M";
type = "EF00";
content = {
type = "filesystem";
format = "vfat";
mountpoint = "/boot";
mountOptions = [ "umask=0077" ];
};
};
root = {
size = "100%";
content = {
type = "btrfs";
mountpoint = "/partition-root";
swap.swapfile.size = "4G";
# Override existing partitions.
extraArgs = [ "-f" ];
# Subvolumes must set a mountpoint in order to be mounted,
# *unless their parent is mounted*.
subvolumes = {
# Subvolume names do not necessarily correspond to
# mountpoints, despite the structural resemblance to a file
# path.
"/rootfs" = {
mountpoint = "/";
};
"/nix" = {
mountpoint = "/nix";
};
"/persist" = {
mountpoint = "/persist";
};
"/persist/home" = {
mountpoint = "/persist/home";
};
"/swap" = {
mountpoint = "/.swapvol";
swap.swapfile.size = "4G";
};
};
};
};
};
};
};
};
};
}