Okay, so this works:

```
        clk_io = platform.request(platform.default_clk, dir="-")
        m.submodules.clk_buf = clk_buf = io.Buffer("i", clk_io)
        clk_i = clk_buf.i
        m.domains += ClockDomain("sync")
        m.d.comb += ClockSignal("sync").eq(clk_i)

        button = platform.request("button")
        button_sync = Signal()
        m.submodules.button_synchronizer = FFSynchronizer(button.i, button_sync)
        m.d.comb += ResetSignal().eq(button_sync)
```