# 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, ... }:

{
  boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "nvme" "usbhid" "usb_storage" "sd_mod" "sr_mod" ];
  boot.kernelModules = [ "kvm-intel" ];
  boot.extraModulePackages = [ ];

  fileSystems."/" =
    { device = "/dev/disk/by-uuid/fec13566-5528-4859-b185-ce37ac2665eb";
      fsType = "ext4";
    };

  fileSystems."/boot" =
    { device = "/dev/disk/by-uuid/5306-AD9A";
      fsType = "vfat";
    };

  fileSystems."/var/lib/acme" =
    { device = "loutrepool/var/acme";
      fsType = "zfs";
    };

  fileSystems."/var/certs" =
    { device = "loutrepool/var/certs";
      fsType = "zfs";
    };

  fileSystems."/var/lib/transmission" =
    { device = "loutrepool/var/transmission";
      fsType = "zfs";
    };

  fileSystems."/var/lib/matrix-synapse" =
    { device = "loutrepool/var/matrix-synapse";
      fsType = "zfs";
    };

  fileSystems."/var/lib/radarr" =
    { device = "loutrepool/var/radarr";
      fsType = "zfs";
    };

  fileSystems."/var/lib/grafana" =
    { device = "loutrepool/var/grafana";
      fsType = "zfs";
    };

  fileSystems."/var/lib/slimserver" =
    { device = "loutrepool/var/slimserver";
      fsType = "zfs";
    };

  fileSystems."/var/db/influxdb" =
    { device = "loutrepool/var/influxdb";
      fsType = "zfs";
    };

  fileSystems."/var/lib/postgresql" =
    { device = "loutrepool/var/postgresql";
      fsType = "zfs";
    };

  fileSystems."/var/lib/syncthing" =
    { device = "loutrepool/var/syncthing";
      fsType = "zfs";
    };

  fileSystems."/mnt/medias/incomplete" =
    { device = "loutrepool/torrent-dl";
      fsType = "zfs";
    };

  fileSystems."/mnt/medias" =
    { device = "loutrepool/medias";
      fsType = "zfs";
    };

  fileSystems."/var/sieve" =
    { device = "loutrepool/var/sieve";
      fsType = "zfs";
    };

  fileSystems."/var/vmail" =
    { device = "loutrepool/var/vmail";
      fsType = "zfs";
    };

  fileSystems."/var/lib/sonarr" =
    { device = "loutrepool/var/sonarr";
      fsType = "zfs";
    };

  fileSystems."/var/lib/jackett" =
    { device = "loutrepool/var/jackett";
      fsType = "zfs";
    };

  fileSystems."/var/lib/gitea" =
    { device = "loutrepool/var/gitea";
      fsType = "zfs";
    };

  fileSystems."/var/lib/private/sdtdserver" =
    { device = "loutrepool/var/sdtdserver";
      fsType = "zfs";
    };

  fileSystems."/var/lib/private/factorio" =
    { device = "loutrepool/var/factorio";
      fsType = "zfs";
    };

  fileSystems."/var/dkim" =
    { device = "loutrepool/var/dkim";
      fsType = "zfs";
    };

  fileSystems."/var/vsftpd" =
    { device = "loutrepool/var/vsftpd";
      fsType = "zfs";
    };

  # fileSystems."/mnt/backup" =
  #   { device = "backup";
  #     fsType = "zfs";
  #   };

  fileSystems."/mnt/backup_loutre" =
    { device = "loutrepool/backup";
      fsType = "zfs";
    };

  fileSystems."/mnt/secrets" =
    { device = "loutrepool/secrets";
      fsType = "zfs";
    };

  fileSystems."/var/lib/minecraft" =
    { device = "loutrepool/var/minecraft";
      fsType = "zfs";
    };

  fileSystems."/var/www" =
    { device = "loutrepool/var/www";
      fsType = "zfs";
    };

  fileSystems."/var/lib/mastodon" =
    { device = "loutrepool/var/mastodon";
      fsType = "zfs";
    };

  fileSystems."/var/lib/hass" =
    { device = "loutrepool/var/hass";
      fsType = "zfs";
    };

  fileSystems."/var/lib/private/photoprism" =
    { device = "loutrepool/var/photoprism";
      fsType = "zfs";
    };

  fileSystems."/mnt/paul-home" =
    { device = "loutrepool/zfs-replicate/paul-fixe/fastaf/home";
      fsType = "zfs";
    };

  fileSystems."/mnt/webdav" =
    { device = "loutrepool/webdav";
      fsType = "zfs";
    };

  swapDevices =
    [
      {
        device = "/var/swapfile";
        size = 8096;
      }
    ];

  nix.settings.max-jobs = lib.mkDefault 4;
  powerManagement.cpuFreqGovernor = lib.mkDefault "ondemand";
}