My Linux ๐Ÿง Setup

February 23, 2021 ยท View on GitHub

My personal Linux configuration and setup

Hardware

Laptop ๐Ÿ’ปDesktop ๐Ÿ–ฅ๏ธ
CPUIntel i7-10875H @ 5.100GHzIntel(R) i7 7700
Memory32 GB DDR416 GB DDR4
StorageSamsung Evo SSD 1TB x2500 GB SSD
GPUNVIDIA GeForce RTX 2060AMD Raedon RX 550

Operating System

Download

PopOS! Home

Installation

During PopOS! installation, choose advanced method and click in 'Modify partitions'. This will open GParted, I configured the partitions this way:

Pop PartitionNameLabelFormatSize
/bootEFIbootFAT322 GB (I mess a lot with kernels ๐Ÿ˜) ~ 700 MB is recommended
swapN/Aswaplinux-swap2 x Memory size (64GB for ๐Ÿ’ป & 32 GB for ๐Ÿ–ฅ๏ธ)
/rootPopOSEXT4Rest of the disk space
/mnt/DATA (not used in installation)DATADATANTFSThe whole second disk (if any)

Now close GParted and tell the installation wizzard to use those partitions clicking the colored blocks and selecting how is that partition going to be used.

Note: Always enable the format option for every partition unless you are not doing a clean installation (and you know what you are doing).

Terminal

  • Default shell: zsh
  • Terminal emulator: Tilix

ZSH

With Oh My ZSH! of course

Installation

$ sudo apt install zsh
$ chsh -s $(which zsh)

Plugin manager

Antigen โš™๏ธ

$ curl -L git.io/antigen > ~/antigen.zsh
$ mkdir -p ~/antigen && mv ~/antigen.zsh ~/antigen

Theme

Spaceship Prompt ๐Ÿš€โญ

Configuration file

Clone the ~/.zshrc file into your home directory.

Tilix

Installation

$ sudo apt install tilix

Set as default

Execute

$ sudo update-alternatives --config x-terminal-emulator

And choose the tilix option

$ sudo update-alternatives --config x-terminal-emulator
[sudo] password for user: 
There are 2 choices for the alternative x-terminal-emulator (providing /usr/bin/x-terminal-emulator).

  Selection    Path                             Priority   Status
------------------------------------------------------------
  0            /usr/bin/gnome-terminal.wrapper   40        auto mode
  1            /usr/bin/gnome-terminal.wrapper   40        manual mode
* 2            /usr/bin/tilix.wrapper            30        manual mode

Press <enter> to keep the current choice[*], or type selection number: 2

Font

Fira Mono Regular (Powerline pathced)

Note: A powerline patched font is required for spaceship theme special icons to work.

Background

Pokemon Terminal

Installation
$ sudo apt install python3-pip
$ pip3 install --user git+https://github.com/LazoCoder/Pokemon-Terminal.git
Usage
$ pokemon arceus
or
$ ichooseyou lucario

โš ๏ธ You need to increase the terminal transparency in the Tilix profile config in order to get the background image to be shown.

Aliases

Configuration file

Clone the ~/.zsh_aliases file into your home directory.

Apps & Utilities

Office suite

WPS Office ๐Ÿ“š (Best linux office suite!!!)

โš ๏ธ WPS may show you a warning because of some missing fonts. Here you can install them.

Screenshots

Flameshot ๐Ÿ”ฅ

Installation

$ sudo apt install flameshot

Setup

Open Settings app and go to Devices > Keyboard. The disable the default screenshot mapping to the Print key.

Then go to the bottom and create a new custom shortcut with the command flameshot gui and bind it to the Print key:

Add it and you are done! Every time you hit the Print key the flameshot gui tool will start.

Gnome Desktop

PopOS! uses gnome as default desktop environment, here are some useful tools to make the most out of it ๐Ÿ”ฅ

Gnome Tweaks

Gnome Tweaks lets you modify different settings like enabling the minimize and maximize buttons for app windows, changing themes, fonts and many other things...

$ sudo apt install gnome-tweaks

Gnome Extensions

Gnome Extensions can improve a lot your user experience with the gnome desktop environment. You can install them visiting this web site:

https://extensions.gnome.org

You need to install the gnome shell integration Chrome extension or Firefox Add-on to easily (un)install the extensions. Once installed, I suggest to activate the extensions synchronization option to save them in your account.

These are the most useful extensions I have tried:

  • Audio Output Swithcer: Switch audio output device from top menu
  • Caffeine: Toggle screen timeout on/off with just a click
  • Clipboard Indicator: Easily access your clipboard history
  • CPU Power Manager: Define and quickly change CPU performance profiles
  • Dash to Dock: Get a highly customizable dock for your apps!
  • Lock Keys: Know Capslock & Numslock status in the top bar
  • OpenWeather: Know your local weather from the top bar
  • Removable Drive Menu: View and eject removable drives as USB or externar disks devices
  • Tray Icons: Enable tray icons in the top bar. Hello again to slack, teamviewer and similar apps
  • User Themes: Enables the option to install and use custom themes in your desktop environment

Colors

Dark blue: #03357C #03375C

Bonus

Easy Docker installation

To easily install docker without messing with ppa repos or legacy docker versions, execute:

$ curl -o- https://get.docker.com | bash
$ sudo usermod -aG docker $USER

Easy NodeJS installation (NVM)

Note: NVM is automatically installed with the nvm zsh antigen plugin

NVM (Node Version Manager) is a command line tool that helps you easy manage multiple node versions in your system.

One of it's main benefits is you don't need to execute global npm commands with root permissions, this is due to it's user scoped node installation. To install NVM and start using it, execute:

$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.0/install.sh | bash
$ nvm install 10.16.3 # Install a node version
$ nvm use 10.16.3 # Use a node version
$ npm i -g npm # Execute global npm installation without root permissions