{ pkgs, lib, config, ... }: {
  global = {
    id = "09a2900f15b74f36b023a9ebcd539f6a";
    fs.esp.uuid = "AE73-B83E";
    fs.type = "xfs";
    fs.store = "e4c673cb-03c5-44ac-b2f1-1085a7f7a553";
    fs.cryptsetup.enable = true;
    fs.cryptsetup.uuids.persist = "122001b1-7a43-4bab-ae7c-ba8eeb1cc864";
    boot.lanzaboote = true;
    gpu.enable = true;
    gpu.type = "amdgpu";
  };

  home = {
    gnome.enable = true;
    jetbrains.enable = true;
    vscode.enable = true;
    steam.enable = true;
    minecraft.enable = true;
    minecraft.user = "app";
  };

  users.homeModules = [ {
    wayland.windowManager.sway.config = {
      input = {
        "9610:30:HID_258a:001e_Mouse".natural_scroll = "disabled";
        "1539:61441:NVTK0603:00_0603:F001_UNKNOWN".map_to_output = "eDP-1";
        "1539:61441:NVTK0603:00_0603:F001".map_to_output = "eDP-1";
      };
      output = {
        eDP-1.scale = "2";
        eDP-1.transform = "270";
      };
    };
  } ];

  powerManagement.enable = true;
  powerManagement.cpuFreqGovernor = "performance";
  boot.kernelParams = [
    "video=eDP-1:panel_orientation=left_side_up"
  ];
  boot.plymouth.extraConfig = ''
    DeviceScale=2
  '';

  jovian.steamos.useSteamOSConfig = lib.mkDefault false;
  services.greetd.settings.default_session.command = let
    cfg = config.programs.regreet;
  in lib.mkOverride 999 "${pkgs.dbus}/bin/dbus-run-session ${lib.getExe pkgs.cage} ${lib.escapeShellArgs cfg.cageArgs} -- ${pkgs.writeShellScript "cageResolution" ''
    ${lib.getExe pkgs.wlr-randr} --output eDP-1 --scale 2 --transform 90
    ${lib.getExe cfg.package}
  ''}";
  environment.systemPackages = with pkgs; [
    (writeShellScriptBin "sway-logout" ''
      ${systemd}/bin/systemctl --user unset-environment WAYLAND_DISPLAY SWAYSOCK
      ${sway}/bin/swaymsg exit
    '')
  ];

  hardware.sensor.iio.enable = true;
  hardware.enableRedistributableFirmware = true;
  boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "thunderbolt" "usbhid" "rtsx_pci_sdmmc" ];
  boot.initrd.kernelModules = [ ];
  boot.kernelModules = [ "kvm-amd" ];
  boot.extraModulePackages = [ ];
  hardware.cpu.intel.updateMicrocode = true;

  imports = [
    ./jovian.nix
  ];
}
