{ config, lib, inputs, outputs, pkgs, system, timeZone, ... }:
  let
    userName = "nate";
    fullName = "Nate Anderson";
    email = "n8r@tuta.io";
    hostName = "winmax";
    desktop = "sway";
    gaming = true;
  in
{
  imports = [
      ./desktop-configuration.nix
      ./nixos/hardware-configuration.nix
  ];

  deskCfg = {
      userName = userName;
      hostName = hostName;
      de = desktop;
      installGaming = gaming;
  };

  # Limit the number of generations to keep
  boot.loader.systemd-boot.configurationLimit = 5;

  # Perform garbage collection weekly to maintain low disk usage
  nix.gc = {
    automatic = true;
    dates = "weekly";
    options = "--delete-older-than 14d";
  };

  # Optimize storage
  # You can also manually optimize the store via:
  #    nix-store --optimise
  # Refer to the following link for more details:
  # https://nixos.org/manual/nix/stable/command-ref/conf-file.html#conf-auto-optimise-store
  nix.settings.auto-optimise-store = true;
}
