| 1 | # HyprKVM Configuration |
| 2 | # Copy to ~/.config/hyprkvm/hyprkvm.toml |
| 3 | |
| 4 | # ============================================================================= |
| 5 | # Machine Identity |
| 6 | # ============================================================================= |
| 7 | [machines] |
| 8 | # This machine's name (defaults to hostname) |
| 9 | self_name = "my-machine" |
| 10 | |
| 11 | # Neighbor machines |
| 12 | # Configure machines adjacent to this one |
| 13 | |
| 14 | [[machines.neighbors]] |
| 15 | name = "desktop" |
| 16 | direction = "right" # This machine is to our right |
| 17 | address = "desktop.local:24850" |
| 18 | # Optional: pre-trust fingerprint (skip verification prompt) |
| 19 | # fingerprint = "SHA256:..." |
| 20 | |
| 21 | # [[machines.neighbors]] |
| 22 | # name = "laptop" |
| 23 | # direction = "left" |
| 24 | # address = "192.168.1.20:24850" |
| 25 | |
| 26 | # ============================================================================= |
| 27 | # Network Settings |
| 28 | # ============================================================================= |
| 29 | [network] |
| 30 | # Port to listen on for incoming connections |
| 31 | listen_port = 24850 |
| 32 | |
| 33 | # Address to bind to (0.0.0.0 for all interfaces) |
| 34 | bind_address = "0.0.0.0" |
| 35 | |
| 36 | # Connection timeout in seconds |
| 37 | connect_timeout_secs = 5 |
| 38 | |
| 39 | # Heartbeat settings |
| 40 | ping_interval_secs = 5 |
| 41 | ping_timeout_secs = 10 |
| 42 | |
| 43 | # TLS certificate paths (auto-generated if missing) |
| 44 | [network.tls] |
| 45 | cert_path = "~/.config/hyprkvm/cert.pem" |
| 46 | key_path = "~/.config/hyprkvm/key.pem" |
| 47 | |
| 48 | # ============================================================================= |
| 49 | # Input Settings |
| 50 | # ============================================================================= |
| 51 | [input] |
| 52 | # Escape hotkey - press to return control to this machine |
| 53 | [input.escape_hotkey] |
| 54 | key = "scroll_lock" |
| 55 | modifiers = [] # e.g., ["super"] for Super+ScrollLock |
| 56 | |
| 57 | # Triple-tap fallback (three quick taps of this key) |
| 58 | triple_tap_enabled = true |
| 59 | triple_tap_key = "shift" |
| 60 | triple_tap_window_ms = 500 |
| 61 | |
| 62 | # ============================================================================= |
| 63 | # Clipboard Settings |
| 64 | # ============================================================================= |
| 65 | [clipboard] |
| 66 | # Enable clipboard synchronization |
| 67 | enabled = true |
| 68 | |
| 69 | # When to sync |
| 70 | sync_on_enter = true # Sync when taking control of another machine |
| 71 | sync_on_leave = true # Sync when returning control |
| 72 | |
| 73 | # What to sync |
| 74 | sync_text = true |
| 75 | sync_images = true |
| 76 | |
| 77 | # Maximum clipboard size to sync (bytes) |
| 78 | max_size = 10485760 # 10MB |
| 79 | |
| 80 | # ============================================================================= |
| 81 | # Logging |
| 82 | # ============================================================================= |
| 83 | [logging] |
| 84 | # Log level: error, warn, info, debug, trace |
| 85 | level = "info" |