Archived
Adds modules/pxe-boot/mount-pxe-images.nix, which mounts server.sweet.home:/tank/proxmox/pxe-images at /mnt/pxe-images via NFSv4.2 (x-systemd.automount on Proxmox VMs, nofail on LXC containers — same pattern as docker/mount-data.nix). The pxe-boot build-type now imports this module and replaces the previous local /srv/pxe/http/images directory rule with an L+ symlink pointing to /mnt/pxe-images, so large images (ISOs, disk images) live on the NFS share rather than the host's own root disk. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
25 lines
920 B
Nix
25 lines
920 B
Nix
{ config, vars, ... }:
|
|
|
|
let
|
|
# Use the same FQDN approach as docker/mount-data.nix — a bare hostname is
|
|
# unreliable: systemd-resolved only tries LLMNR for single-label names, and
|
|
# a global search domain causes it to skip the interface-scoped LAN DNS.
|
|
nfsServer = "${vars.nfsServerHost}.${vars.homeDomain}";
|
|
|
|
# x-systemd.automount is unsupported inside LXC containers (systemd logs
|
|
# "Starting of <unit>.automount unsupported" and never mounts). Use nofail
|
|
# there so a boot with the NFS server unreachable doesn't hang instead.
|
|
automountOpts = if config.boot.isContainer then [ "nofail" ] else [ "x-systemd.automount" ];
|
|
in
|
|
{
|
|
fileSystems.${vars.nfsShares.proxmoxPxeImages.mountpoint} = {
|
|
device = "${nfsServer}:${vars.storageRoot}/${vars.nfsShares.proxmoxPxeImages.subpath}";
|
|
fsType = "nfs";
|
|
options = [
|
|
"nfsvers=4.2"
|
|
"_netdev"
|
|
"noatime"
|
|
] ++ automountOpts;
|
|
};
|
|
}
|