Since I recently configured my laptop to dual boot into Ubuntu 20.04, I wanted to share my experience and what I think you can do to make your use of this system as pleasant as possible.

I'm very impressed by how stable this system is and how customizable it is & quite frankly I think it makes an awesome dev environment.

This article assumes that you already configured your system to run Linux (Ubuntu 20.04) - and describes what customizations I did that I think are cool. If you haven't installed Ubuntu 20.04 yet, a simple google search will get you all info needed on how to create a bootable USB with Ubuntu, how to shrink your current Windows partition & finally configure BIOS to boot & install Linux.

Also, please note that this article is just scratching the surface of the configuration options of Ubuntu.

MacOS BigSur theme

Since I've used an M1 Mac with BigSur for a while I got very used to the "BigSur theme" and the good thing is you can replicate this on Ubuntu.

Here's how:

  1. Add the universe apt repo:

sudo apt-add-repository universe

  1. Install gnome tweeks: sudo apt install gnome-tweak-tool

  2. Install gnome shell extensions: sudo apt install gnome-shell-extensions

  3. Download the WhiteSur Gtk Theme from here. I downloaded both the simple dark & light ones.

  4. In your home folder create a .themes folder if it doesn't exist and unzip the downloaded folders there.

  5. Download and unzip the WhiteSur icon theme from here and put it in your home directory in a .icons folder

  6. Once you do this you open Tweaks app and configure the themes and icons: tweaks app customizations

Note you can also install & configure MacOS fonts, but I like the Ubuntu ones so I kept those.

One additional thing I did was install a BigSur wallpaper image, that you can easily find on google, and now the apps you open on your new Ubuntu installation will look like this, and I personally think it's pretty nice:

tweaked ubuntu

Configure Dash to dock

One more thing I consider it's nice to do is to configure Dash to dock - this can give you also a dock experience similar to macOS.

To do this:

  1. Go to Gnome Extensions and install dash to dock
  2. Go to the Tweaks app again in the Extensions section - Dash to dock should be enabled or enable it if it's not - and disable Ubuntu dock .
  3. You should see the Dash to dock now - right-click on the 9 little dots icon - and click on Dash to dock settings . From here you can configure the position on screen - Bottom, the sizes of the icons (for me it's 32px), and in the Appearance tab - the Opacity and other small things. dash to dock config

You should probably log out & log in again to make sure the settings are applied.

The steps above are courtesy of this video, but using the WhiteSur theme, and with simplified steps.

Install Albert

Albert is a spotlight-like search tool (launcher) for Linux. Even though Ubuntu already comes with a pretty nice search functionality out of the box - pressing the Super/Windows key, I still like using Albert more.

You can read more about it and how to install it from here.

After you install it, make sure to go to Startup Applications app and configure it to run on startup. The command to launch it should be /usr/bin/albert . You can start Albert, and from the Settings screen configure your desired hotkey to open it and the Theme (I choose Spotlight Dark).

Install Tilix terminal

I like Tilix better than the default terminal, I like how customizable it is, and the split panel feature. I configure it so ctrl+t adds a new split terminal and ctrl+w closes a panel. You can install Tilix from the Ubuntu Software app. image

I also installed fish shell and use it as the default shell. I think fish is a much nicer shell, especially for the autosuggestions. You can check it out here.

Brave browser

Brave is my default browser for a few months. It's exactly like Google Chrome (Chromium-based), so you can use all extensions & features you have on Chrome, but unlike Chrome - it's not a tracking machine.

It supports ad-blocking and tracker-blocking out of the box.

You can set it to use DuckDuckGo as the default search engine, and probably have a much better web surfing experience since you don't see all those ads and trackers don't make the websites you visit slow.

You can add Brave from the Ubuntu Software app.

Dev & productivity tools

I won't insist too much on this aspect, as it's pretty obvious that the best tools for development work great on this distro, and are pretty easy to install. I use:

  • VSCode
  • Notepad++
  • Docker
  • Postman
  • Homebrew
  • Nodejs, yarn, etc.

From my previous experience of trying out the M1 Mac, and trying all sorts of workarounds for simple stuff, I can say everything has been a breeze on Linux. 😊

I also like using Spotify that works great here & Notion for note-taking & personal task management.

I use Melde as a 3-way merge tool for git - that is also pretty easy to configure - see below:

If I do a cd ~ && cat .gitconfig

  • will only copy here the merge tool config:
[merge]
    tool = meld
[mergetool "meld"]
    cmd = meld "$LOCAL" "$MERGED" "$REMOTE" --output "$MERGED"
"$MERGED"
    keepBackup = false

Then when you have a git conflict, you can use: git mergetool to fix it.

Make it faster

Linux systems are extremely memory-efficient, I sometimes look at the OS especially without having many things running and I marvel at how little memory it uses compared to Windows or macOS. But some application startup times are not the best, but for this, you can use preload , at the cost of some additional RAM.

To improve startup times for different applications:

sudo apt install preload

Conclusions

Consider trying Ubuntu or some other Linux distro if you are a developer. You will not regret it!

You might even see that your 3y old laptop/mac doesn't need an upgrade, just because of how memory efficient & well-optimized Linux is.

Thanks for reading, if you enjoy this article chances are you will also like what I post on Twitter.

This post is also available on DEV.