74 lines
2.3 KiB
Nix
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-Samsung_SSD_870_EVO_1TB_S75BNL0WA33853H";
|
|
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";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|