Add a host for hydra.

This commit is contained in:
Tom Alexander
2025-11-27 17:51:08 -05:00
parent 8eb3c459bd
commit 4ca486d7f8
14 changed files with 121 additions and 216 deletions

View File

@@ -1,24 +1,21 @@
{
config,
lib,
pkgs,
...
}:
{
imports = [ ];
options.me = {
vm_disk.enable = lib.mkOption {
type = lib.types.bool;
default = false;
example = true;
description = "Whether we want to mount the local disk for persistent storage.";
};
};
config = {
# environment.systemPackages = with pkgs; [
# e2fsprogs # mkfs.ext4
# gptfdisk # cgdisk
# ];
config = lib.mkIf config.me.vm_disk.enable {
# Mount the local disk
fileSystems = {
fileSystems = lib.mkIf config.me.mountPersistence {
"/.disk" = lib.mkForce {
device = "/dev/nvme0n1p1";
fsType = "ext4";
@@ -29,6 +26,21 @@
neededForBoot = true;
};
# "/.disk" = lib.mkForce {
# device = "bind9p";
# fsType = "9p";
# options = [
# "noatime"
# "trans=virtio"
# "version=9p2000.L"
# "cache=mmap"
# "msize=512000"
# # "noauto"
# # "x-systemd.automount"
# ];
# neededForBoot = true;
# };
"/persist" = {
fsType = "none";
device = "/.disk/persist";
@@ -39,6 +51,7 @@
depends = [
"/.disk/persist"
];
neededForBoot = true;
};
"/state" = {
@@ -51,16 +64,22 @@
depends = [
"/.disk/state"
];
neededForBoot = true;
};
"/nix/store" = lib.mkForce {
fsType = "overlay";
device = "overlay";
options = [
"lowerdir=/nix/.ro-store"
"upperdir=/.disk/persist/store"
"workdir=/.disk/state/work"
];
overlay = {
lowerdir = [ "/nix/.ro-store" ];
upperdir = "/.disk/persist/store";
workdir = "/.disk/state/work";
};
# fsType = "overlay";
# device = "overlay";
# options = [
# "lowerdir=/nix/.ro-store"
# "upperdir=/.disk/persist/store"
# "workdir=/.disk/state/work"
# ];
depends = [
"/nix/.ro-store"
"/.disk/persist/store"