# Do not modify this file!  It was generated by ‘nixos-generate-config’
# and may be overwritten by future invocations.  Please make changes
# to /etc/nixos/configuration.nix instead.
{
  config,
  lib,
  pkgs,
  modulesPath,
  username,
  ...
}: {
  imports = [
    (modulesPath + "/installer/scan/not-detected.nix")
  ];

  boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod"];
  boot.initrd.kernelModules = ["amdgpu"];
  boot.kernelModules = ["kvm-amd"];
  boot.extraModulePackages = [];

  fileSystems."/" = {
    device = "/dev/disk/by-uuid/0869e843-348d-47e3-b6a1-79ad814ff62b";
    fsType = "ext4";
  };

  fileSystems."/home/${username}/Documents" = {
    device = "/dev/disk/by-uuid/2d6f2255-eca4-489b-9f0f-6c455cd394fc";
    fsType = "ext4";
  };

  #TODO: add external hdd, nas, and ssd

  swapDevices = [
    {device = "/dev/disk/by-uuid/40b22e5b-839d-4189-93e7-246407cc76c7";}
  ];

  nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
  hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;

  hardware.graphics.enable = true;
  hardware.graphics.extraPackages = [pkgs.rocmPackages.clr.icd];

  networking.networkmanager = {
    enable = true;
    ensureProfiles.profiles = {
      p2p-nas = {
        connection = {
          id = "p2p-nas";
          type = "ethernet";
          interface-name = "enp1s0";
          autoconnect = true;
        };
        ipv6 = {
          method = "manual";
          addresses = "fd00:fa57::1/64";
        };
        ipv4.method = "disabled";
        ethernet.mtu = 9000;
      };
    };
  };
  networking.extraHosts = ''
    fd00:fa57::2 duke.veltnet
  '';
}
