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.
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.
- Add the universe apt repo:
sudo apt-add-repository universe
- Install gnome tweeks:
sudo apt install gnome-tweak-tool
- Install gnome shell extensions:
sudo apt install gnome-shell-extensions
- Download the WhiteSur Gtk Theme from here. I downloaded both the simple dark & light ones.
- In your home folder create a
.themesfolder if it doesn't exist and unzip the downloaded folders there.
- Download and unzip the WhiteSur icon theme from here and put it in your home directory in a
- Once you do this you open
Tweaksapp and configure the themes and icons:
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:
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:
- Go to Gnome Extensions and install dash to dock
- Go to the
Tweaksapp again in the Extensions section -
Dash to dockshould be enabled or enable it if it's not - and disable
- 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.
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.
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).
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.
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 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.
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:
- 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.
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
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.