{
  config,
  lib,
  pkgs,
  inputs,
  ...
}: {
  imports = [
    ./configuration.nix
  ];

  system.stateVersion = "22.11"; # Did you read the comment?

  networking.hostName = "quiver";

  users.users.bolt = {
    isNormalUser = true;
    extraGroups = [
      "wheel"
      "podman"
    ];
  };

  programs.meat = {
    enable = true;
    flake = "/home/bolt/.nix";
  };

  boot.initrd.availableKernelModules = ["xhci_pci" "ahci" "usbcore" "sd_mod"];
  boot.initrd.kernelModules = [];
  boot.kernelModules = ["kvm-amd" "i2c-dev"];
  boot.kernelParams = [
    "nvidia-drm.fbdev=1"
    "mitigations=off"
    "acpi_enforce_resources=lax"
    "preempt=full"
    "quiet"
    "loglevel=3"
    "systemd.show_status=auto"
    "rd.udev.log_level=3"
    "vt.global_cursor_default=0"
  ];

  boot.kernelPackages = pkgs.linuxPackages_xanmod_latest;
  boot.supportedFilesystems = {
    ntfs = true;
    btrfs = true;
  };

  boot.loader.systemd-boot.configurationLimit = 5;
  boot.loader.efi.canTouchEfiVariables = true;

  security.tpm2.enable = true;

  networking.useDHCP = lib.mkDefault true;

  hardware.cpu.amd.updateMicrocode = true;

  environment.pathsToLink = ["/share/xdg-desktop-portal" "/share/applications"];
  environment.sessionVariables = {
    NIXOS_OZONE_WL = "1";
    ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE = "fg=5";
    # GBM_BACKEND = "nvidia-drm";
    # NVD_BACKEND = "direct";
    # __GLX_VENDOR_LIBRARY_NAME = "nvidia";
    # LIBVA_DRIVER_NAME = "nvidia";
    # __GL_GSYNC_ALLOWED = "1";
    # __GL_VRR_ALLOWED = "1";
    EDITOR = "hx";
  };

  nix.settings.trusted-users = ["bolt"];

  virtualisation.oci-containers.backend = "podman";
  hardware.nvidia-container-toolkit.enable = true;
  virtualisation = {
    podman = {
      enable = true;
      dockerSocket.enable = true;
      defaultNetwork.settings.dns_enabled = true;
      # package = pkgs.podman.overrideAttrs {
      #   version = "5.3.0-dev";
      #   src = inputs.podman;
      # };
    };
    # docker = {
    #   enable = true;
    #   enableOnBoot = true;
    #   enableNvidia = true;
    #   extraOptions = "--add-runtime nvidia=/run/current-system/sw/bin/nvidia-container-runtime";
    # };
  };

  # services.minidlna = {
  #   enable = true;
  #   settings = {
  #     notify_interval = 120;
  #     friendly_name = "PC";
  #     media_dir = ["A,/data/Music/Slsk"];
  #   };
  # };

  services.xserver.videoDrivers = ["nvidia"];
  # TODO figure out why i can't resume properly
  hardware.nvidia = {
    package = config.boot.kernelPackages.nvidiaPackages.latest;
    modesetting.enable = true;
    # powerManagement.enable = true;
    open = false;
    # nvidiaPersistenced = true;
  };
  programs.xwayland.enable = true;

  # openrgb no longer recognises the device?
  # systemd.services.no-rgb = {
  #   wantedBy = ["multi-user.target"];
  #   description = "rgb led turn-off-er";
  #   serviceConfig = {
  #     Type = "oneshot";
  #     ExecStart = ''${pkgs.openrgb}/bin/openrgb -d "HyperX Fury RGB" -m static -c 000000'';
  #     After = ["openrgb"];
  #   };
  # };

  services.hardware.openrgb = {
    enable = true;
    motherboard = "amd";
  };

  hardware.ckb-next.enable = true;

  environment.systemPackages = with pkgs; [
    wl-clipboard
    wl-clipboard-x11
    xclip
  ];

  fileSystems = {
    "/" = {
      device = "/dev/disk/by-uuid/b993b463-c131-4ef1-9aba-0e3eadaa2f9a";
      fsType = "btrfs";
    };

    "/boot" = {
      device = "/dev/disk/by-uuid/6B75-AF9F";
      fsType = "vfat";
    };

    "/data" = {
      device = "/dev/disk/by-uuid/39D4F78C658E8B56";
      fsType = "ntfs";
      options = ["rw" "uid=1000" "gid=100"];
    };
  };

  swapDevices = [
    {device = "/dev/disk/by-uuid/9c006925-e0e9-4165-bc0c-508ae2d1bfce";}
  ];

  # networking.nftables.enable = true;
  networking.firewall = {
    # allowedUDPPorts = [1900];
    # allowedTCPPorts = [8200 2234];
    allowedTCPPorts = [2234];
  };
}
