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