{ config, pkgs, lib, ... }:
{
console.useXkbConfig = lib.mkDefault true;

networking.networkmanager = {
  enable = lib.mkDefault true;
  #dhcp = "dhcpcd";
  logLevel = lib.mkDefault "INFO";
  wifi = {
    #backend = "iwd";
    #backend = "wpa_supplicant";
    powersave = lib.mkDefault false;
  };
};

services.dbus.packages = [ pkgs.dconf ];
programs.dconf = {
  enable = true;
};

services.gvfs.enable = lib.mkDefault true;

sound.enable = lib.mkDefault true;
hardware.pulseaudio.enable = lib.mkDefault true;

services.udev.packages = [
  # Allow members of the "adbusers" group to mount Android devices via MTP.
  pkgs.android-udev-rules
];

services.xserver = {
  enable = lib.mkDefault true;
  libinput.enable = lib.mkDefault true;
  exportConfiguration = lib.mkDefault true; # link /usr/share/X11/ properly
  desktopManager = {
    session = [
      # Let the session be generated by home-manager
      { name = "home-manager";
        start = ''
          ${pkgs.runtimeShell} $HOME/.hm-xsession &
          waitPID=$!
        '';
      }
    ];
    xterm.enable = lib.mkDefault false;
  };
  displayManager.autoLogin.enable = lib.mkDefault true;
};
}