Small scripts and configs for my Fedora setup.
| File | Description |
|---|---|
bt_autoconnect.sh |
Retries bluetoothctl connect <MAC> for up to ~100s at login, since BlueZ only auto-reconnects on link loss (suspend/resume), not on a cold boot. For audio devices it waits for the PipeWire output and reconnects if the device is connected without one. Takes a MAC address as its argument. Installed as ~/.local/bin/bt-autoconnect.sh. |
bt-autoconnect@.service |
Systemd user template unit that runs bt_autoconnect.sh after bluetooth.target. Enable per-device with systemctl --user enable --now 'bt-autoconnect@<MAC>.service'. |
bluetooth-autoconnect-r1280db.md |
Write-up explaining why BlueZ doesn't auto-reconnect on boot and how the script/service above fix it (example device: Edifier R1280DB speakers). |
toggle_input.sh |
Toggles a monitor's input source (DisplayPort/HDMI) via ddcutil (DDC/CI). Installed to /usr/local/bin/toggle_input.sh; bound to a keyboard shortcut via keyd. |
setup_monitor_toggle.sh |
Interactive setup script that detects the monitor's i2c bus and DP/HDMI input values, installs toggle_input.sh to /usr/local/bin, writes the keyd config, and enables i2c-dev at boot. Tested on Fedora 43 with GNOME/Wayland. Requires keyd and ddcutil. |
default.conf |
keyd config (/etc/keyd/default.conf) binding Ctrl+Alt+1 to toggle_input.sh. Generated by setup_monitor_toggle.sh. |
.XCompose |
Custom X Compose key mappings — e.g. dead-acute (') produces ç/Ç before c/C and falls back to a literal apostrophe before other letters, instead of the default accented-letter behavior. |