{ config, pkgs, ... }:

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

  # Use the GRUB 2 boot loader.
  boot.loader.grub.enable = true;
  boot.loader.grub.version = 2;
  boot.loader.grub.device = "/dev/sda"; # or "nodev" for efi only

  networking.hostName = "dingserver";
  networking.useDHCP = false;
  networking.interfaces.ens3.useDHCP = true;

  # nix flakes compatibility
  nix = {
    extraOptions = ''
      experimental-features = nix-command flakes
    '';
   };

  users.users.daniel = {
    isNormalUser = true;
    extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user.
  };

  environment.systemPackages = with pkgs; [
    curl
    git
    kitty
    lazygit
    wget
  ];

  programs.neovim = {
  	enable = true;
	vimAlias = true;
	viAlias = true;
  };

  services.openssh.enable = true;
 
  system.stateVersion = "21.11"; # Did you read the comment?

}

