Skip to content
Phat Pham

Dotfiles

Productivity, Automation1 min read

Photo by Domenico Loia from Unsplash

Setting up your Dev Workspace in minutes not hours

I bet that every developers in around the world has at least once struggling with installing applications and configuring them when they had to reinstall the OS on the current machine or the new one. I've had that problem repeated many times over 10 years as a developer.

Everything around you should be stateless!

I learnt the stateless term when I was learning React.js. I heard it again when I started working with Microservices architecture. And then I thought that why not bring that mindset to the OS running on our devices. Storing the configuration (not the backup data) somewhere on the trusted cloud is better than a physical storage (USB, external hard disk, etc...). GitHub is the best place for it in my opinion.

Automation saves you time and time costs!

Think of an activity that takes you hours to make it done but only 15 minutes if you make it automated. That's a lot! Not only it will save your time, but also lesser mistake you will make and your mind will be worry-free.

But first you should have the manual approach!

I had done it manually for years. I had a list that contains everything one by one with the download links, installation and configuration guides (phatpham9/dev-env). It did help me a lot but I wanted something much better.

One has that problem, for sure another one has the same. Try to find the problem you have then you will find the solution from someone else. And here, dotfiles.github.io contains a lot of good things, I used it as a reference for doing mine.

Then automate them as much as you can!

And here is my dotfiles phatpham9/dotfiles. Which contains 3 steps:

  1. Install GUI/CLI applications. I used homebrew for managing most of them and the rest is from npm.
  2. Configure those applications. Creating symlinks instead of putting the original dotfiles to your $HOME dir is the best approach.
  3. Configure OS preferences (MacOS is my choice). Keeping the appearance & everything else the same as what you think it's the most comfortable makes you more productive.

That's it! Let's try and see :D

Built with ☕
Hosted on GitHub