{ config, pkgs, ... }:

{
  imports =
    [
      ./hardware-configuration.nix
    ];

  boot.kernelParams = [ "console=ttyS0,115200n8" ];

  boot.loader.grub.enable = true;
  boot.loader.grub.device = "nodev";
  boot.loader.grub.efiSupport = true;
  boot.loader.efi.canTouchEfiVariables = true;
  boot.loader.grub.extraConfig = "
    serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1
    terminal_input console serial
    terminal_output gfxterm serial
  ";

  boot.initrd.luks = {
    devices.lvm = {
      device = "/dev/disk/by-uuid/f5597381-b59b-4f19-94b7-fd69aac43d6f";
      bypassWorkqueues = true;
    };
    devices.crypt-storage-palladium = {
      device = "/dev/disk/by-uuid/c54396c0-b5d3-4e61-9ef7-483fa2b4a56d";
    };
  };

  boot.swraid.enable = true;

  networking.useDHCP = false;
  networking.interfaces.enp3s0.ipv6.addresses = [
    { address = "fd00:152:152:4::11"; prefixLength = 64; }
    { address = "2001:4cd8:100:1337::11"; prefixLength = 64; }
  ];
  networking.defaultGateway6 = { address = "fe80::1"; interface = "enp3s0"; };
  networking.nameservers = [ "fd00:152:152::1" ];

  # Keeping the harddrives quiet
  services.udev.extraRules = ''
    KERNEL=="sd?[0-9]", ENV{ID_MODEL}=="ST1000DM003-1SB102", ACTION=="add", RUN+="${pkgs.hdparm}/sbin/hdparm -S 24 /dev/%k"
  '';

  system.stateVersion = "25.05";

}