{ inputs, config, lib, pkgs, modulesPath, desktop, username, ... }: {
  imports = [ 
    (modulesPath + "/installer/scan/not-detected.nix")
    ./disks.nix
    ../../common/services/powertop.nix 
    ../../common/modules/secureboot.nix
  ];

  modules = [
    # nix/nixos/hosts/nixos-laptop
    inputs.nixos-hardware.nixosModules.framework.13th-gen-intel
  ];

  # steam , etc
  nixpkgs.config.allowUnfree = true;

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

  # This expects the following:
  # /boot is "VFAT"  fstype with label "BOOT"
  # /     is "btrfs" fstype with label "ROOT"
  # swap  is "swap"  fstype with label "SWAP"

  fileSystems."/" = {
    device = "/dev/disk/by-label/ROOT";
    fsType = "btrfs";
    options = [ "subvol=@" ];
  };

  boot.initrd.luks.devices."DISK".device = "/dev/nvme0n1p1";

  fileSystems."/boot" = {
    device = "/dev/disk/by-label/BOOT";
    fsType = "vfat";
  };

  # Enable Swap on LUKS
  boot.initrd.luks.devices."SWAP" = {
    device = "/dev/nvme0n1p2";
    keyFile = "/crypto_keyfile.bin";
  };

  # Set up the keyfile
  boot.initrd.secrets."/crypto_keyfile.bin" = null;
  # Hibernation resume device
  boot.resumeDevice = "/dev/disk/by-label/SWAP";
  # Confirm the swap devices
  swapDevices = [ { device = "/dev/disk/by-label/SWAP"; } ];

  networking.useDHCP = lib.mkDefault true;
  nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
  powerManagement.cpuFreqGovernor = lib.mkDefault "ondemand";
  hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;

  # Set your time zone.
  time.timeZone = "Asia/Tokyo";

  # Set the networking hostname:
  networking.hostName = "nixos-framework";

  # Configure the fingerprint reader
  services.fprintd = { 
    enable = true;
    tod.enable = true;
    tod.driver = pkgs.libfprint-2-tod1-vfs0090;
  };

  hardware = {
    opengl = {
      enable = true;
      driSupport32Bit = true;
      driSupport = true;
    };
  };

  environment.systemPackages = with pkgs; [ 
    # Fingerprint software
    fprintd

    # Game related things
    gamemode

    # WINE
    wineWowPackages.stable
    winetricks
    wineWowPackages.waylandFull
  ];

}