Disabling IPv6 not working

OK, you obviously didn’t read this:

But anyway, I don’t have that file:

$ cat /etc/sysctl.d/40-ipv6.conf

Yet, I don’t have ipv6 addresses:

$ ip a
[...]
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether e0:d5:5e:6a:9b:65 brd ff:ff:ff:ff:ff:ff
    altname enp0s31f6
    inet 10.0.0.20/24 brd 10.0.0.255 scope global dynamic noprefixroute eno1
       valid_lft 597384sec preferred_lft 597384sec

And I use the ipv6.disable_ipv6=1 kernel parameter method. So, you can try that. As a prerequisite, ensure you have the install-grub package installed:

pamac install install-grub

To do so, open /etc/default/grub for editing.

sudo nano /etc/default/grub

And in the line starting with GRUB_CMDLINE_LINUX_DEFAULT insert ipv6.disable_ipv6=1 before the closing quotation mark. So that the line is somewhat similar to:

GRUB_CMDLINE_LINUX_DEFAULT="[...] ipv6.disable_ipv6=1 [...]"

Save, Ctrl+O, and Exir nano, Ctrl+X.

Then reinstall/update grub:

sudo install-grub

And reboot if there were no errors.