id = "finicky" name = "Finicky" homepage = "https://finicky.johnste.dev" description = "A macOS app for customizing which browser to start" # The app's own icon, published in its repository. icon = "https://raw.githubusercontent.com/johnste/finicky/main/packages/finicky-ui/public/finicky-icon.png" executables = ["finicky"] platforms = ["macos"] [dotfiles] # apps/finicky/src/config/configfiles.go, ConfigFileWatcher.GetConfigPaths: # with no --config override Finicky looks, in this order, at # ~/.finicky.js, ~/.finicky.ts, # ~/.config/finicky.js, ~/.config/finicky.ts, # ~/.config/finicky/finicky.js, ~/.config/finicky/finicky.ts # and uses the first that exists. The list is written literally in the source # and the only expansion applied is `~` → home directory, so ~/.config here is # a hard-coded path and not $XDG_CONFIG_HOME; it is spelled out rather than # written as [configHome], which would name a directory Finicky never opens on # a machine that moved its XDG dirs. paths = [ "~/.finicky.js", "~/.finicky.ts", "~/.config/finicky.js", "~/.config/finicky.ts", "~/.config/finicky/finicky.js", "~/.config/finicky/finicky.ts", ] exclude = [] # Rules about which browser opens which URL. No credentials. secret = [] # The same file the config is read from is watched: ConfigFileWatcher wires an # fsnotify watcher to it and reloads on change, so rewriting it while Finicky # is running is what the app already expects. side_effect = false # No machine_lines: a handler names a browser by bundle id or name and matches # on URL, which is the whole point of carrying the config to another Mac.