5 ms·
macOS Developer Setup
- manojlds 3y agoThe initial parts around bumping up the key repeat and many others can be automated as well.
- jrjarrett 3y agoI noticed they installed version managers for Java, node, and directly installed Go. Never mind the nightmare that is Python on macOS. I’ve become a big fan of ASDF (https://asdf-vm.com/ https://asdf-vm.com/) for managing language versions. It has plugins for most everything I work with on a daily basis (all those languages above plus Ruby).
- barbariangrunge 3y agoWhat’s wrong with python on Mac? I’ve mostly dabbled with it via Ubuntu in the past
- evgen 3y agoPython on the mac is no bother. Like most Linux distros, you simply ignore the existence of any system python and install what you need yourself. You manage your python versions with pyenv and use virtual envs for everything. Problem solved.
- jrjarrett 3y agoI didn’t do that when I set up my dev machine, and got into quite a mess of differing brew install versions plus different repos having different dependencies. asdf helps quite a bit now.
- pvinis 3y agoasdf is the best. it's as big a game changer as brew was when it started. there's also rtx (asdf clone but in rust) if someone wants that.
- xyst 3y agoRaycast looks interesting. I’ll have to poke around that app. Spotlight has been giving me headaches lately.
- gumby 3y agoI try to do as little customization as possible and use the default apps as much as possible. That way if I use a different machine (sit down at it or connect over the net) it's likely to already be close to my daily drive. "as possible" is doing a lot of work here: I also make caps lock escape, have some packages installed with homebrew, have a few magic shell commands, but before I make any change I do stop to think: will this really be worth it?
- lapcat 3y agoHow often do you use different machines?
- gumby 3y agoRandom remote machines? A lot. Somebody else’s laptop/desktop? Not that often any more, of course, but sometimes.
- theshrike79 3y agoI have a minimal chezmoi setup for this, it pulls a few basic config files from github and makes sure software is correctly installed. It all works by downloading the chezmoi binary and saying 'chezmoi init --apply <my github username>'
- lockhouse 3y agoI feel like I’m one of the only people who actually like the built in macOS terminal app.
- giraffe_lady 3y agoYeah I like it too most other mac terminals have ugly text rendering, or are noticeably slow, or have a complex config DSL I don't want to learn. Stock terminal mangles ansi colors sometimes but is otherwise great.
- hotsauceror 3y agoI feel like I’m missing part of the picture. Everybody drags on Spotlight, I figured I must be missing something important so I installed Alfred. I press command+space, I type my application name, and boom. There it is. But I mean, I had that before, out of the box. Is this a power user thing? What great things could I be doing, that I’m apparently not, and that for this cat even Alfred isn’t scratching the itch?
- defatigable 3y agoI like Alfred but I'm not a huge power user. It does have a bunch of other functionality. Out of the box it lets you do a bunch of stuff like filesystem manipulation, clipboard history management, a simple calculator, and stuff like that. It's also extensible. For example there's a very useful add-on workflow [0] that makes it really quick to open up the next Zoom meeting you have scheduled in your calendar. [0] https://github.com/caleb531/open-conference-url https://github.com/caleb531/open-conference-url
- lapcat 3y agoA few things I use: 1) File system browser: I just type "/" and can start navigating anywhere 2) Google search without opening a browser first 2) Workflow to toggle dark and light mode just by typing "dark". 3) On Ventura, I use Alfred to search System Settings, because the System Settings app itself is trash.
- SparkyMcUnicorn 3y agoI used (and paid for) Alfred for many years. It was okay, but switched to raycast about 6 months ago and couldn't be happier. It's really snappy, unlike every other alternative I've tried, and has some good base capabilities, but the extensions store (and how easy they are to write) is the killer feature. https://www.raycast.com/store https://www.raycast.com/store
- theshrike79 3y agoWas there any other reason for switching to Raycast other than it being 'snappy' compared to Alfred? Asking as a long time Alfred user. I've looked at Raycast, but can't really figure out what it does that Alfred doesn't.
- yumraj 3y agoWhat’s the deal with making caps lock escape? Why not use the esc key?
- knubie 3y agoBecause it's further away. And lots of older applications (e.g. vim) were designed when most keyboards had the escape key placed in the same spot where the caps lock key is today.
- drcongo 3y agoAnd some Macs don't even have an escape key.
- kitsunesoba 3y agoI personally like to remap caps lock to control or use a keyboard that has that layout by default. I never use caps lock and it makes control-based shortcuts more ergonomic.
- GloomyBoots 3y agoI use it as both. Control when held and escape when tapped. setxkbmap -option ctrl:nocaps xcape -e 'Control_L=Escape'
- hoc 3y agoSo afraid of movie night now.
- jonwest 3y agoA few suggestions: - You can use a Brewfile to group all of your “brew install” commands into a single command referencing that Brewfile. - You can avoid manually installing Docker Desktop by installing via the cask (brew install --cask docker) - You can automate all of the other settings by bringing in your one-off shell commands into a script and using something like dotbot which allows you to bring in dotfiles as well as system setup type scripts. I’m running a relatively similar setup to you, if you want an example of what I’m talking about, you can check out my dotfiles repo at https://github.com/jonwest/dotfiles https://github.com/jonwest/dotfiles
- devhead 3y agonice. I fight to keep any dev langs from being installed directly; docker keeps me from having to fight between versions. (exception: Terraform, using chtf for the win).
- JoyfulTurkey 3y agoI received a M1 Mac for my most recent job a few years back after years of Windows at work. The window management drove me nuts on MacOS until I found rectangle. I don’t know how stuff like that is not native to the OS
- joshka 3y agoTry telling some other developer that rectangle is the best window manager... ... you'll realize that a) it's great that these sorts of tools are good additions as apps, and b) why it's tough to please everyone when making something native to the OS.
- bitwise101 3y agoI also used scrollreverser in the past, but it’s no more necessary in newer macOS versions. You can do the same from regular settings
- anta40 3y agoI think the list is fine, assuming you write the usual user apps. The tricky part is for doing kernel programming (not something I do for work anyway, just a hobby). Things just easier on Linux. So, add VirtualBox to the list :D
- steve1977 3y agoWhy (and how) would you do kernel programming on macOS when you’re not employed by Apple?
- barbariangrunge 3y ago> brew install blender # video editing People use 3d modelling and animation software for video editing? Is that common?
- boffinAudio 3y agoI've seen it enough times to believe its kind of common. Blender is a pretty decent video editor ..
- kashunstva 3y ago> I know that iterm2 is a popular choice but it doesn’t have fontfallback which makes it garbage iTerm2 is my daily driver; so I’m astonished to learn that it’s “garbage.” Maybe it’s just a rhetorical shortcut meant to catch the attention of readers; but why not just say that it doesn’t meet his usage needs?
- drcongo 3y agoiTerm2 is an astonishingly good piece of software. This article is garbage.
- rbreaves 3y agoHaven’t read the article yet, but no it’s not garbage. There’s literally not a single terminal app on linux that remotely comes close to it. ITerm2 is extremely flexible & powerful & well designed. I used to get beachballs w/ it though & I think that went away as I went from using tons of tabs to just 1-4 & tmux for the rest. Closest I’ve come on linux is xfce4-terminal w/ devilspie2 to fill the gaps.