{ config, ... }:

{
  boot.loader.systemd-boot.enable = true;
  boot.loader.efi.canTouchEfiVariables = true;

  networking.hostName = "dragon";
  networking.extraHosts = ''
    163.172.173.184 aleks-test-install-bookworm.test
  '';
  networking.networkmanager.enable = true;

  time.timeZone = "Europe/Moscow";

  i18n.defaultLocale = "fr_FR.UTF-8";
  i18n.extraLocaleSettings = {
    LC_ADDRESS = "fr_FR.UTF-8";
    LC_IDENTIFICATION = "fr_FR.UTF-8";
    LC_MEASUREMENT = "fr_FR.UTF-8";
    LC_MONETARY = "fr_FR.UTF-8";
    LC_NAME = "fr_FR.UTF-8";
    LC_NUMERIC = "fr_FR.UTF-8";
    LC_PAPER = "fr_FR.UTF-8";
    LC_TELEPHONE = "fr_FR.UTF-8";
    LC_TIME = "fr_FR.UTF-8";
  };

  hardware.pulseaudio.enable = false;
  hardware.graphics = {
    enable = true;
  };

  nixpkgs.config.allowUnfree = true;
  nixpkgs.config.nvidia.acceptLicense = true;
  hardware.nvidia = {
    modesetting.enable = true;
    powerManagement.enable = true;
    powerManagement.finegrained = false;
    open = false;
    nvidiaSettings = true;
    package = config.boot.kernelPackages.nvidiaPackages.latest;
  };

  services.xserver = {
    enable = true;
    videoDrivers = [
      "nvidia"
    ];
    xkb.layout = "us";
    xkb.variant = "";
  };

  fileSystems."/mnt/nas/music" = {
    device = "192.168.1.2:/volume1/music";
    options = [
      "nfsvers=4.2"
      "x-systemd.automount"
      "noauto"
      "rw"
      "relatime"
      "user"
      "acl"
      "defaults"
    ];
    fsType = "nfs";
  };

  services.rpcbind.enable = true; # needed for NFS
  systemd.mounts = [
    {
      type = "nfs";
      mountConfig = {
        Options = "defaults,acl,user,noauto,relatime,rw";
      };
      what = "192.168.1.2:/volume1/music";
      where = "/mnt/nas/music";
    }
  ];

  systemd.automounts = [
    {
      wantedBy = [ "multi-user.target" ];
      automountConfig = {
        TimeoutIdleSec = "600";
      };
      where = "/mnt/nas/music";
    }
  ];

  services.printing.enable = true;

  security.rtkit.enable = true;
  services.pipewire = {
    enable = true;
    alsa.enable = true;
    alsa.support32Bit = true;
    pulse.enable = true;
  };

  imports = [
    ../../modules/console.nix
    ../../modules/desktop.nix
    ../../modules/fonts.nix
    ../../modules/home-config.nix
    ../../modules/local-dev.nix
    ../../modules/nixos.nix
    ../../modules/systemd-unfreeze.nix
  ];

  #programs.proxychains.enable = true;
  #programs.proxychains.proxies.prx1.enable = true;
  #programs.proxychains.proxies.prx1.type = "socks5";
  #programs.proxychains.proxies.prx1.host = "127.0.0.1";
  #programs.proxychains.proxies.prx1.port = 9090;

  #services.ollama = {
  #  enable = true;
  #  acceleration = "cuda";
  #};

  system.stateVersion = "23.11"; # Did you read the comment?

}