{ inputs, config, lib, username, pkgs, ... }: {
  imports = [ 
    inputs.jovian.nixosModules
    ./disks.nix
    ../../common/modules/boot.nix
    ../../common/services/tailscale-autoconnect.nix
  ];

  boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "thunderbolt" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
  boot.initrd.kernelModules = [ ];
  boot.kernelModules = [ "kvm-amd" "acpi_call" ];
  boot.extraModulePackages = with config.boot.kernelPackages; [ acpi_call ];

  networking.useDHCP = lib.mkDefault true;
  powerManagement.cpuFreqGovernor = lib.mkDefault "ondemand";
  hardware.cpu.amd.updateMicrocode =  lib.mkDefault config.hardware.enableRedistributableFirmware;

  # Set your time zone.
  time.timeZone = "Asia/Tokyo";
  # Set the networking hostname:
  networking.hostName = "steamdeck";

  jovian = {
    decky-loader.enable = true;
    steam.enable = true;
    steam.autoStart = true; 
    steam.user = username;
    steamos.useSteamOSConfig = true;
    devices.steamdeck.enable = true;
    hardwarhas.amd.gpu = true;
  };
  environment.systemPackages = with pkgs; [
    jupiter-dock-updater-bin
    steamdeck-firmware
  ];
}