Skip to content

Reconsider default installation path #2534

@tapeinosyne

Description

@tapeinosyne

I would like to propose /Applications as the default installation path, changing from the current ~/Applications. For past opinions surrounding this issue, see #30.

To better direct the discussion, note that I am not arguing that installing to /Applications is strictly better practice than installing to ~/Applications. My suggestion is that symlinking apps to /Applications would be a better default, as it is where most users expect to find their apps based on common practice. Consider the following:

  • As of 10.7, OSX does not create ~/Applications. A user application folder is supported, but optional. On 10.6, the user application folder was created empty. See thread on Apple Support.
  • The Mac App Store installs to /Applications. I would expect most Cask users to have at least one MAS-only application they like or need (cue harrowing screams of those who like to automate provisioning of their machines), which is problematic for those who favor ~/Applications as some of their software will be relegated to the global folder.
  • Homebrew changed the default --linkapps path to /Applications about five months ago with Change brew linkapps to use the global /Applications folder legacy-homebrew#22378. (--linkapps symlinks certain programs, e.g. Emacs, to a folder, similarly to Cask.) Given that Cask is implemented as an external brew command, it should be desirable to mantain consistent behavior for shared functionality.
  • Other applications seemingly expect the absence of a user application folder. E.g. Alfred, a very popular tool, does not include ~/Applications in its search scope.

I find these to be increasingly good reasons to adapt our current default path; the trend appears rather clear. Of course, Cask would remain configurable, and those who prefer to keep Cask application separate will be able to change their installation folder with export HOMEBREW_CASK_OPTS. However, most users (particularly new ones) would be better served by the more common /Applications as default.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions