{ config, pkgs, ... }:
{
  imports =
    [
      ./hardware-configuration.nix
      ./host-specific.nix
      ../../modules/home-manager.nix
      ../../modules/nur-and-unstable.nix
      ../../modules/unfree.nix
      ../../modules/base.nix
      ../../modules/base-efi-systemd.nix
      ../../modules/headless.nix

      ../../modules/ssh-fde-unlock.nix
      #../../modules/git.nix
      #../../modules/ssh-client.nix
      ./ssh-client-root.nix
      ../../modules/ssh-server.nix

      ../../modules/sendmail-mta.nix
      ../../modules/journalwatch.nix

      ../../modules/btrbk
      ./btrbk-config.nix

      ../../modules/netcup-dns.nix
      ../../modules/de-p1st-monitor.nix
      ../../modules/spin-down/hdparm.nix
      ../../modules/spin-down/hd-idle.nix

      ../../modules/btrfs-scrub.nix
      ../../modules/btrfs-mount-options.nix
    ];

  networking.hostName = "yodaHedgehog";
  boot.initrd.luks.devices."crypted".allowDiscards = true;
  yoda.btrfsFileSystems = ["/" "/mnt/backup"];
  #yoda.btrfsMounts = yoda.btrfsFileSystems;
  yoda.spin-down.hdparm = [
    # 6tb1
    "ata-WDC_WD60EFAX-68SHWN0_WD-WX31D29924PZ"
  ];
  yoda.spin-down.hd-idle = [
    # 6tb2; not supported by hdparm / does not support setting idle timer
    "ata-ST6000DM003-2CY186_ZR11WA9K"
  ];
  yoda.de-p1st-monitor = (builtins.readFile ../../assets/de-p1st-monitor/yodaHedgehog.ini);
  # Updates the AAAA record of yodahedgehog.p1st.de.
  # Note: dualstack lite -> No A record for that subdomain!
  yoda.netcup-dns = ../../secrets/netcup-dns-hedgehog.json;

  boot.kernelParams = [];
  boot.kernelPackages = pkgs.linuxPackages;

  # Most users should never change this value after the initial install, for any reason, even if you've upgraded your system to a new NixOS release.
  system.stateVersion = "23.05";
}