return {
    'mrsobakin/multilayout.nvim',
    opts = {
        layouts = {
            ru = {
                -- Names of this layout, as `libukb` reports.
                names = { "Russian" },
                from  = [[ёйцукенгшщзхъфывапролджэячсмитьбю.Ё"№;:?ЙЦУКЕНГШЩЗХЪ/ФЫВАПРОЛДЖЭЯЧСМИТЬБЮ,]],
                to    = [[`qwertyuiop[]asdfghjkl;'zxcvbnm,./~@#$^&QWERTYUIOP{}|ASDFGHJKL:"ZXCVBNM<>?]],
            }
        },
        aliases = {
            -- Maximum length of default commands aliases.
            -- Increasing this value leads to longer startup times.
            max_length = 2,
            -- Extra commands that you want to alias.
            -- They are aliased regardless of `max_length`.
            extra = { "sort" },
        },
        -- Whether to use `libukb`. If this is set to false, `langmap`
        -- won't automatically switch when your layout does.
        use_libukb = true,
        -- Path to the `libukb.so`. If `nil`, ukb will be automatically
        -- downloaded, builded and installed in the neovim data directory.
        libukb_path = nil,
        -- Function of type `callback(layout: string)`. Called whenever
        -- current keyboard layout changes.
        callback = nil,
    }
}
