I think this is great, but at the same time, auto-installing homebrew ought to be an option (perhaps enabled by default) when installing the “XCode command line tools”.
Better yet, offer a “developer setup” app that sets up the command line tools, homebrew, iTerm2, updated bash/zsh, and more.
Apple would do best to pave the cow paths developers have already worn into macOS, especially when it comes to command line utilities. A dev setup app would just make it quicker/simpler and pave the way for newbies to get into development.
I think the second you start auto-favouring one particular tool you're in trouble. Why iTerm2? Why not Alacritty? iTerm2 is more popular now, but 5 years down the line when someone else has come up with a iTerm2 replacement how is Apple meant to decide to switch? Where does Apple draw the line on which tools to add and which to leave out?
It sounds like what you're really asking for is something like Ninite for mac, which I think frankly is safer to stay as a 3rd party thing, rather than Apple getting super-involved in choices that are going to be very user taste specific.
Yeah I don't see the need for any of this to be provided by Apple. I want the platform I'm working on to be minimal and agnostic, and let me worry about what tools I'm using and how.
If there's really demand for some kind of base developer toolkit, why not leave it up for a 3rd party to put together some kind of installer to set it all up for you?
> why not leave it up for a 3rd party to put together some kind of installer to set it all up for you?
Because a potentially interested 4th grader likely won't ever know such a thing exists.
And even if she did, the teacher likely won't let her download and install it from the internet. But if she asks for permission to run a "Install Command Line Tools" app in /Applications/Utilities/ and check the "Install homebrew" option (or "Install MacPorts" - I really don't care either way... perhaps provide options for both), that's far more likely to get a "yes".
In my experience kids are very tech-savy. I don't think the 4th grader who can't discover homebrew without a system setting for it is going to be able to do much with it once they've got the terminal open.
Kids can only get savvy with exposure. Those lacking certain privileges (like having a computer at home) likely haven’t had any of that exposure.
I was only able to learn BASIC and the DOS command prompt because I was in a multi grade classroom, and an older boy (5th grader) whose mother paid for him to have programming lessons taught me on the classroom computer.
The teacher had no clue about any of that... she only knew I started spending “too much time” on the computer.
My point wasn't so much a plug for iTerm2 or anything else in particular. The purpose of a dev setup app would be to (a - primarily) provide a great default dev environment for curious kids, and (b) pave the way for some of the most popular dev configurations.
I know homebrew and iTerm are pretty popular, and that there are other popular options as well. Why not list the top n in each category, in randomized order, with short descriptions and "learn more" links?
Every time I start work on a different Mac, it usually takes me at least 30 minutes to set it up. It would be nice to have a quick button to set up command line tools, iTerm2, homebrew, zsh, and git. Making such setup available from an app would not only speed up the process, it would also gives the dev environment visibility to newcomers and "first class" status from an IT perspective.
> I think the second you start auto-favouring one particular tool you're in trouble. Why iTerm2? Why not Alacritty?
Because iTerm2 is an excellent Mac app? I don't understand your aversion to favoring one tool over another: macOS itself is a tool that I prefer to use over Linux because it's nicer, just as iTerm2 is nicer than Alacritty.
Just that the prompt automatically goes on a new line makes iTerm2 so nice though. As well as the built in timing of commands, jump to previous prompt, double click selects matching parentheses, etc. it's those little details.
If you have a command that doesn't print a new line, the prompt normally ends up on the same line as the output of the last command. iTerm can "fix" this.
See this is where I would rather have my terminal obey the program rather than imposing its own behavior. IMO a good terminal should be extremely minimal, and anything extra should be opt-in.
iTerm is amazing when using many spaces because of the hotkey overlay.
Projects and project parts are separated via spaces but I never want to have to find the right terminal for a process, instead I use a single window with animations disabled (to show immediately) and excluded from app switcher via settings so that it will only ever show up when i press alt-space no matter which space I'm on.
Together with tabs and native panes it works just great and requires very little setup
It's a script that installs all kinds of useful stuff and sets some - in my opinion - nice options. I just recently started a new job and I had a brand new Macbook Pro up and running (as in: ready to start working) in less than 30 minutes.
A good tip is to fork it and modify it to your liking. At a new computer you can then just pull down your version and install away.
So the ironic part is this script would no longer work after these deprecations because installing Homebrew requires a Ruby interpreter[0].
Obviously these things are fixable but a whole lot of people are going to have to do a lot of work to workaround having _no_ scripting languages installed by default on a fresh Mac.
> Once Homebrew no longer has to support a macOS with a system ruby, we can even run with a considerably more up-to-date version, modulo concerns for supporting older linux(brew) OSes. We have a portable ruby that we can use to bootstrap things.
MacPorts was originally started as DarwinPorts as part of the OpenDarwin initiative at Apple [1]. Apple continued to sponsor MacPorts by providing hosting of website, repository, and build servers at Mac OS forge [2] until it closed back in 2016. The project then moved to GitHub and their own servers.
Better yet, offer a “developer setup” app that sets up the command line tools, homebrew, iTerm2, updated bash/zsh, and more.
Apple would do best to pave the cow paths developers have already worn into macOS, especially when it comes to command line utilities. A dev setup app would just make it quicker/simpler and pave the way for newbies to get into development.