DEV Community

loading...
Cover image for Setting up my new Machine

Setting up my new Machine

laurieontech profile image Laurie Originally published at laurieontech.com ・3 min read

I started my new job this week, and that meant setting up a new machine. I have a set of tools that I'm comfortable with, so choosing what to download wasn't complicated.

What I did find interesting is the tools I "just had to have" and those I haven't yet configured yet. A lot of my choices are available on my uses page, but it also needs an update.

So with that, I'm going to talk through my must-haves this past week!

Terminal

Over the years, my terminal has become my programming control center. Who would have thought! When I first started doing development work, I was incredibly intimidated by the command line. I suppose building CLIs will rid you of that fear 🤷.

As it turns out, my terminal setup requires a lot of things. Oops!

  • iterm2: I find this a nicer option than the built-in apple terminal.
  • oh-my-zsh: All my machines use this and I've gotten comfortable with it rather than bash.
  • starship: This is a newer tool for me but I love the information-rich command prompts and the overall look.

Once the look and feel of my terminal was ready, I needed additional software.

  • homebrew: The essential package manager for macOS.
  • nvm: My JavaScript-loving heart can't live without it.

I also set up Xcode command line tools so I could get git working. But that was most of my first week essentials in terminal.

Apps

Now it was time to get my most-used applications. My machine came preloaded with Slack, so I didn't need to worry about that. But there were a handful of other things I wanted right away.

  • VS Code: My IDE of choice. I'll dive into this more in a moment.
  • Magnet: I actually didn't download this until day three and was wondering why my monitor was bugging me so much. Windows managers are so key!
  • Elgato Control Center: This is how I control my lighting setup and make my video chats higher quality.
  • Clockwise: I technically downloaded the chrome extension and integrated it with Slack, but close enough. Calendar tools are a first-week necessity.
  • Google Doc dark mode: Another chrome extension, but this one helps my eyes a ton when I'm trying to do a lot of deep focus reading.

That's a surprisingly low number of apps. I'm sure it'll grow in the coming weeks.

VS Code

Now we get to the really good stuff. I'm a developer after all! As it turns out, I didn't do much coding in this first week, but I did look at a lot of existing projects. So what were my go-to extensions?

  • ESLint
  • Prettier
  • Bracket Pair Colorizer
  • Indent Rainbow
  • JavaScript and Typescript
  • Peacock
  • Monokai theme

And that's the current list! It'll get longer, but you can already tell that it's focused on readability. I don't necessarily know what functional helpers I'll need yet.

Yay first week!

So that's my current computer setup. It's connected to all my existing hardware and you can read more about that on my uses page. Thus far, I've done a lot of reading, had plenty of onboarding chats about logistics, and started to get a handle on what my new role is. Excited for what's to come.

Discussion (38)

pic
Editor guide
Collapse
sylwiavargas profile image
Sylwia Vargas

Thank you for this blog post.
I was setting up mine two weeks ago and wished that I had written this down the last time. I am in the middle of writing a post on this as well! I think I still may publish it and link it to yours 💕

Collapse
laurieontech profile image
Laurie Author

Publish it and don't worry about linking to mine! It's yours after all :)

Collapse
sylwiavargas profile image
Sylwia Vargas

lol what I meant to say is that I want to link it because yours is great too! ✨ I always like to see "read more" section in other blogs.

Collapse
ambriel profile image
Ambriel Goshi

This is really great timing for me as I'm about to have my new Mac arrive. Thank you!

Collapse
andparsons profile image
Andy Parsons

Just had the opportunity to get a new setup last week myself!
Rig is the M1 MacBook Air
I daisy chain a couple of monitors at work, but use just the MacBook at home.
Keyboard & Mouse are the Logitech MX series, vastly prefer the mouse over the Magic Mouse, I’m a sucker for the per app key bindings.
I’ve got the same iTerm setup! I copied over my zsh config as-is, could really do with reviewing it. Open to other people sharing a gist or two!
I run PhpStorm for my IDE, even though I’m mostly writing in TypeScript these days.
I dockerize my local instances, and use traefik to host multiple container setups concurrently.
Happy to talk more if anyone’s interested.

Collapse
lepinekong profile image
lepinekong

Magnet ... "Download on the Mac App Store." I'm crying not for Windows :)

