{ pkgs, ... }:

{
  imports = [
    # Include the results of the hardware scan.
    ./hardware-configuration.nix

    # Import modules
    ../../modules/system/default.nix
  ];

  settings = {
    display-manager = "cosmic-greeter";
    desktop-environments = {
      cosmic.enable = true;
      hyprland.enable = false;
      gnome.enable = false;
    };
    applications = {
      common.enable = true;
      steam.enable = true;
      thunar.enable = false;
    };
    services = {
      docker.enable = false;
      quickemu.enable = false;
      sunshine.enable = false;
      garbage-collection.enable = true;
    };
    hardware = {
      fprint.enable = false;
      printing.enable = true;
      bluetooth.enable = false;
      firewall.enable = true;
      locale.enable = true;
      nvidia.enable = true;
    };
  };

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

    substituters = [
      "https://nix-community.cachix.org"
      "https://cosmic.cachix.org/"
    ];

    trusted-public-keys = [
      "cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE="
    ];
  };

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

  # Networking configuration
  networking.hostName = "ti-clt-dsk01"; # Define your hostname.
  networking.interfaces.enp7s0.wakeOnLan.enable = true;

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

  networking.hosts = {
    "192.168.100.118" = [ "timo.bmrs.nl" "www.timo.bmrs.nl" "homeassistant.timo.bmrs.nl" "adguard.timo.bmrs.nl" "git.timo.bmrs.nl" "auth.timo.bmrs.nl" "ldap.timo.bmrs.nl" "dozzle.timo.bmrs.nl" "home.timo.bmrs.nl" "immich.timo.bmrs.nl" "paperless.timo.bmrs.nl" "search.timo.bmrs.nl" ];
  };

  services.openssh.enable = true;

  system.stateVersion = "24.05";

}