# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page, on
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).

{ pkgs, lib, ... }:
let
  plasma = false;
in
{
  imports = [
    ./boot.nix
    ./hardware-configuration.nix
    ./networking.nix
    ./services.nix
  ];

  hardware.asahi = {
    enable = true;
    useExperimentalGPUDriver = true;
    peripheralFirmwareDirectory = ./firmware;
    setupAsahiSound = true;
  };

  hardware.graphics.enable32Bit = lib.mkForce false;

  nixpkgs.config.allowUnfree = true;
  nixpkgs.config.allowUnsupportedSystem = true;

  # Define a user account. Don't forget to set a password with ‘passwd’.
  users.users.matt = {
    isNormalUser = true;
    extraGroups = [
      "wheel"
      "keys"
      "networkmanager"
      "ratbagd"
      "input"
      "scanner"
      "lp"
      "video"
      "i2c"
     ]; # Enable ‘sudo’ for the user.
    shell = pkgs.zsh;
    packages = with pkgs; [
      firefox
      tree
      git
      box64
      prismlauncher
      distrobox
    ];
  };

  virtualisation = {
    containers.enable = true;
    podman.enable = true;
  };

  # List packages installed in system profile. To search, run:
  # $ nix search wget
  environment.systemPackages = with pkgs; [
    micro
    vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
    wget
  ];

  environment.sessionVariables = {
    DBX_CONTAINER_MANAGER = "podman";
  };
}
