Skip to content

--install-service generates plist without -c flag, service fails with EX_CONFIG (78) #30

@fakebizprez

Description

@fakebizprez

Bug: --install-service missing -c config argument causes service to fail with EX_CONFIG (78)

Describe the bug

--install-service generates a plist with a missing -c config argument in ProgramArguments, causing the service to fail with EX_CONFIG (78) even when a valid config exists at the default location ~/.config/skhd/skhdrc.

To Reproduce

  1. Install via homebrew: brew install jackielii/tap/skhd-zig
  2. Create config at ~/.config/skhd/skhdrc
  3. Run skhd --install-service && skhd --start-service
  4. Service fails to start — skhd --status shows Currently running: No

Expected behavior

--install-service should detect the config file location and include -c <path> in the generated plist ProgramArguments, or the service should correctly fall back to default config locations without needing the flag.

Debug Information

launchctl print gui/$(id -u)/com.jackielii.skhd shows:

arguments = {
    /opt/homebrew/Cellar/skhd-zig/0.0.17/bin/skhd
}
last exit code = 78: EX_CONFIG
  • No -c argument is present in the generated plist
  • Log file /tmp/skhd_$USER.log is completely empty
  • Manually running skhd -V -c ~/.config/skhd/skhdrc works perfectly
  • Editing the plist to add -c and the config path does not take effect even after launchctl unload/loadbootout/bootstrap is required, which --stop-service/--start-service does not use internally

Environment

macOS version 26.3 Tahoe
skhd.zig version v0.0.17-0e4a522 (fast)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions