# 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,
  ...
}: {
  imports = [
    (modulesPath + "/installer/scan/not-detected.nix")
  ];

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

  fileSystems."/" = {
    device = "/dev/disk/by-uuid/f06ac545-07c1-4b2b-8c0b-eeac43892933";
    fsType = "btrfs";
    options = ["subvol=root" "compress=zstd" "noatime"];
  };

  boot.initrd.luks.devices."sys_enc".device = "/dev/disk/by-uuid/682d030d-189e-4b47-a60a-62cf1f3729d3";

  fileSystems."/home" = {
    device = "/dev/disk/by-uuid/f06ac545-07c1-4b2b-8c0b-eeac43892933";
    fsType = "btrfs";
    options = ["subvol=home" "compress=zstd" "noatime"];
  };

  fileSystems."/nix" = {
    device = "/dev/disk/by-uuid/f06ac545-07c1-4b2b-8c0b-eeac43892933";
    fsType = "btrfs";
    options = ["subvol=nix" "compress=zstd" "noatime"];
  };

  fileSystems."/persist" = {
    device = "/dev/disk/by-uuid/f06ac545-07c1-4b2b-8c0b-eeac43892933";
    fsType = "btrfs";
    options = ["subvol=persist" "compress=zstd" "noatime"];
  };

  fileSystems."/var/log" = {
    device = "/dev/disk/by-uuid/f06ac545-07c1-4b2b-8c0b-eeac43892933";
    fsType = "btrfs";
    options = ["subvol=log" "compress=zstd" "noatime"];
  };

  fileSystems."/boot" = {
    device = "/dev/disk/by-uuid/3F3E-9833";
    fsType = "vfat";
  };

  fileSystems."/opt/xilinx" = {
    device = "/dev/disk/by-uuid/09912fb9-0284-4b4e-add1-d4a27329539f";
    fsType = "erofs";
  };

  swapDevices = [
    /*
    {
       device = "/dev/disk/by-uuid/ee1792c9-098b-40c1-b760-20def16ba67f";
       encrypted = {
         enable = true;
         keyFile = "/mnt-root/swap.key";
         label = "swap_encr";
         blkDev = "/dev/disk/by-uuid/aee12e27-b45a-4291-be78-db0a903071b3";
       };
     }
    */
  ];

  hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
  nix.settings.max-jobs = lib.mkDefault 8;
}