{ config, pkgs, lib, ... }:

{
  imports = [
    # Include the results of the hardware scan.
    ./hardware-configuration.nix
    ../modules/common.nix
    ../modules/sound.nix
    ../modules/window_manager.nix
    ../modules/fonts.nix
    ../modules/gnupg.nix
    ../modules/nix.nix
    ../modules/networking.secret.nix
  ];

  # Use latest kernel
  boot.kernelPackages = pkgs.linuxPackages_5_19;

  # Use the systemd-boot EFI boot loader.
  boot.loader = {
    systemd-boot = {
      enable = true;
      configurationLimit = 10;
    };

    efi.canTouchEfiVariables = true;
  };

  networking = {
    hostName = "laptop"; # Define your hostname.

    useDHCP = false;
    interfaces = {
      enp3s0.useDHCP = true;
      wlp2s0.useDHCP = true;
    };

    networkmanager.enable = true;
  };

  # enable bluetooth
  hardware.bluetooth.enable = true;

  # configure mouse and touchpad
  services.xserver.libinput = {
    enable = true;
    touchpad = {
      accelSpeed = "0.5";
      disableWhileTyping = true;
    };
  };

  # Enable the Docker
  virtualisation.docker.enable = true;

  local.nix.enableMyRegistry = true;
}
