{ lib, pkgs, ... }:
let
  fixWifiScript = pkgs.writeScriptBin "fix-wifi" ''
    #!/usr/bin/env python3

    import subprocess
    import socket
    import logging
    from typing import List, Optional

    def check_internet_connection(hosts_to_check: Optional[List[str]] = None) -> bool:
        """
        Check internet connectivity by attempting to connect to reliable hosts.
        
        :param hosts_to_check: Optional list of hosts to check. 
        :return: Boolean indicating if internet connection is available
        """
        if hosts_to_check is None:
            hosts_to_check = [
                "8.8.8.8",   # Google DNS
                "1.1.1.1",   # Cloudflare DNS
                "9.9.9.9"    # Quad9 DNS
            ]
        
        for host in hosts_to_check:
            try:
                # Create a socket connection with a 5-second timeout
                socket.create_connection((host, 53), timeout=5)
                return True
            except (socket.error, socket.timeout):
                continue
        
        return False

    def reset_wifi_card() -> bool:
        """
        Execute WiFi card reset commands.
        
        :return: Boolean indicating if reset commands were successful
        """
        reset_commands = [
            "echo 1 | sudo -u root tee /sys/bus/pci/devices/0000:09:00.0/reset",
            "sudo rmmod iwlwifi",
            "sudo modprobe iwlwifi"
        ]
        
        try:
            for command in reset_commands:
                result = subprocess.run(
                    command, 
                    shell=True, 
                    check=True, 
                    stdout=subprocess.PIPE, 
                    stderr=subprocess.PIPE, 
                    text=True
                )
                print(f"Executed: {command}")
                print(f"Output: {result.stdout}")
            return True
        except subprocess.CalledProcessError as e:
            print(f"Error resetting WiFi: {e}")
            print(f"Error output: {e.stderr}")
            return False

    def main():
        """
        Check internet connection and reset WiFi if not connected.
        """
        if not check_internet_connection():
            print("No internet connection detected. Attempting WiFi reset...")
            reset_wifi_card()
        else:
            print("Internet connection is stable. No reset needed.")

    if __name__ == "__main__":
        main()
  '';
  pkgsVersion = pkgs; # .unstable;
in
{
  systemd = {
    services = {
      fix-wifi = {
        enable = lib.mkDefault true;
        path = with pkgsVersion; [
          bash
          python3
          networkmanager
          kmod
          fixWifiScript
        ];
        wantedBy = [ "multi-user.target" ];
        after = [ "network.target" ];
        serviceConfig = {
          Type = "oneshot";
          ExecStart = [ "${fixWifiScript}/bin/fix-wifi" ];
        };
      };
    };
  };
}
