id = "shuttle" name = "Shuttle" homepage = "https://fitztrev.github.io/shuttle/" # The project's own tagline, on its homepage and as its repository description. description = "A simple shortcut menu for macOS" # The shuttle mark the app shows in the menu bar — the only icon the project # publishes. icon = "https://raw.githubusercontent.com/fitztrev/shuttle/master/Shuttle/StatusIcon@2x.png" # Shuttle ships no command-line tool, so `detect` carries the bundle # identifier. Verified on a Mac with Shuttle installed: CFBundleIdentifier in # /Applications/Shuttle.app/Contents/Info.plist is shuttle.Shuttle, and # `defaults domains` lists the matching shuttle.Shuttle domain. executables = [] platforms = ["macos"] [installation] macos_bundle_ids = ["shuttle.Shuttle"] [dotfiles] # Shuttle's homepage says it in one line: "Open the app and choose Configure to # edit ~/.shuttle.json". The Homebrew cask agrees — `zap trash: # "~/.shuttle.json"` (Casks/s/shuttle.rb) — and so does this machine, which has # the file: a JSON document with "editor", "launch_at_login", "terminal", # "open_in", "show_ssh_config_hosts", "ssh_config_ignore_hosts", # "ssh_config_ignore_keywords" and a "hosts" array of {cmd, name} entries # grouped into submenus. The app is not sandboxed, so the file really is at the # root of the home directory rather than inside a container. paths = ["~/.shuttle.json"] exclude = [] # Not a credential file: an entry is a shell command to run, typically # `ssh user@host`, and Shuttle has no password store of its own — the file this # machine holds names hosts, users and identity files, with authentication left # to ssh. A user could of course paste a password into a `cmd`, but the file is # not a credential end to end. secret = [] # No machine_lines: the host list and the terminal choice are exactly what a # user wants on the next Mac. An `-i ~/.ssh/id_ed25519` inside a `cmd` string is # the one machine-flavoured thing in the file, and it sits in the middle of a # shell command rather than in a key of its own, so no key_path can name it — # a rule would have to hold back the whole shortcut.