Hacker News new | ask | show | jobs
by Offpics 1692 days ago
Im going to switch from arch to mac in one month. What I should consider installing on it beside homebrew?
8 comments

Bartender, Karabiner-Elements, MacUpdater, NightOwl, iStat Menus, Keyboard Maestro, Rectangle, Amphetamine are some of the most important "OS Enhancement" apps I use.

TripMode, Tripsy, 1Password, Raindrop.io, iTerm, Tower, IINA, Soulver, Spark, Carbon Copy Cloner, Find Any File, Flux, Pacifist, are some my most used "non-common" apps (excluding things like Firefox and VS Code).

Macs Just Work.

Sorry, just found it funny with the big list of applications you're recommending to install to do basic thing in OSX when the usual argument against Linux on HN is "Macs just work".

They do for regular users who use typical end user apps it doesn't just work for devs.

Apple is not designing OS for devs their vast majority of users are not devs or even professionals these days, while macs can be used for development with some wrangling to get a POSIX like environment without too much performance loss, it is not linux. Docker will run in a VM and be slower and some basic stuff like procfs would be completely missing , most of their gnu utils are from late 80s GPL being the reason.

I am also moving back to apple largely because of the m1x performance and battery. Hope Asahi becomes very stable soon on M1

> Apple is not designing OS for devs their vast majority of users are not devs or even professionals these days

yeah. So why are so many devs more or less forced to use MacBooks? someone tell their CTOs

I am a CTO and I use a system76[1] I would rather my devs used Linux systems, for a long time I did only deploy only Linux ThinkPads, but devs want MacBooks- even more so after M1 launched. A few have turned down offers because we didn't offer macs. Now we basically allow them to choose, but in the recent past not a single one has not chosen Apple .

I don't think it is all just CTOs either, there is lot of aspirational value partly driven by design of the system (light weight/looks) partly because expensive it becomes more exclusive.

Without M1 there was nothing else to go for technically they were not that much better, now atleast post m1 there is value to maybe justify the costs.

TCO for ThinkPads are way cheaper than macs upgrades are possible when it is not on macs or easier you don't need to send it apple service for ages, the in-house IT has no shortage of spare parts . No sensible CTO is going to choose apple over anything else if he had choice .

[1] ThinkPad X1 carbon before that both were much better devices just in terms of build quality than my last mac the 2016 pro .

Having linux just work is worth investing in frame.work or system76 or dell developer edition I rather do actual work than fiddle with drivers .

> Now we basically allow them to choose, but in the recent past not a single one has not chosen Apple .

I think that's awesome, and I would feel great about starting at a place that gave devs a choice between System76 and Apple.

> Having linux just work is worth investing in frame.work or system76 or dell developer edition I rather do actual work than fiddle with drivers .

Agreed! There are fun and sometimes productive forms of tinkering with Linux. Fighting incompatible hardware is not among them

Not OP, but give MacPorts a try to see if you prefer it to Homebrew. It tends to push more of the configuration onto the user, but if you’re coming from Arch you might well prefer that. It’s also much faster than Homebrew in my experience.
Not OP but it depends entirely on how Linux-y you want your experience to be. I regularly hop between pop, manjaro, and macOS.

Brew is a given, but I also run karabiner elements for key remapping, Yabai+skhd+limelight for windows management, sketchybar as a panel, and Alfred as the run launcher since d-menu for Mac is still in early development.

This gives me some nice consistency between OSs since I use BSPWM+Polybar+Rofi on Linux.

There are several other neat little utilities that could come in handy like bettertouchtool and keyboard maestro for system wide automation with a gui and hammerspoon if you want a lua based automation program.

I personally use hammerspoon to bring up a list of Yabai shortcuts for windows management since I have too many keybindings.

As for dev tools, I use nvim, doom emacs, or VSC so it’s pretty easy to carry my config between OSs.

I try to keep it pretty simple. I use Karabiner for two specific keyboard alterations (swapping : and ;, and mapping cmd+esc to cmd+` for my keyboard without a dedicated ` key). I also use iTerm instead of the built-in terminal. That's about it, at least recently. I do have Rectangle installed but I don't really use it.

Well, I also use Camo so that I can use my iPhone as a webcam, but I'll probably buy a decent webcam soon because I don't want to keep paying the ongoing subscription. (Why is everything a freaking subscription these days ...)

In the past I used the tiling window manager Yabai, but I've gotten away from that recently. It didn't work properly 100% of the time, unfortunately.

Camo has a one-time "lifetime" $79 license fee, if you want to go that route, you just have to go to their website.
If you use a big monitor, Rectangle (https://rectangleapp.com/) is must-have. It’s minimal and works really well. Without it, using multiple windows side-by-side is really painful.
only use Homebrew for ‘Casks’ (GUI .apps)— `brew cask` subcommand

Nix or pkgsrc for reliable management of CLI tools (both, if you want to try Nix but want an escape hatch)

don't forget to install GNU coreutils, grep, find, and bash. (BSD coreutils are weird and anemic if you're used to GNU. macOS bash is ancient, etc.)

disable cursor acceleration (barely works, but it's the only thing that works): https://plentycom.jp/en/cursorsense/index.html

the only mature terminal emulator on the platform that performs okay (provided you enable GPU acceleration): https://iterm2.com/

recover basic key remapping functionality: https://karabiner-elements.pqrs.org/

recover basic audio controls like per-app volume mixing: https://github.com/kyleneideck/BackgroundMusic

recover FUSE support: https://osxfuse.github.io/

recover configurability for a whole host of missing functionality, like global keyboard shortcuts, through automation (Lua scripting): https://www.hammerspoon.org/

recover clipboard management: https://hluk.github.io/CopyQ/

if you don't use some hack to get window tiling, you might also want to...

recover basic window management functionality: https://github.com/rxhanson/Rectangle

recover modifier key window drag: https://github.com/dmarcotte/easy-move-resize

good luck.

Seeing a lot of recommendations for yabai- but I personally prefer amethyst for window management. Yabai had too much configuration for me- amethyst is easier
Hammerspoon is fantastic