Salam and good day everyone! Whew, after a 2-month hiatus, I start again with different thing from coding, and this time it is about me from depending a lot on WSL2 on Windows 10, to a full Linux experience using Pop!_OS 20.04, a debian-based Linux distro.
Previous Workflow - WSL2
Most of us are extremely familiar with Windows, and currently at Windows 11 with a lot of features. Though, my machine cannot upgrade from Windows 10 for incompatibility (yeah, I know there is workaround).
As most of you knew, my works are mostly revolves around Javascript and NodeJS, and a bit touch of other things. However, there are tools that I have been used to this day that requires Linux, especially Docker, to experience most of the full capability. And so, I have been using WSL2 for 2 years now. Setting my developer experience around WSL2 has been a journey as well, including setting up terminals, VSCode and others.
As you might think, why didn't I just move to Linux distro fully earlier? Well, there are several reasons that didn't convince me that much:
- I rely really much on Microsoft services, such as Office 365.
- There are softwares which I used that requires a non-Linux environment.
- My gaming-ass is really not sure whether Linux can really handle game really much, though I know that ProtonDB can do that much.
- And of course, not mentally ready π
Then, what makes me to move now?
- Windows 10 really demands a lot of my graphic capability (well, so many unnecessary services).
- I have make myself less dependent to Window-related services and softwares (since now design works can be done online).
- Peer pressure. Yes, peer pressure!
Time to move out
And so, this week, I decided to move to a friendly distro, Pop!_OS 20.04, since I used Ubuntu 20.04 on top of my WSL2 previously. Well, I know most of the CLI already, so I expect a smooth transition from WSL2 to Pop!_OS. And so, here is what I did.
1) Download Pop!_OS image from Pop!_OS by System76. I choose the image with the NVIDIA drivers.
1.1) Optionally, you can verify the image by running CertUtil.
// For Intel/AMD
CertUtil -hashfile Downloads\pop-os_21.04_amd64_intel_7.iso sha256
// For NVIDIA
CertUtil -hashfile Downloads\pop-os_21.04_amd64_nvidia_7.iso sha256
2) To set up bootable USB, I used balenaEtcher, which can be downloaded from balena website.
3) Just open balenaEtcher, choose the image, and choose your bootable drive to be used later.
...and there, you have a bootable drive with Pop!_OS ready for you!
And from Windows 10, you need to check out several things:
1) You have to turn of Secure Boot so Linux can access the kernel. To do that, you have to go to bios menu.
Click Windows, and find "Advanced Startup" or find it on Settings > Update & Security > Recovery. Then, click "Restart Now"
2) After your laptop restarts and Advanced Options appears, choose Troubleshoot > Advanced Options > UEFI Firmware Settings. Later, you will be brought to the bios menu.
3) Go to Security tab, and you will find the option for Secure Boot. Go ahead and disable it.
4) Save changes and restart. Don't forget to make sure that your bootable device is being boot and not your Windows 10.
...and that's it!
Let say, you still have doubts, just install the demo version. But why demo, when you can go all the way?
The First Light of Pop!_OS
Well, my first experience is quite good, where I experience way less disturbance and way better graphic performance. The great plus to the beauty of Pop!_OS, I really enjoy the experience!
β Atif al-SerembaniοΌγγγγ) (@alserembani) January 27, 2022
Time for Productivity
And so, I have to set up my workspace, of course! The tools that I need:
- VSCode
- Steam (with Dota π, apology for my gamer side)
- Discord
- Equaliser (yeah, I am audiophile)
- Customise my terminal - PowerLevel10K
1. VSCode
You can head to Pop!_Shop, and find VSCode, and make sure you use Pop!_Shop version and not flakpak, since it is buggy.
Since I have my VSCode Sync on, I got all my goodness from my previous configurations, including font ligatures etc.
2. Steam
You can head to Pop!_Shop, and find Steam. And of course, Pop!_Shop version as well! But beware, that only some of the games compatible with Linux.
3. Discord
I love to communicate through Discord, especially when I want to build a community at my locals. Just head to Pop!_Shop, and you know the drill!
4. Equaliser
I love to listen to music while I code, and I love to customise my experience. So I choose PulseEffects.
5. Customising Terminal!
Well, this is the time, I kept seeing tutorial with beautiful terminal, so I want to experience one! So here is my step:
a) Install zsh
. Some of distro already has zsh
. If not, then you can just head to your terminal and install zsh.
sudo apt install zsh
b) Install Oh My Zsh.
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
If you can see the rainbow, that means you successfully install Oh My Zsh.
c) Add PowerLevel10K theme!
First, you need to clone the theme to be added to Oh My Zsh.
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
Then, you need to change the ~/.zshrc
that contains all configuration of your zsh
. Set ZSH_THEME="powerlevel10k/powerlevel10k"
d) Configure your PowerLevel10K theme.
For the first time, you can enter this in your terminal.
p10k configure
Then, you will be guided through the configuration to your taste. For further settings, you can edit ~/.p10k.zsh
later on.
e) Additionally, zsh
cannot detect my NVM, and so I added yet another plugin, which is called zsh-nvm
. First, clone zsh-nvm
git clone https://github.com/lukechilds/zsh-nvm ~/.oh-my-zsh/custom/plugins/zsh-nvm
Then, add the zsh-nvm
and also git
plugin to your ~/.zshrc
.
plugins=(
git
zsh-nvm
)
And here, is my result!
Cool, right?!
Future Possibility
Someone teases me that I will be distro hopping sooner or later and ended up using Arch. Well, who knows, right?
Moving forward, I will learn a lot more, and increases my productivity even further, especially learning Docker and Kubernetes (for serious this time π ). Pray for my future endeavours!
And thanks for the read. Adios and peace be upon ya'll!
Top comments (0)