{
  pkgs,
  config,
  lib,
  modulesPath,
  inputs,
  stable_pkgs,
  unstable_pkgs,
  ...
}: {
  imports = [
    # Include the results of the hardware scan.
    (modulesPath + "/installer/scan/not-detected.nix")
    #./hardware-configuration.nix
    ../../nixos
    ../../../users/blake
    ../../../modules/desktop
    ../../../modules/system
  ];

  # home grown nixos modules
  system = {
    secure_boot.enable = true;
    cifs_mounts.enable = true;
    udiskie.enable = true;
    ssh.enable = true;
    sops.enable = true;
    yubikey.enable = true;
    yubikey.lock_on_remove = true;
    tailscale.enable = true;
    syncthing.enable = true;
    flatpak.enable = true;
    graphics = {
      enable = true;
      vendor = "intel";
    };
  };
  desktop = {
    pipewire.enable = true;
    hypr.enable = true;
    greetd.enable = true;
  };
  gaming = {
    steam.enable = true;
    lutris.enable = true;
    proton_ge.enable = true;
    gamemode.enable = true;
    mangohud.enable = true;
  };

  # import home grown host specific home-manager modules
  home-manager.users.blake.imports = [
    ../../../users/blake/hosts/yveltal.nix
  ];

  # fix power buttons
  # move this to a laptops file at some point
  services.logind.settings.Login = {
    HandlePowerKey = "suspend-then-hibernate";
    HandleLidSwitch = "suspend-then-hibernate";
  };
  # sets the delay before hibernation for ^
  systemd.sleep.extraConfig = ''
    HibernateDelaySec=1800
  '';

  # boot (systemd is growing on me)
  boot = {
    kernelModules = ["kvm-intel"];
    extraModulePackages = [];
    loader = {
      systemd-boot.enable = true; # systemd your pretty cool ya know
      efi.canTouchEfiVariables = true;
    };
    initrd = {
      systemd.enable = true; # better logging
      availableKernelModules = ["xhci_pci" "thunderbolt" "vmd" "nvme" "usb_storage" "sd_mod"];
      kernelModules = [];
    };
  };

  # setup hostname and networking stack
  networking = {
    hostName = "yveltal"; # hostname
    useDHCP = lib.mkDefault true;
    interfaces = {
      wlp0s20f3.useDHCP = lib.mkDefault true;
    };
    firewall = {
      enable = true;
      allowedTCPPorts = [22];
      allowedUDPPorts = [51820]; # wireguard
    };
    networkmanager = {
      enable = true; # the goat
      dns = "systemd-resolved"; # the backup dancer!
    };
  };
  services.resolved = {
    enable = true;
    fallbackDns = ["1.1.1.1" "9.9.9.9"];
    dnsovertls = "opportunistic";
  };

  hardware.bluetooth.enable = true;

  system.stateVersion = "25.05"; # stays here :   )

  # hardware shit
  nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
  hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}
