How I Setup My Laptop for Web Development: Things I do after installing Pop!_OS.
These are the tools and setup I used for my laptop for web development workflow and daily usage.
Contents
- Operating System: Pop!_OS 22.04 LTS
- Software Application
- Terminal / Shell
- Development Setup
- Changelog
Operating System: Pop!_OS 22.04 LTS
Download Pop!_OS here: https://pop.system76.com
Installation Checklist
-
Update and upgrade the system.
sudo apt update sudo apt upgrade sudo apt dist-upgrade
-
Update the firmware (if available).
-
Install proprietary media codecs and fonts.
These are the commonly used proprietary software such as codecs for playing media formats (MP3, AVC, etc.) and fonts (Arial, Times New Roman, etc.).
sudo apt install ubuntu-restricted-extras
-
Install and enable the firewall.
To install the GUI:
sudo apt install gufw
-
Install TLP for better power management.
TLP is a free, open-source, and feature-rich utility for optimizing battery consumption on laptops running Ubuntu and other Linux distributions.
sudo apt install tlp sudo tlp start sudo tlp-stat -s # view detailed system information and status of the TLP utility
-
Enable TRIM for SSD drives.
Enabling TRIM can help maintain the performance of SSD over time, extending its life.
sudo systemctl enable fstrim.timer
General Settings
-
Show battery percentage.
-
Set ALT+TAB behavior to switch windows, not applications.
Go to Keyboard Shortcut Settings. Search for ‘Switch windows’ and map ALT+ TAB to it (replacing the existing mapping for switching apps).
-
Set natural scrolling in mouse and touchpad scroll.
-
Display weekday in date and time (Alternatively, use the GNOME tweaks tool GUI).
gsettings set org.gnome.desktop.interface clock-show-weekday true
Software Application
Web Browser
-
Firefox - for personal.
-
Chrome - for work.
Browser Settings
-
Set DuckDuckGo as the default search engine.
-
Set
@g
as a Google search shortcut. -
Disable ask to save logins and passwords.
-
Enable HTTPS-Only in all windows.
Browser Extensions
-
uBlock Origin
-
Privacy Badger
-
DuckDuckGo Privacy Essentials
-
Facebook Container
-
OneTab
-
React Devtools
-
Apollo Client Devtools
-
Axe Accessibility
-
Grammarly
-
Bitwarden
-
Gnome Shell Integration (Alternatively, use GNOME Extensions Manager)
- Vitals: GNOME extension
Music and Media Player
-
VLC (via Pop!_Shop)
-
Spotify
Others
-
Flameshot
Powerful, yet simple to use open-source screenshot software. To add keyboard shortcut, use
flameshot gui
command. -
OBS Studio
Streaming and screen video recording software.
-
LibreOffice
Free and open-source office software suite (documents, spreadsheets, etc.).
-
Slack
Team communication software.
-
Zoom
Video communication and meetings.
-
Transmission
Fast, easy, and free torrent client.
-
Shotcut (via FlatHub)
Free and open-source video editor.
Terminal / Shell
Dotfiles: https://github.com/jromest/dotfiles
-
Update
git
and create a.gitconfig
config file.Version control system that tracks changes in files.
sudo apt install git nano .gitconfig
-
Install
zsh
.Zsh (Z Shell) is a powerful shell with advanced features and customization options, often used as an alternative to the more common Bash shell.
sudo apt install zsh
-
Set
zsh
as the default shell (you need to log out and log in to take effect).chsh -s $(which zsh)
-
Install
zinit
(zsh plugin manager) and create a.zshrc
config file.https://github.com/zdharma-continuum/zinit
nano .zshrc
-
-
Install
tmux
.Tmux is a terminal multiplexer that allows multiple terminal sessions to be accessed simultaneously in a single window.
sudo apt install tmux
-
Install
tpm
(TMUX plugin manager) and create a.tmux.conf
config file.https://github.com/tmux-plugins/tpm
nano .tmux.conf
-
-
Install
fzf
.Command-line fuzzy finder that allows for quick and efficient searching of files and directories.
-
Install
ripgrep
.Ripgrep (rg) is a line-oriented search tool that recursively searches the current directory for a regex pattern.
-
Install
bat
.A cat clone with syntax highlighting and git integration.
-
Install
diff-so-fancy
.Diff highlighting tool that makes diffs more human-readable and visually appealing.
-
Install
nnn
.A full-featured, tiny, nearly zero-config and incredibly fast terminal file manager.
-
Install
tldr
.Simplified and community-driven man page that provides practical examples of command usage.
Development Setup
-
Install NodeJS via
nvm
or Node Version Manager. -
Install
yarn
classic (via Debian package repository).https://classic.yarnpkg.com/lang/en/docs/install/#debian-stable
-
Install VS Code.
VS Code extensions:
- Night Owl (theme)
- ESLint
- Prettier
- Code Spell Checker
- Auto Rename Tag
- Pretty Typescript Errors
- Quick Lint JS
- Tailwind CSS IntelliSense
- Git Lens
- Docker
- GraphQL: Language Feature Support
- GraphQL: Syntax Highlighting (automatically downloaded by Language Feature Support)
- TODO Highlight
- Vim
-
Install Vim.
sudo apt install vim
-
Install
vim-plug
(vim plugin manager). -
Create a vim config and create a tmp directory.
vim .vimrc mkdir .vim/tmp
-
-
Install Docker.
https://docs.docker.com/engine/install/ubuntu
Note: Reboot if having permission error to run docker without sudo.
Changelog
- 2024-10-20:
- Replaced
zplug
withzinit
for zsh plugin manager. - Removed docker-compose V1 installation.
- Replaced