{ inputs, config, pkgs, ... }:

{
  imports = [
    (import ../Common/default.nix { inherit inputs pkgs; })
    (import ../Common/desktop.nix { inherit inputs pkgs config; })
  ];

  # AMD CPU
  boot.blacklistedKernelModules = [ "k10temp" ];
  boot.extraModulePackages = [ config.boot.kernelPackages.zenpower ];
  boot.kernelModules = [ "zenpower amd_pstate=active" ];

  # AMD CPU & GPU
  boot.initrd.kernelModules = [ "amdgpu" ];
  services.logind.extraConfig = ''HandlePowerKey=suspend'';

  services.ollama = {
    enable = true;
  };


  hardware.graphics.extraPackages = with pkgs; [
      rocmPackages.clr.icd
  ];
  systemd.tmpfiles.rules = [
      "L+    /opt/rocm/hip   -    -    -     -    ${pkgs.rocmPackages.clr}"
  ];
  environment.variables = {
      ROC_ENABLE_PRE_VEGA = "1";
  };



  networking.wg-quick.interfaces = {
    wg0 = {
      address = [ "10.0.0.10/24" "	2a02:a03f:83ad:2101::2/128" ];
      dns = [ "10.0.0.1" "fdc9:281f:04d7:9ee9::1" ];
      privateKeyFile = "/home/user/.secrets/Wireguard/Kell.key";
      listenPort = 51820;
      peers = [{
        publicKey = "/9ppjm3yeD0duDvxrqgcHscHmftXko+0s2RbivNEy2c=";
        allowedIPs = [ "10.0.0.1/8" ];
        endpoint = "192.168.1.1:13231";
      }];
    };
  };
  programs.gnupg.agent.enable = true;
}
