nixos/hosts/tor/hardware.nix

55 lines
1.5 KiB
Nix
Raw Normal View History

2024-03-05 22:57:41 +01:00
{
config,
lib,
pkgs,
modulesPath,
...
}: {
2023-11-11 23:20:48 +01:00
imports = [
(modulesPath + "/profiles/qemu-guest.nix")
];
2023-08-06 00:45:08 +02:00
2024-11-13 02:50:39 +01:00
boot.initrd.availableKernelModules = ["ata_piix" "uhci_hcd" "virtio_pci" "virtio_scsi" "sd_mod"];
2024-03-05 22:57:41 +01:00
boot.initrd.kernelModules = ["dm-snapshot"];
boot.kernelModules = [];
boot.extraModulePackages = [];
2023-08-06 00:45:08 +02:00
2023-08-11 17:51:39 +02:00
# https://elis.nu/blog/2020/05/nixos-tmpfs-as-root/
fileSystems."/" = {
device = "none";
fsType = "tmpfs";
options = ["defaults" "size=3G" "mode=755"]; # mode=755 so only root can write to those files
2023-08-11 17:51:39 +02:00
};
fileSystems."/boot" = {
device = "/dev/disk/by-label/BOOT";
fsType = "vfat";
};
fileSystems."/nix" = {
device = "/dev/disk/by-label/nix";
neededForBoot = true;
2023-08-11 17:51:39 +02:00
fsType = "ext4";
};
2023-08-06 00:45:08 +02:00
swapDevices = [
{
device = "/nix/persist/swapfile";
size = 4 * 1024; # 4 GiB
}
];
2024-11-13 02:50:39 +01:00
# Enable hot-adding memory. Otherwise, the machine will be left with 1GB of
# memory only.
# https://pve.proxmox.com/wiki/Hotplug_(qemu_disk,nic,cpu,memory)
# Nix code inspired by (this isn't hyperv):
# https://github.com/NixOS/nixpkgs/blob/master/nixos/modules/virtualisation/hyperv-guest.nix
services.udev.packages = lib.singleton (pkgs.writeTextFile {
name = "proxmox-memory-hotadd-udev-rules";
destination = "/etc/udev/rules.d/80-hotplug-mem.rules";
text = ''
SUBSYSTEM=="memory", ACTION=="add", TEST=="state", ATTR{state}=="offline", ATTR{state}="online"
'';
});
2023-08-06 00:45:08 +02:00
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
}