{ pkgs, lib, config, hostName, ... }: with lib; { imports = [ ../../nixos/profiles/hardware/T480.nix ../../nixos/profiles/zfs.nix ../../nixos/profiles/zramSwap.nix #hardware/nvidia.nix ]; # Setting the machine-id avoids to reencrypt all credentials # when reinstalling NixOS on a new drive. # Manually generated with : uuidgen | tr -d - environment.etc.machine-id.source = ./machine-id.clear; # The 32-bit host id of the host, formatted as 8 hexadecimal characters. # You should try to make this id unique among your hosts. # Manually generated with : uuidgen | head -c8 networking.hostId = "e6eba6c4"; boot.kernelParams = [ #"boot.trace" "boot.shell_on_fail" #"boot.debug1" ]; boot.kernelPackages = config.boot.zfs.package.latestCompatibleLinuxPackages; boot.loader = { efi = { canTouchEfiVariables = true; efiSysMountPoint = "/boot1"; }; systemd-boot = { enable = true; #editor = false; # Roughly 25MiB (initrd) + 9MiB (kernel) per configuration configurationLimit = 6; memtest86.enable = true; /* extraInstallCommands = '' rm -rf /efiboot/efi2 cp -r /efiboot/efi1 /efiboot/efi2 ''; */ # FIXME: needs https://github.com/NixOS/nixpkgs/pull/246897 #mirroredBoots = [ ]; }; }; boot.zfs.requestEncryptionCredentials = [ "${hostName}/root" ]; hardware.enableRedistributableFirmware = true; # Disable IR camera services.udev.extraRules = '' ACTION=="add", ATTRS{idVendor}=="5986", ATTRS{idProduct}=="1141", RUN="${pkgs.runtimeShell} -c 'echo 1 >/sys$devpath/remove'" ''; fileSystems."/boot1" = { device = "/dev/disk/by-partlabel/${hostName}_ssd1_boot"; fsType = "vfat"; options = [ "rw" "noexec" "nodev" "nofail" "X-mount.mkdir" "iocharset=iso8859-1" ]; }; swapDevices = [ { device = "/dev/disk/by-partlabel/${hostName}_ssd1_swap"; randomEncryption = { enable = true; cipher = "aes-xts-plain64"; source = "/dev/urandom"; }; } ]; boot.supportedFilesystems = [ "ntfs" "vfat" ]; fileSystems."/" = { device = "${hostName}/root"; fsType = "zfs"; options = [ "zfsutil" ]; }; fileSystems."/nix" = { device = "${hostName}/root/nix"; fsType = "zfs"; options = [ "X-mount.mkdir" "zfsutil" ]; }; fileSystems."/var" = { device = "${hostName}/root/var"; fsType = "zfs"; options = [ "X-mount.mkdir" "zfsutil" ]; }; services.pipewire.jack.enable = true; }