Skip to main content

Command Palette

Search for a command to run...

Setting up a new Macbook at work

Updated
7 min read

2025 was an eventful year for me. I know it was a tough year for a lot of people and I had my fair share of losses in the year. Though I’m still processing some of it, overall the year done a lot of good to me. I joined HCL Technologies in March and started working at a client office in Bengaluru. New job, the travels and some personal incidents had me completely occupied for most of the year. That's part of the reason that I did not post anything on the blog.

I got a M4 Macbook pro at work. I'm returning to the Apple desktop after a year. Every time you set up a new machine, it is always a good time to review your workflows to reevaluate the setup. Let's get to the final setup, but before that I need to rant about Microsoft first.

Disclaimer: This is my personal blog. Even if I gain experience and insights from my job and share them here, All the opinions are still completely mine and doesn’t reflect the view of my employer. They are not affiliated or responsible for anything you read on this blog.

Windows sucks, Remote Desktop sucks twice

I had to use Windows laptop as my main driver at work. I was a mild windows hater until windows 11. Now I hate it to the core and I'm not alone. To make matters worse, this was my first time of using a company-managed laptop in a restricted enterprise setup. All my previous jobs were at firms where I reinstalled OS multiple times by myself. I even tried out different Linux distros on a work laptop and settled with the one I like.

If that doesn't feel bad enough, I had to use Windows CloudPC through Remote desktop for accessing the client environment. It had a lot of connectivity and audio issues. The friction of opening and logging in to two Windows machines everyday and after every break is very high.

On top of this, The project I'm working on is a Ruby on Rails app, which requires linux environment. So I installed WSL inside the cloud windows PC and used that as the main dev machine. So it is three layers of virtualisation before your keypress appears on screen.

WSL is amazing except, for the part when it suddenly got corrupted and I had to redo all the setup again. VSCode and WSL worked great together. But the constant need of internet connectivity was a problem. The multiple levels of virtualisation means things can go wrong at any layer, and I had to spend time trying to fix that instead of working.

As a developer, I need a low friction machine to focus well. If the machine constantly disconnects or gets in the way, it is useless. When Microsoft wised up and released VSCode, Terminal, Powertoys and WSL, I thought they are on a redemption arc. But their decisions around AI, the general user experience of Windows 11, and mandating a Microsoft account to even login in to Windows made it clear: they are not changing anything, just getting worse.

why not Linux?

Linux desktop is much better, except when you have to fight with bluetooth audio issues, device drivers, display server protocols and broken updates and PPAs. I used Ubuntu for a long time, Linux Mint and Cinnamon for sometime. I love the flexibility and absolute control we have over the machine but it is time consuming fight these minor annoyances, especially when you have a looming deadline. To be fair, it is almost 5-6 years since I used Linux on the desktop. I heard there are some great new players and things could be better now.

But Linux was not even an option in my current situation due to work restrictions. Some other time linux.

So Mac it is

Due to the number of issues we had with the cloud PCs, the upper management decided to move to an actual laptop to everyone. We had a choice between Windows laptop and M4 macbooks. I'm a big advocate for Macbooks and MacOS ever since I got an M1 MBP at work before. They are beautiful, fast and no-nonsense machines that just work. Lots of Apple design choices are opinionated, and it is good when something is made well.

The quality of software we get for Windows/Linux often feels compared to MacOS. I don't know if it is the app store review process or the chance to earn more money from Mac users, the software there feels better. I don't know how to explain it, but it generally works better than windows/linux. The battery backup and the silent nature of the Apple silicon machines is something that no one can deny.

I know there are people who don't agree about macOS. But I have had great experience with Macbooks than any other machines and our team decided to choose the same.

Setting up the mac

once I got the new machine, I began the process of setting it up from backup and my memory. I did have a dotfiles repo but it wasn't set up properly in my last work machine. I never noticed that the dotfiles weren't syncing to the repo until now. I lost around 2 years of configuration at my last work laptop, with no way to know. All I had was a basic setup with Zsh/Prezto in the backup, but that isn't complete. Also, I forgot a lot of stuff because I was spending time on Windows in the past year.

Naturally, it became a chance to evaluate the apps/tools I need and start fresh. Here are the things I use as of now: I will try and write about some of these tools and configurations as separate blog posts

IDE
  • Zed
    Starting with Zed as one of my IDEs. I couldn't try it before due to Windows unavailability. But they launched Windows version on the same day I switched to the mac, well done Zed.

  • VSCode
    I never was a fan of VSCode, I'm a hardcore Jetbrains guy. But I was using it for the past year and it is ok. Still, it never matches Jetbrains level of sophistication. Not using it anymore as I am getting used to Zed.

  • Cursor
    This is my main driver now unless I want to write code manually like a primitive human without AI assistance. I still do write code manually and continue trying to do it. But the world moves fast with AI tools and familiarity is necessary and Cursor is damn good.

Browser
  • Google chrome - For all work related websites and stuff

  • Firefox - Personal use

  • Arc Browser - This used to be my default. What a fall, stopped using Arc as the company abandoned it and Atlassian acquired the browser company now.

Others
  • GNU Stow - I learned the lesson and installed GNU stow to manage dotfiles now. I considered Chezmoi, but it felt too complex for my needs. Stow works great so far.

  • Apple Music - Using it for over 3 years, again no-nonsense, no-podcast, no-intrusive AI/UI music player with HD audio on base package, they also pay the artists better than Spotify.

  • Readwise Reader - One stop for all my short form reading

  • Obsidian - For notes, Todos and archival

  • Raycast - Back to Raycast, this is something I missed so much on Windows

  • Monitorcontrol - Because Apple doesn't let your external monitor work the way you want

  • Aerospace - The best tiling window manager ever, period. This definitely demands its own blog post. I haven't used this before and found this recently

  • Wezterm - I found this terminal accidentally while I was looking for the difference between iTerm2 and Alacrity. The configuration through Lua is very easy and the API/docs is amazing. I'm in love with this one now.

The M4 Macbook is awesome. I don't have any complaint with it so far. Apart from having minimal data protection, the work laptop isn't restricted much. I'm a tinkerer and restricted machine gives me headaches. Working with IT support on a problem I know I can fix it by tinkering. But IT support won't try anything out of their SOP, so it feels great to have better control over the machine.

I will try and convert these into an uses page, if you have any app recommendation or want to discuss about one of the apps I use, feel free to send an email.