clan flash: Remove root requirement for flash, add a flash-template

This commit is contained in:
Qubasa
2024-09-24 13:42:21 +02:00
parent 2d9d18eb43
commit 945c491d05
10 changed files with 191 additions and 73 deletions

View File

@@ -1,7 +1,18 @@
{
config,
clan-core,
inputs,
...
}:
{
imports = [
./disko.nix
clan-core.nixosModules.installer
clan-core.clanModules.trusted-nix-caches
clan-core.clanModules.disk-id
clan-core.clanModules.iwd
];
# Flash machine template
nixpkgs.pkgs = inputs.nixpkgs.legacyPackages.x86_64-linux;
system.stateVersion = config.system.nixos.version;
}

View File

@@ -0,0 +1,54 @@
{ config, lib, ... }:
let
suffix = config.clan.core.vars.generators.disk-id.files.diskId.value;
in
{
boot.loader.grub.efiSupport = lib.mkDefault true;
boot.loader.grub.efiInstallAsRemovable = lib.mkDefault true;
disko.devices = {
disk = {
"main" = {
name = "main-" + suffix;
type = "disk";
device = lib.mkDefault "/dev/null";
content = {
type = "gpt";
partitions = {
"boot" = {
size = "1M";
type = "EF02"; # for grub MBR
priority = 1;
};
"ESP" = {
size = "512M";
type = "EF00";
content = {
type = "filesystem";
format = "vfat";
mountpoint = "/boot";
};
};
root = {
name = "root";
end = "-0";
content = {
type = "filesystem";
format = "f2fs";
mountpoint = "/";
extraArgs = [
"-O"
"extra_attr,inode_checksum,sb_checksum,compression"
];
# Recommendations for flash: https://wiki.archlinux.org/title/F2FS#Recommended_mount_options
mountOptions = [
"compress_algorithm=zstd:6,compress_chksum,atgc,gc_merge,lazytime,nodiscard"
];
};
};
};
};
};
};
};
}