Collapse
laurieontech profile image
Laurie Author

Ya, I suspect windows has some window managers though?

Collapse
terabytetiger profile image
Tyler V. (he/him)

docs.microsoft.com/en-us/windows/p...

It looks like Magnet might have a bit more flexibility with shortcuts, but otherwise PowerToys should cover your needs :)

Thread Thread
lepinekong profile image
lepinekong • Edited

Ah yeah thanks forgot about this one : in the old days I don't remember that there was a window manager :)

Thread Thread
cblte profile image
cblte

Powertools Are nice but sometimes get in the way of other tools like free shot and Nvidia recording.
And they are slow. Especially the Alt+Space that we all love from MacOS.

The other tools are super nice. I heavily rely on the renamed and image resizer. The window manager is ok but not needed. I do have around. 20 windows all the time. No help here from window managers.

Collapse
yusufadel profile image
YusufAdel

Thank you for sharing such wonderful tools.💕
and consider adding a new tools provided by websites out there like this one i talked about >> search engine for code over million open source projects.
dev.to/yusufadel/search-engine-tha...

Collapse
valtism profile image
Dan Wood

Hey Laurie!

I see you're using nvm. It's a great tool, and I used to use it too, but when I went about trying to make my terminal startup time better I found that it was the cause of a lot of start up lag. I found a tool called fnm which does the same thing but is much quicker on startup. You might like to consider switching.

I also switched from oh-my-zsh to a custom setup using antibody which was another big speed up, but that requires a little more of a time investment (not too bad though!).

Collapse
iainfreestone profile image
Iain Freestone

I love getting a new machine but dread the setting up part it always takes a while to feel "just right" again.

Collapse
cubiclesocial profile image
cubiclesocial

I use portable apps for just about everything except for software that doesn't have a "portable" flavor available. Usually requires hunting for a ZIP/tar.gz file instead of a formal installer.

Portable apps let you "install" an isolated copy of software to a secondary drive. They were originally designed for use on USB thumbdrives, but I put them onto a SSD. The main OS goes on one SSD and my data and portable applications go onto a second SSD. All settings and application data travel with the second drive. Makes reinstalling the OS and switching machines much, much easier, safer, and faster. Doing things like setting the default web browser to point at a portable version can be a tad tricky and require manual intervention (e.g. editing the registry on Windows) because those sort of OS level features tend to make incorrect assumptions about software applications.

Before portable apps, reinstalling the OS took about 2 weeks to achieve normalcy. With portable apps, my last OS reinstall + a few select apps took about 1 day of lost productivity. Nothing goes on the OS drive except temporary data I won't mind losing, the OS (of course), and apps that just have to be installed (e.g. Visual Studio). Everything else goes on the second drive.

Portable apps are self-contained. That means no registry settings, no funky directory layouts, no shell extensions that slow the machine down, no monkeying with system PATHs, etc. My computer runs almost as fast as if it had no software installed on it because, from the OS' perspective, there isn't much of anything installed on it. You didn't hear this from me but [glances sideways] portable apps are also useful for bypassing corporate IT restrictions regarding installed software to use your favorite tools.

Once you use portable apps and understand how incredibly powerful the concept is, you'll be annoyed at any software company (mostly Microsoft) that only releases packaged installer versions of their software.

Collapse
cblte profile image
cblte

I do either choco install or brew install.
Have scripts for all of them. After installation of OS run. That’s it.
Portable apps are nice but not really needed. Who wants to keep his browser cache anyway. Hahah 😜

The thing with corporate is nice, but if you bypass security you might get fired. And if you are able to run software outside programs dir, you have not one of the smartest admins or security guys.
Group policies for the win!

Collapse
madza profile image
Madza

Is 2019 13" Macbook Pro good enough as the main station? Or do you connect it to external monitors and chose it due to portability?

Collapse
laurieontech profile image
Laurie Author

I have a single external monitor. I chose it for portability.

Collapse
koriroys profile image
Kori Roys • Edited

Seeing as you use Indent Rainbow...

Indent Rainbow using rainbow colors

Collapse
kaspermroz profile image
Kasper Mróz • Edited

Thank you for this blog post Laurie, now I have lots of new tools to play with!

