Building My Personal Arch Linux With KDE Plasma Setup from Scratch š ļø
š On this page
- First Things First: Update Your System
- Essential Packages: Git and Development Tools
- Installing Essential Utilities
- Enable and Configure the Firewall
- Installing Yay: The AUR Helper
- Enabling Bluetooth: The Missing Link
- Setting Up ICC Profiles: Fixing Screen Gamma Issues
- Customizing My Plasma Desktop: Making It Truly Mine
- Accessing My Dotfiles: Wallpapers and Configurations
- The Tools of My Trade: Essential Software and Tools
After a successful Arch Linux installation and the first reboot, itās time to start setting things up! Hereās how I began transforming my fresh Arch installation into a functional and personalized environment.
#First Things First: Update Your System
Right after booting into my new Arch Linux system, I made sure everything was up to date. Itās a simple yet crucial step:
sudo pacman -Syyu
This command updates the package database and upgrades all installed packages to the latest version.
#Essential Packages: Git and Development Tools
Next, I needed some essential tools to get started. I installed git
for version control and base-devel
, which includes essential development tools:
sudo pacman -S --needed git base-devel
With git
installed, I configured my name and email for version control:
git config --global user.name "Mohammed"
git config --global user.email "hello@example.com"
#Installing Essential Utilities
To enhance the functionality of my system and prepare it for daily use, I installed some essential utilities. These tools cover power management, file viewing, and compatibility with various file systems. Hereās the command to install them:
sudo pacman -S power-profiles-daemon ntfs-3g exfatprogs linux-headers
#What Do These Packages Do?
- Power Profiles Daemon: A utility to manage power profiles for better energy efficiency or performance.
- NTFS-3G: A driver for full read and write support for NTFS file systems, commonly used in Windows.
- exfatprogs: Utilities for handling exFAT file systems, often used in USB drives and SD cards.
- Linux Headers: Required for building kernel modules, such as drivers for specific hardware.
With these tools, my system is equipped to handle a wide range of tasks, from multimedia playback to file compatibility and power optimization.
#Enable and Configure the Firewall
Securing a system with a properly configured firewall is a critical step in maintaining its safety. This guide explains how to set up UFW (Uncomplicated Firewall) on Arch Linux efficiently.
#Install and Enable UFW
-
Install UFW using pacman:
sudo pacman -S ufw
-
Enable and start UFW to ensure it activates on boot:
sudo systemctl enable ufw.service sudo systemctl start ufw.service
#Recommended Firewall Rules
Apply the following rules to balance security and functionality:
sudo ufw limit 22/tcp # Limit SSH attempts to prevent brute force
sudo ufw allow 80/tcp # Allow HTTP traffic
sudo ufw allow 443/tcp # Allow HTTPS traffic
sudo ufw default deny incoming # Block all incoming traffic by default
sudo ufw default allow outgoing # Allow all outgoing traffic
sudo ufw enable # Enable the firewall
To check the status and rules:
sudo ufw status
#Installing Yay: The AUR Helper
To easily manage and install AUR (Arch User Repository) packages, I decided to install yay
, a handy AUR helper. But before jumping into that, I created a special directory for all my development toolsāmy secret stash, if you will.
First, I set up a "Developer"
directory. Why? Well, itās a great habit to keep all your personal building tools and projects organized. I also use this directory to store other development environments like Golang, Flutter, and more. Think of it as your projectās headquartersākeeping everything tidy and in one place makes life so much easier.
Hereās how I did it:
mkdir Developer
cd Developer
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
And just like that, yay was installed. I checked the installation with:
yay --version
For more about yay, check out its GitHub page.
#Enabling Bluetooth: The Missing Link
Sometimes, after installing Arch Linux, you might notice that the Bluetooth option is mysteriously missing. But donāt worryāitās a quick fix!
Just run these commands to enable and start Bluetooth:
sudo systemctl enable bluetooth
sudo systemctl start bluetooth
And thatās it, baby, thatās it! š
Note: If this doesnāt work, there might be a problem with your Bluetooth configuration or you may not have installed the driver. Google it and find a solution, brother. Youāve got this!
#Setting Up ICC Profiles: Fixing Screen Gamma Issues
Sometimes, after installing Arch Linuxāor even other Linux distributionsāyou might notice that your screenās gamma is off, causing colors to look incorrect or washed out. This isnāt necessarily an Arch Linux-specific problem; it can happen on other distros as well. It could be due to driver issues or BIOS settings, but a common solution is to use ICC profiles to correct the gamma.
I faced this issue on my system and, after some research, discovered that ICC profiles could help. I donāt know much more about the technical details, but applying an ICC profile improved the color accuracy on my screen.
Hereās what I did:
-
Download ICC Profiles: I found a set of ICC profiles that work well for my setup. You can download them from my GitHub repository: ICC Profiles.
-
Apply the ICC Profile: Follow the instructions for your desktop environment to apply the ICC profile. Usually, this involves using a color management tool to load and set the profile.
And thatās it! The colors on my screen look great now, and Iām much happier with the display quality.
Note: If youāre experiencing similar issues, give ICC profiles a try. They can often resolve color and gamma problems. If you donāt have such issues, you can skip this section.
Now, letās move on to customizing our Plasma desktop to make it truly ours!
#Customizing My Plasma Desktop: Making It Truly Mine
Now that weāve got the basics down, letās make our Arch Linux setup uniquely ours with some cool Plasma customizations. Hereās how I turned my desktop into a sleek workspace:
#1. Customizing the Plasma Panels
My desktop looks like:
1. Install Plasma Widgets:
2. Add the Applet Configuration File
Download my applet configuration file from My GitHub - appletarc and place it inside your .config
directory.
This file configures the panels to look just like mine. Cool, right?
#2. Removing Title Bars with KWin Rules
Iām not a fan of title bars cluttering my view, so I removed them using KWin rules. Hereās how you can do it too:
1. Download My KWin Rules: Get the KWin rules file from my GitHub: buraq-kwin-rules.kwinrule
2. Add the KWin Rule:
Go to Settings > Window Management > Window Rules
.
Click Import
and select the downloaded .kwinrule
file.
#3. Icon Pack Customization
To give my desktop a cohesive and stylish look, Iām using the GruvBox Icon Theme. It adds a unique touch to the icons on my system.
Hereās how my desktop looks with this icon pack:
#4. Customizing the Terminal
My terminal setup is another area Iāve customized to fit my style. For details on how Iāve tailored my terminal with Oh My Zsh and more, check out my previous blog post Customizing the Terminal with Oh My Zsh.
Hereās a glimpse of how my terminal looks:
With these customizations, my Arch Linux setup is truly unique and reflects my personal style. I hope you found these tips helpful!
Feel free to tweak and adjust these settings to match your preferences. Enjoy your newly customized Plasma desktop!
#Accessing My Dotfiles: Wallpapers and Configurations
If you want to replicate my setup, including the wallpapers and other custom configurations, you can download them from my GitHub repository:
This repository contains everything you need to make your Arch Linux setup look just like mine. Feel free to explore and use the files to personalize your own system!
#The Tools of My Trade: Essential Software and Tools
Now that youāve seen how Iāve customized my Arch Linux setup, you might be wondering what software and tools I rely on for my daily work. Hereās a peek into my toolkit:
#Essential Software
- VSCodium: My go-to code editor for a clean and customizable coding experience.
- Firefox: My preferred browser for its privacy features and extensive add-ons.
- Chromium: The open-source browser that powers Google Chrome.
- Inkscape: A powerful vector graphics editor for all my design needs.
- Spectacle: The tool for taking screenshots in my desktop environment.
- Gwenview: My image viewer for quickly browsing through photos.
- VLC: A versatile media player that handles almost any file format.
- Android Studio: The IDE I use for Android app development.
#Development Tools
For development, I use the following tools and languages:
- nvm (Node Version Manager): For managing multiple Node.js versions effortlessly.
- Node.js: The JavaScript runtime I use for server-side scripting.
- Yarn: A fast and reliable package manager for managing dependencies.
- Java: Essential for Java-based projects and applications.
- Rust: A systems programming language thatās fast and memory-efficient.
- Golang: Used for building scalable and high-performance applications.
- MongoDB: A NoSQL database for managing flexible and scalable data.
- MySQL: A robust relational database management system.
- Redis: An in-memory data structure store used as a database, cache, and message broker.
These tools and software are integral to my workflow, making my Arch Linux setup not only functional but also tailored to my needs. If you have any questions about these tools or need recommendations, feel free to reach out!
And thatās a wrap on my personal Arch Linux setup from scratch! I hope you found this guide helpful and inspiring. Happy customizing! š