{ config, pkgs, ... }:

{
  imports = [ # Include the results of the hardware scan.
    ./hardware-configuration.nix
    ../../modules/system/desktop/hyprland.nix
    #../../modules/system/desktop/plasma.nix
    ../../modules/system/desktop/nvidia.nix
    ../../modules/system/programs/sunshine.nix
    ../../modules/system/programs/syncthing.nix
    ../../modules/system/programs/thunar.nix
    ../../modules/system/programs/steam.nix
    ../../modules/system/utils/common.nix
    ../../modules/system/utils/docker.nix
    ../../modules/system/utils/firewall.nix
    #../../modules/system/utils/fprint.nix
    ../../modules/system/utils/garbage-collection.nix
    ../../modules/system/utils/locale.nix
    ../../modules/system/utils/printing.nix
  ];

  nix.settings = {
    experimental-features = [ "nix-command" "flakes" ];

    substituters = [
      "https://nix-community.cachix.org"
      "https://cache.nixos.org/"
    ];
    trusted-public-keys = [
      "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
    ];
  };


  # Bootloader.
  boot.loader.efi.canTouchEfiVariables = true;
  boot.loader.grub = {
    enable = true;
    efiSupport = true;
    device = "nodev";
  };

  networking.hostName = "xv-desktop"; # Define your hostname.
  networking.interfaces.enp7s0.wakeOnLan.enable = true;

  users.users.xeovalyte = {
    isNormalUser = true;
    description = "Timo Boomers";
    extraGroups = [ "networkmanager" "wheel" "dialout" ];
  };

  services.printing.enable = true;

  # Keyboard
  hardware.ckb-next.enable = true;

  system.stateVersion = "23.11";

}