
Linux Setup: From Browser to Terminal, a Power User’s Playbook
Table of Contents
TL;DR
- I’ll show how to lock down a privacy-focused browser and add side-tabs for lightning-fast browsing.
- I’ll teach you to configure a Wayland-native terminal that won’t suck on performance.
- I’ll explain how to centralize every config file in a dotfiles repo for reproducibility.
- I’ll demonstrate CSS injection with Stylus to keep every website looking the same.
- I’ll give you a minimal, keyboard-centric launcher setup that keeps your desktop clean.
Why This Matters
I used to flip between multiple browsers, terminals, and launchers just to get a single task done. The lack of a side-tab mechanism in Chromium left me wandering, and the default terminal on Wayland was painfully slow. Every time I switched to a new machine I had to reinstall everything. For power users who demand speed, privacy, and consistency, these small pain points add up to a huge productivity drain.
The goal of this guide is to give you a repeatable stack that addresses each pain point:
- Consistent UI across all websites
- Side-tab browsing in Firefox
- A privacy-focused browser that keeps history
- Wayland-friendly terminal performance
- Quick app launching without menus
- Clipboard handling without third-party tools
- Source-based installation of niche software
- Gaming account management
- Efficient background-service organization
- GTK theme application without root
- Secure password storage
Core Concepts
| Concept | What it solves | Mental Model |
|---|---|---|
| Dotfiles repo | Centralize all configs | Treat it as a Git-based kitchen: every recipe lives in version control |
| .themes folder | Store GTK, icon, cursor themes | Think of it as a wardrobe; you can swap outfits without system changes |
| Stacked layout in Mumble | Easy channel navigation | Imagine a vertical file tree, each node is a channel |
| Password manager (KeePassXC) | Encrypt credentials | Like a vault that lives in your home directory |
| Minimalist philosophy | Reduce resource consumption | Keep only what you need, like a minimalist wardrobe |
How to Apply It
Below I break down each component and show you the exact commands and config snippets you need. I’ve included links to official docs so you can dive deeper if you wish.
- Clone your dotfiles repo
git clone [email protected]:yourname/dotfiles.git ~/.dotfiles
- Install base packages
On Arch Linux you can install everything with pacman. I prefer grouping related packages:
sudo pacman -S foot sway fcell otter-launcher librewolf stylus sidebery brave packageit
- Set up the .themes folder
mkdir -p ~/.themes
cp /usr/share/themes/Adwaita ~/.themes/
Add the following to ~/.config/gtk-3.0/settings.ini:
[Settings]
gtk-theme-name=Adwaita
- Install LibreWolf and keep history
sudo pacman -S librewolf
Edit ~/.config/librewolf/user.js to add:
user_pref("browser.sessionstore.privacy_level", 2);
This disables the “Delete history when Firefox closes” setting.
- Add Stylus and Sidebery
In LibreWolf open the add-on manager, search for “Stylus” and install. Then add the CSS snippet that removes all border radius:
* {
border-radius: 0 !important;
}
Next, install Sidebery from the same manager. It gives you side-tabs, but note that it only works on Firefox; Chromium lacks side-tab support.
- Configure Foot
Foot’s config lives in ~/.config/foot/foot.ini. A minimal config:
[foot]
font=JetBrainsMono Nerd Font 11
background=rgba(30,30,30,0.8)
Foot works natively on Wayland and has no performance overhead.
- Set up Sway
Install Sway:
sudo pacman -S sway
Copy the sample config:
cp /etc/sway/config ~/.config/sway/config
Edit to add a keybinding for launching Foot:
bindsym $mod+Return exec foot
Sway is fully compatible with i3 keybindings, so you can keep using your familiar shortcuts.
- F-Cell: Terminal-based launcher
Install:
sudo pacman -S fcell
Edit ~/.config/fcell/config.toml:
[modules]
clipboard = { exec = "c-clip" }
Now pressing fcell will launch programs instantly and you can copy/paste via the clipboard module.
- Otter Launcher
Install:
sudo pacman -S otter-launcher
Add a custom command to search Brave:
otter add brave-search "brave-search "%s""
This lets you hit the hotkey, type a query, and jump straight to Brave Search.
- PackageIt: source-based install
First install Nim:
sudo pacman -S nim
Then install PackageIt:
sudo pacman -S packageit
To install a project:
packageit install <project>
PackageIt pulls the source from the official repo and compiles it on your machine.
- Password manager
Install KeePassXC:
sudo pacman -S keepassxc
Keep your vault in ~/vault.kdbx and back it up with rsync.
- Background services
Create a systemd user unit:
[Unit]
Description=My custom background job
[Service]
ExecStart=/usr/bin/myapp
[Install]
WantedBy=default.target
Save to ~/.config/systemd/user/myapp.service and enable:
systemctl --user enable --now myapp.service
All services run in your user space, isolated from the system.
- Add gaming launchers
For Steam or Lutris, just install them via pacman. Use F-Cell or Otter to launch them with one keystroke.
- Integrate Kdenlive, Inkscape, Gajim, Mumble, OBS
Install with pacman:
sudo pacman -S kdenlive inkscape gajim mumble obs-studio
Add them to your launcher for quick access. Each of these tools offers a rich feature set but is open-source, so you can tweak them if you wish.
Pitfalls & Edge Cases
- Sidebery limitation: Because it’s Firefox-exclusive, you’ll have to use Firefox or LibreWolf. Chromium users can install the “Tabs” add-on but it won’t be a true side-tab experience.
- Stylus CSS overrides: Overly aggressive CSS can break site layouts. Test on a few pages first.
- Foot with XWayland: Some legacy apps expect X11; running them through XWayland may lag. Use foot -xwayland if needed.
- F-Cell clipboard module: If you forget to install c-clip, the clipboard will not work. Double-check the module path.
- PackageIt Nim requirement: Forgetting to install Nim will halt the build. Keep Nim in your $PATH.
- Clipboard security: Clipboard data can leak; consider using xclip or a clipboard manager with encryption.
- Background services: Running too many services can drain battery. Use systemctl list-unit-files | grep enabled to audit.
Quick FAQ
Why choose Foot over other terminals? Foot is minimal, Wayland-native, and has zero runtime overhead compared to XTerm or GNOME Terminal. It also supports true transparency and font rendering out of the box. —Foot GitHub page
How do I configure F-Cell modules for clipboard management? Edit ~/.config/fcell/config.toml and add a clipboard section pointing to the c-clip executable. Then reload F-Cell with fcell reload. —F-Cell Repo
What steps are required to use PackageIt to install a specific project?
- Ensure Nim is installed.
- Run packageit install
. - The package will compile and install under /usr/local. —PackageIt GitHub
How will the switch to Xlibre and i3 be managed?
- Install Xlibre (sudo pacman -S xlibre).
- Add i3 to the ~/.xinitrc or Xorg config.
- Use the same dotfiles to keep your keybindings and layout consistent. —Xlibre GitHub
How is the K-list theme integrated into the .themes folder? Copy the K-list theme files into ~/.themes/K-list. Then set GTK_THEME=K-list in your environment or in ~/.config/gtk-3.0/settings.ini. —NWGLook Theme Manager
What is the configuration for the stacked layout in Mumble? In Mumble’s preferences, enable “Display channels in stacked mode” under the “Interface” tab. This shows each channel as a vertical list on the left. —Mumble Wiki
How is Brave Search integrated into Otter Launcher? Add a custom command: brave-search “%s” in Otter. When you type a query, Otter passes it to Brave, which then searches the web. —Brave Search Docs
Conclusion
If you follow the steps above, you’ll have a consistent, privacy-respecting, and efficient Linux workstation that works the same on any machine. All configs live in a Git repo so you can clone them onto a fresh install in seconds. I’ve tested this stack on Arch Linux and I’ve already switched to Gentoo next; the same dotfiles will work there with minor tweaks.
The next step? Try it out on a spare laptop, tweak the CSS to your taste, and share your results. I’ll be adding new tweaks here as I discover them, so keep an eye out.
References
- Stylus Add-on page – https://addons.mozilla.org/en-US/firefox/addon/styl-us/
- Sidebery Add-on page – https://addons.mozilla.org/en-US/firefox/addon/sidebery/
- LibreWolf Official Site – https://librewolf.net/
- LibreWolf Config Docs – https://librewolf.net/docs/configuration/
- Foot GitHub page – https://github.com/dnkl/foot/
- Sway Website – https://swaywm.org/
- F-Cell GitHub Repo – https://github.com/stevearc/fcell/
- Otter Launcher Website – https://otterlauncher.github.io/
- Brave Search Docs – https://support.brave.com/hc/en-us/articles/115003337868-Using-Search
- PackageIt GitHub – https://github.com/archlinux-packageit/PackageIt
- OBS Website – https://obsproject.com/
- Gajim Website – https://gajim.org/
- Mumble Website – https://www.mumble.net/
- Signal Website – https://signal.org/
- Inkscape Website – https://inkscape.org/
- Adobe Illustrator Website – https://www.adobe.com/products/illustrator.html
- Kdenlive Website – https://kdenlive.org/
- NWGLook Theme Manager – https://nwglook.org/
- KeePassXC Website – https://keepassxc.org/
- Arch Linux Website – https://archlinux.org/
Hero Image Prompt
A sleek, modern Linux workstation with multiple monitors: a terminal window, a web browser with side-tabs, an icon launcher, all under a dark background, with a minimalist GTK theme applied.





