You have not told us where your root file system is. And I am hesitant to make suggestions based on incomplete information.
In any case, the best plan is probably to resize your home partition to leave enough unassigned space for Windows. And then let the Windows installer decide how to use that unassigned space.
The safest way to resize “/home” is to back it up to an external drive, delete the partition, recreate at the new smaller size and then restore from the backup. You might also be able to resize in place, but if you used “xfs” then I don’t think resizing-in-place is possible.
I do not know if you typed that partition list yourself or not. But when it is the result of a command, then please always include the line with the prompt and the command and also the new prompt at the end in your copy/paste. Then we can see who did what, when, being where and that it is complete. Much less assumptions (and thus probably misinterpretations) to be made by your readers.
And when you typed it yourself, you should not do this inside CODE tags, because CODE tags here imply that it is from the computer (so trusted much more then from a human).
I do not know why you do now a df instead of the blkid earlier, but I hope you see they report different.
The earlier post informed us that /dev/sdb2 is mounted on /usr/local.
The df informs us that /dev/sdb2 is mounted on / (and a lot more)…
Is it a joke? I do not think this is the first time you see btrfs and you surely know that each btrfs subvolume can be mounted independently and that it is exactly what happens in openSUSE. And lsblk simply picks up one of mount point for the device because it is not prepared to display subvolume mounts.
Yes, but how can we know from that supposed blkid listing that /usr/local is in fact /?
You can still mount /usr/local from a separate partition when you think that better for your system.
We now know.
The OP wants to install Windows on “/dev/sda”. At present, that contains “/home”. So “/home” needs to be made smaller than it currently is. That would leave space for Windows.
I have avoided Windows 10. But I presume that the Windows 10 installer can create its own partitions in the free space available. You probably have to tell it where (which block of free space to use).
So the main thing needed is to shrink “/home” to a smaller size.
If the OP has gone with the defaults for install, then “/home” use “xfs” as its file system. As far as I know, it is not possible to shrink “xfs” in place. So the only alternative is to backup “/home” to somewhere else, remove “/home”, recreate “/home” at a smaller size, and then restore from the backup.
If it were my system, I would backup to an external drive. I would boot from a USB or a DVD to do that backup. A live Tumbleweed DVD or USB would work well here.
As to the new size for “/home” and the size of disk for Windows – that’s something for the OP to decide. If it were me, I would probably give Windows 100G. But then I’m not a big Windows user, so that would be plenty for me. If it were for my wife, I would probably give Windows 500G, because she would be using it more. These are the kinds of decision that the OP will have to make.
As for details on the removing of the old “/home” and recreating – I think the live Tumbleweed isos include “gparted” and that’s probably a good tool for the job. Just ask for more details as needed.