# Do not modify this file!  It was generated by ‘nixos-generate-config’
# and may be overwritten by future invocations.  Please make changes
# to /etc/nixos/configuration.nix instead.
{
  config,
  lib,
  pkgs,
  modulesPath,
  ...
}: {
  imports = [
    (modulesPath + "/installer/scan/not-detected.nix")
  ];

  boot = {
    initrd = {
      availableKernelModules = ["xhci_pci" "thunderbolt" "nvme" "usb_storage" "sd_mod"];
      kernelModules = [];
    };
    kernelModules = ["kvm-intel" "sg"];
    extraModulePackages = [];

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

  fileSystems = {
    "/" = {
      device = "/dev/disk/by-uuid/866d422b-f816-4ad9-9846-791839cb9337";
      fsType = "ext4";
    };

    "/boot" = {
      device = "/dev/disk/by-uuid/E138-65B5";
      fsType = "vfat";
    };

    "/mnt/leyla_home" = {
      device = "defiant:/exports/leyla";
      fsType = "nfs";
      options = ["x-systemd.automount" "user" "noatime" "nofail" "soft" "x-systemd.idle-timeout=600" "fsc"];
    };

    "/mnt/eve_home" = {
      device = "defiant:/exports/eve";
      fsType = "nfs";
      options = ["x-systemd.automount" "user" "nofail" "soft" "x-systemd.idle-timeout=600" "fsc"];
    };

    "/mnt/ester_home" = {
      device = "defiant:/exports/ester";
      fsType = "nfs";
      options = ["x-systemd.automount" "user" "nofail" "soft" "x-systemd.idle-timeout=600" "fsc"];
    };

    "/mnt/users_home" = {
      device = "defiant:/exports/users";
      fsType = "nfs";
      options = ["x-systemd.automount" "user" "nofail" "soft" "x-systemd.idle-timeout=600" "fsc"];
    };

    "/mnt/legacy_leyla_home" = {
      device = "server.arpa:/home/leyla";
      fsType = "nfs";
      options = ["x-systemd.automount" "user" "nofail" "soft" "x-systemd.idle-timeout=600" "fsc"];
    };

    "/mnt/legacy_share_home" = {
      device = "server.arpa:/home/share";
      fsType = "nfs";
      options = ["x-systemd.automount" "user" "nofail" "soft" "x-systemd.idle-timeout=600" "fsc"];
    };

    "/mnt/legacy_docker_home" = {
      device = "server.arpa:/home/docker";
      fsType = "nfs";
      options = ["x-systemd.automount" "noauto" "x-systemd.idle-timeout=600"];
    };
  };

  environment.systemPackages = with pkgs; [
    cachefilesd
  ];

  services.cachefilesd.enable = true;

  swapDevices = [
    {device = "/dev/disk/by-uuid/be98e952-a072-4c3a-8c12-69500b5a2fff";}
  ];

  networking = {
    networkmanager.enable = true;
    useDHCP = lib.mkDefault true;
    hostName = "horizon"; # Define your hostname.
  };

  nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
  powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";

  hardware = {
    graphics.enable = true;
    cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
  };
}