Collapse
eduardonwa profile image
Eduardo Cookie Lifter

At least you weren't shifting to a Windows machine. Congratulations.

Collapse
benmatselby profile image
Ben Selby

Great post. I hadn't seen Peacock or Bracket Pair Colorizer before, these are fantastic. Thanks for sharing.

Collapse
juliang profile image
Julian Garamendy

+1 for Peacock

Collapse
andrewbaisden profile image
Andrew Baisden

Cool setup.

Collapse
gedalyakrycer profile image
Gedalya Krycer

Congratulations on your new job!

Collapse
cblte profile image
cblte • Edited

Hello,

Interesting list. I also recently discovered starfish. It is a nice prompt. Yes.

I also have some tips if you’reinterested.

You could automate all of the installation with Homebrew of brew.sh if you haven’t done. It’s an awesome tool to to do software installations in an automated way.

Beside that, slack is a memory behemoth and should be avoided. But guess your company uses it so I assume your stuck with that.

For vscode I would take the tracking free alternative vscodium. Same foundation but without the Microsoft tracking.

And instead of chrome. Also a memory and battery drainer, you maybe want to give Mozilla Firefox a chance.

Beside that: have fun and enjoy your new job!

Collapse
dmakogon profile image
David Makogon

Nothing says "have fun" like criticizing someone's choices. Slack is used planet-wide. People can't just choose not to use such a tool if their employer uses it. And as for VS Code? I can't imagine why you're throwing shade on someone's choice of editor.

Also, in case it wasn't obvious: @laurieontech is a professional software developer with a ton of experience, and works for Netflix - I really don't see the point of explaining how to choose a browser.

Collapse
cblte profile image
cblte

I didn’t mean to criticize here. It’s just my view of things. I have to work with a lot of software I don’t like but that’s the way it is sometimes.

I didn’t know she was working for Netflix. Thanks for mentioning that. But that does not change the fact that Google Chrome still is not very optimized for macOS and uses a ton of resources and energy while running. Other browsers are much better here. Imho

And as a software dev she might know maybe not. I don’t know everything.

Collapse
mombloggercomm2 profile image
Collapse
cubiclesocial profile image
cubiclesocial

Dual monitors are a must for any serious developer. File system(s), compilers, CLIs on the right monitor, web browser and editors on the left (not a hard and fast rule but that's what works best for me). Horizontal screen real-estate is always at a premium - vertical less so since we have scroll wheels on mice.

Then you probably won't need a window manager.

I prefer text editors that maximize screen real-estate (Crimson Editor, Notepad++, etc) and load instantly over bloated tools like VS Code that clutter the UI with a bunch of boxes/panels that shrink the coding area to the size of a postage stamp and the editor takes 15+ seconds to load. I usually have 5-10 open File Explorer windows on the right monitor pointed at various project directories that I can drag-and-drop files from onto the editor to open them. I don't need my text editors to try to do the same thing I get from built-in OS functionality.

Collapse
dmakogon profile image
David Makogon • Edited

@cubiclesocial - dual monitors are a must for someone who needs dual monitors and can afford both the space and the cost. Number of monitors doesn't define how serious a developer is. Imagine being space- or money-constrained, in a situation where a 2nd monitor won't fit the location or the budget. Imagine being stuck in a work-from-home situation where the at-home space is a small corner of a bedroom. Imagine enjoying working on only one monitor. One can still be quite serious with a single monitor.

As far as what you need from your text editor? Cool that you found an editor that works for you, just as @laurieontech found one that works for her. I see no need to throw shade on someone else's choices.

Collapse
jacobherrington profile image
Jacob Herrington (he/him)

It's interesting that you see VS Code slow or bloated.

As a Vim and emacs user, I don't find VS Code to be bloated or slow. It's not my preferred text editor, but it's very good.

Now, I don't like Visual Studio much, but that's a full-blown IDE. 😆

Collapse
bboyakers profile image
Austin Akers • Edited

Sometimes it's best to keep your silly statements to yourself buddy @cubiclesocial :)

Collapse
cblte profile image
cblte

Fully agree. I upgraded to two 32 plus laptop. That’s at least something I can work with. Really miss the three monitor Dev station at work. But in these days we need to work from
Home right.

Some comments have been hidden by the post's author - find out more