/summon villager ~ ~0.5 ~ {NoGravity:0b,Invulnerable:1b,NoAI:1b,Willing:1b,Rotation:[180F,0F],VillagerData:{profession:"minecraft:armorer",type:"minecraft:plains"},Offers:{Recipes:[{buy:{id:"minecraft:bedrock",Count:10b},sell:{id:"minecraft:potion",Count:1b,tag:{display:{Name:'{"text":"Potion of Nausea","italic":false}'},CustomPotionEffects:[{Id:9b,Amplifier:1b,Duration:20}]}}}]}}
I think it needs to have no AI for it to keep its trades, otherwise it acts like it doesn't have a workstation and loses it's custom trades immediately. You can change the rotation values to get it to face a certain way.