# 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.
{
  modulesPath,
  config,
  lib,
  pkgs,
  ...
}:

{

  imports = [ "${modulesPath}/installer/scan/not-detected.nix" ];

  boot.initrd.availableKernelModules = [
    "ehci_pci"
    "ahci"
    "xhci_pci"
    "usb_storage"
    "sd_mod"
    "sdhci_pci"
  ];
  boot.initrd.kernelModules = [ "dm-snapshot" ];
  boot.kernelModules = [ "kvm-intel" ];
  boot.extraModulePackages = [ ];

  # Use the systemd-boot EFI boot loader, not grub
  boot.loader.systemd-boot.enable = true;
  boot.loader.efi.canTouchEfiVariables = true;

  zramSwap = {
    enable = true;
    #numDevices = 2;
    swapDevices = 1;
    memoryPercent = 50;
  };

  #fileSystems."/share/" = {
  #  device = "/dev/ram1";
  #  fsType = "tmpfs";
  #};

  #fileSystems."/browsers/" = {
  #  #device = "/dev/ram2";
  #  #fsType = "tmpfs";
  #  options = [ "noatime" "nodiratime" "discard" ];
  #  device = "/dev/vg/browser";
  #  fsType = "ext4";
  #};

  nix.settings.max-jobs = lib.mkDefault 4;

  # lvm volume group
  # ----------------
  boot.initrd.luks.devices = {
    vg = {
      device = "/dev/sda2";
      preLVM = true;
    };
  };

  # NTFS support
  # ------------
  environment.systemPackages = [ pkgs.ntfs3g ];

  # root
  # ----
  fileSystems."/" = {
    options = [
      "noatime"
      "nodiratime"
      "discard"
    ];
    device = "/dev/vg/root";
    fsType = "ext4";
  };

  # home
  # ----
  fileSystems."/home" = {
    options = [
      "noatime"
      "nodiratime"
      "discard"
    ];
    device = "/dev/vg/home";
    fsType = "ext4";
  };

  # boot
  # ----
  fileSystems."/boot" = {
    #device = "/dev/sda1";
    device = "/dev/disk/by-uuid/EDD4-9795";
    fsType = "vfat";
  };

}