Settings

Theme

macOS Developer Setup

chrisatmachine.com

53 points by olzhasar 3 years ago · 43 comments

Reader

jrjarrett 3 years ago

I 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/) for managing language versions. It has plugins for most everything I work with on a daily basis (all those languages above plus Ruby).

  • pvinis 3 years ago

    asdf 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.

  • barbariangrunge 3 years ago

    What’s wrong with python on Mac? I’ve mostly dabbled with it via Ubuntu in the past

    • evgen 3 years ago

      Python 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 3 years ago

        I 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.

hotsauceror 3 years ago

I 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?

  • SparkyMcUnicorn 3 years ago

    I 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

    • theshrike79 3 years ago

      Was 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.

      • SparkyMcUnicorn 3 years ago

        Raycast is free (unless you want cloud sync), and I prefer the UI/UX and menu system it uses. I also felt like many Alfred workflows required fiddling and/or were buggy. In general, Raycast's community ecosystem is a much more pleasant experience than Alfred's workflows (in my opinion).

        The UX is just nice, and there's lots of little things to like. Result context menus, quick configuration changes, system control, window management, etc. I can type things into Raycast and can reasonably expect something nice to be suggested, e.g. "pi * 6", "1 month", "1 month from now", "sleep displays", "left half", "schedule", the list goes on.

        I'd suggest trying it for a day. If you don't like it, switch back.

        • theshrike79 2 years ago

          So Raycast configurations are hidden and can't be manually synced between machines?

          I use Dropbox to sync my Alfred setup (Config, workflows and related files) between 3-4 computers and paying $8/month just for that is a complete no-go.

          • SparkyMcUnicorn 2 years ago

            I use Mackup to sync Raycast settings, so I guess the cloud service is only useful if you want the other paid features.

            Config is stored at ~/Library/Preferences/com.raycast.macos.plist

            Everything else is at ~/Library/Application Support/com.raycast.macos

        • thy77 3 years ago

          So Raycast picks up where Quicksilver left off? Wei wu wei.

  • defatigable 3 years ago

    I 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

  • theshrike79 3 years ago

    I've got shortcuts for stuff I need

    'rpg <autofilled list of games>' opens up roll20 for a specific game + a bunch of PDF rule books related to it

    'gg <name of service on my own network>' opens the web page for that service or a directory on my NAS

    I can look up and copy any emoji by typing 'emoji <part of the name>' and press enter to copy it to my clipboard

    Bunch of small things that take 10-15 minutes to set up and then just work forever without any intervention

  • lapcat 3 years ago

    A 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.

jonwest 3 years ago

A 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

gumby 3 years ago

I 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 3 years ago

    How often do you use different machines?

    • gumby 3 years ago

      Random remote machines? A lot. Somebody else’s laptop/desktop? Not that often any more, of course, but sometimes.

  • theshrike79 3 years ago

    I 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>'

xyst 3 years ago

Raycast looks interesting. I’ll have to poke around that app. Spotlight has been giving me headaches lately.

kashunstva 3 years 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?

  • rbreaves 3 years ago

    Haven’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.

  • drcongo 3 years ago

    iTerm2 is an astonishingly good piece of software. This article is garbage.

JoyfulTurkey 3 years ago

I 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 3 years ago

    Try 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.

barbariangrunge 3 years ago

> brew install blender # video editing

People use 3d modelling and animation software for video editing? Is that common?

  • boffinAudio 3 years ago

    I've seen it enough times to believe its kind of common. Blender is a pretty decent video editor ..

anta40 3 years ago

I 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 3 years ago

    Why (and how) would you do kernel programming on macOS when you’re not employed by Apple?

    • anta40 3 years ago

      I'm not talking about macOS kernel programming, though. Instead: Linux, BSD, or any other open source OS...

      • steve1977 3 years ago

        I would assume that is always (or very often) easier on the target platforms. At least as long we’re not talking about embedded platforms.

bitwise101 3 years ago

I also used scrollreverser in the past, but it’s no more necessary in newer macOS versions. You can do the same from regular settings

manojlds 3 years ago

The initial parts around bumping up the key repeat and many others can be automated as well.

lockhouse 3 years ago

I feel like I’m one of the only people who actually like the built in macOS terminal app.

  • giraffe_lady 3 years ago

    Yeah 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.

yumraj 3 years ago

What’s the deal with making caps lock escape? Why not use the esc key?

  • knubie 3 years ago

    Because 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.

  • kitsunesoba 3 years ago

    I 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 3 years ago

      I use it as both. Control when held and escape when tapped.

      setxkbmap -option ctrl:nocaps

      xcape -e 'Control_L=Escape'

devhead 3 years ago

nice. 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).

hoc 3 years ago

So afraid of movie night now.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection