{ pkgs, inputs, hostName, ... }:
{
  imports = [
    ../../nixos/profiles/hardware/dl10j.nix
    (inputs.julm-nix + "/nixos/profiles/zramSwap.nix")
  ];

  hardware.graphics.enable = true;

  # 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 : head -c4 /dev/urandom | od -A none -t x4 | cut -d ' ' -f 2
  networking.hostId = "e18f71a6";

  boot.loader.grub.devices = [
    #"/dev/disk/by-id/nvme-Samsung_SSD_970_EVO_Plus_250GB_S4EUNJ0N211426T"
    #"/dev/disk/by-id/usb-Generic-_Multi-Card_20071114173400000-0:0"
    #"/dev/disk/by-id/mmc-SB32G_0xdb5e2237"
    "/dev/disk/by-id/ata-Samsung_SSD_860_EVO_250GB_S3YJNX0K863141Y"
  ];

  fileSystems."/boot" =
    {
      device = "/dev/disk/by-partlabel/${hostName}_ssd_boot";
      fsType = "ext2";
    };

  fileSystems."/boot/efi" =
    {
      device = "/dev/disk/by-partlabel/${hostName}_ssd_efi";
      fsType = "vfat";
    };

  swapDevices = [
    {
      device = "/dev/disk/by-partlabel/${hostName}_nvme_swap";
      randomEncryption = {
        enable = true;
        cipher = "aes-xts-plain64";
        source = "/dev/urandom";
      };
    }
    {
      device = "/dev/disk/by-partlabel/${hostName}_ssd_swap";
      randomEncryption = {
        enable = true;
        cipher = "aes-xts-plain64";
        source = "/dev/urandom";
      };
    }
  ];

  # Allow access to Yubikey USB device nodes.
  services.udev.packages = [ pkgs.yubikey-personalization ];
}