Skip to content

Instantly share code, notes, and snippets.

@GrabbenD
Created March 23, 2025 21:19
Show Gist options
  • Save GrabbenD/bee0075f25897c8797daf37957a477f2 to your computer and use it in GitHub Desktop.
Save GrabbenD/bee0075f25897c8797daf37957a477f2 to your computer and use it in GitHub Desktop.
Jay Wayland - starter config example
# ~/.config/jay/config.toml
# Use inline config for readability
# - Config example : https://github.com/mahkoh/jay/blob/master/docs/config.md
# - Config options : https://github.com/mahkoh/jay/blob/master/toml-spec/spec/spec.generated.md
# |
# | KEYBINDINGS
# |
# Load TTY keybindings first as a way to recover if parts of the config are invalid
shortcuts = {
ctrl-alt-F1 = { type = "switch-to-vt", num = 1 },
ctrl-alt-F2 = { type = "switch-to-vt", num = 2 },
ctrl-alt-F3 = { type = "switch-to-vt", num = 3 },
ctrl-alt-F4 = { type = "switch-to-vt", num = 4 },
ctrl-alt-F5 = { type = "switch-to-vt", num = 5 },
ctrl-alt-F6 = { type = "switch-to-vt", num = 6 },
ctrl-alt-F7 = { type = "switch-to-vt", num = 7 },
ctrl-alt-F8 = { type = "switch-to-vt", num = 8 },
ctrl-alt-F9 = { type = "switch-to-vt", num = 9 },
ctrl-alt-F10 = { type = "switch-to-vt", num = 10 },
ctrl-alt-F11 = { type = "switch-to-vt", num = 11 },
ctrl-alt-F12 = { type = "switch-to-vt", num = 12 },
}
# Jay
shortcuts = {
logo-1 = { type = "show-workspace", name = "1" },
logo-2 = { type = "show-workspace", name = "2" },
logo-3 = { type = "show-workspace", name = "3" },
logo-4 = { type = "show-workspace", name = "4" },
logo-5 = { type = "show-workspace", name = "5" },
logo-6 = { type = "show-workspace", name = "6" },
logo-7 = { type = "show-workspace", name = "7" },
logo-8 = { type = "show-workspace", name = "8" },
logo-9 = { type = "show-workspace", name = "9" },
logo-f = { type = "simple", cmd = "toggle-fullscreen" },
logo-c = { type = "simple", cmd = "close" },
logo-q = { type = "simple", cmd = "quit" },
logo-r = [
{ type = "simple", cmd = "reload-config-toml" },
{ type = "exec", exec = [ "notify-send", "--hint=string:x-canonical-private-synchronous:system", "--expire-time=1000", "⚙️ RELOADED" ] },
],
}
# User
shortcuts = {
logo-t = { type = "exec", exec = "foot" },
logo-e = { type = "exec", exec = "zeditor" },
logo-b = { type = "exec", exec = "firefox" },
logo-x = { type = "exec", exec = "fuzzel" },
}
# |
# | PERIPHERALS
# |
# $ setxkbmap -model pc105 -layout se -variant nodeadkeys; setxkbmap -print
keymap = """
xkb_keymap {
xkb_keycodes { include "evdev+aliases(qwerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete" };
xkb_symbols { include "pc+se(nodeadkeys)+inet(evdev)" };
xkb_geometry { include "pc(pc105)" };
};
"""
# $ jay input
inputs = [
{
match.is-pointer = true,
accel-profile = "Flat",
accel-speed = 0,
}
]
# |
# | DRM
# |
# $ jay randr
outputs = [
{
match = { serial-number = "#HLAYMxgwABTR" },
mode = { width = 3840, height = 1600, refresh-rate = 143.998 },
vrr = { mode = "variant2" },
tearing = { mode = "variant2" },
},
]
on-graphics-initialized = [
{ type = "exec", exec = "mako" },
{ type = "exec", exec = "wl-tray-bridge" },
{ type = "exec", exec = "foot" },
]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment