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

  fileSystems = {
    "/" = {
      device = "/dev/disk/by-label/ROOT";
      fsType = "btrfs";
      options = [
        "noatime"
        "compress=zstd"
      ];
    };

    "/home" = {
      device = "/dev/disk/by-label/HOME";
      fsType = "btrfs";
      neededForBoot = true; # for sops-nix
      options = [
        "noatime"
        "compress=zstd"
      ];
    };

    "/boot" = {
      device = "/dev/disk/by-label/BOOT";
      fsType = "vfat";
      options = [
        "fmask=0022"
        "dmask=0022"
      ];
    };

    "/home/airi/WinE" = {
      device = "/dev/disk/by-label/WinE";
      fsType = "ntfs";
      options = [
        "uid=1001"
        "gid=100"
        "rw"
        "user"
        "exec"
        "umask=000"
        "nofail"
      ];
    };

    "/home/airi/Media" = {
      device = "/dev/disk/by-label/Media";
      fsType = "xfs";
      options = [
        "defaults"
        "noatime"
      ];
    };
  };

  swapDevices = [
    {device = "/dev/disk/by-uuid/1cd8fb5d-e27e-4b3b-b9e2-be70b346afd7";}
  ];

  # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
  # (the default) this is the recommended approach. When using systemd-networkd it's
  # still possible to use this option, but it's recommended to use it in conjunction
  # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
  networking.useDHCP = lib.mkDefault true;
  # networking.interfaces.enp3s0.useDHCP = lib.mkDefault true;
  # networking.interfaces.wlp4s0.useDHCP = lib.mkDefault true;

  # slows down boot time
  systemd.services.NetworkManager-wait-online.enable = false;

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