How I Set Up My Ultimate Dev Environment: Arch Linux + Neovim + Hyprland
Hi, I'm Sliman — a Computer Science master's student specializing in
Networking & Security, based in Algeria. I spend most of my time
writing Python, C, JavaScript, and Bash, working on projects ranging
from cryptography tools to machine learning models and CTF challenges.
Today I want to share the dev environment I've built and fine-tuned
over time — one that makes me genuinely fast and comfortable as a developer.
Why I Chose Arch Linux
Most people start with Ubuntu. I did too. But at some point you want
full control — over your kernel, your packages, what runs at startup,
all of it. Arch Linux gives you exactly that.
It's a rolling release distro, meaning you always have the latest packages.
The AUR (Arch User Repository) has virtually
everything you'll ever need. And the
Arch Wiki is hands-down the best Linux
documentation on the internet.
Yes, the installation takes time. But you learn exactly how Linux works
in the process — disk partitioning, bootloaders, networking, all of it.
Hyprland: The Tiling Compositor That Changed Everything
I use Hyprland as my Wayland compositor. No traditional desktop
environment, no taskbar clutter. Just a keyboard-driven, animated,
buttery-smooth tiling experience running natively on Wayland.
Hyprland is what happens when you take the productivity of a tiling
window manager and add smooth animations, per-window opacity, blur
effects, and gestures — without sacrificing speed.
Here's what my typical workspace layout looks like:
-
Workspace 1— Terminal (Kitty or Alacritty) -
Workspace 2— Browser (Firefox) -
Workspace 3— Files / Notes -
Workspace 4— Background tasks / Docker
Key features I love:
- Dynamic tiling — windows tile automatically, no manual layout switching
- Waybar — fully customizable status bar with CSS styling
- Hyprlock — beautiful screen locker
- Hypridle — smart idle management
- Native Wayland — better performance and security than X11
Once you go tiling, you never go back. Your hands almost never leave
the keyboard, and switching between a terminal, browser, and editor
becomes instant.
Neovim + LazyVim: My Editor Setup
I use Neovim with the LazyVim distribution as my main editor.
Key plugins I rely on daily:
-
nvim-treesitter— beautiful syntax highlighting for every language -
telescope.nvim— fuzzy finder for files, grep, and git history -
nvim-lspconfig— LSP support for Python, JavaScript, C, Lua -
none-ls— formatting and linting -
harpoon— quick navigation between frequently used files -
lazygitintegration — full Git workflow without leaving Neovim
The learning curve is real, but after a few weeks of muscle memory,
editing code feels like playing an instrument — fluid and expressive.
Terminal & Shell Setup
- Kitty — GPU-accelerated terminal, Wayland-native
- Zsh + Oh My Zsh — better shell experience with plugins
- tmux — terminal multiplexer for managing multiple sessions
- starship — minimal and fast shell prompt
For daily tasks I live inside the terminal:
# Quick project navigation
alias proj="cd ~/projects"
# Git shortcuts
alias gs="git status"
alias gp="git push"
alias gl="git log --oneline --graph"
Tools I Use Daily
| Tool | Purpose |
|---|---|
fzf |
Fuzzy search files and history |
ripgrep |
Fast code search (better than grep) |
bat |
cat with syntax highlighting |
exa |
Modern ls replacement |
htop |
Process monitoring |
| Docker | Containers for all my dev environments |
Final Thoughts
This setup isn't for everyone. It takes time to configure and there's
a learning curve. But if you're someone who values speed, minimalism,
and full control over your environment — this stack is worth every
hour invested.
I'm planning to write more about:
- My Python and Node.js project workflows
- CTF challenge write-ups (cryptography & networking)
- Machine learning projects built from scratch
Follow along if that sounds interesting to you. 🚀
What's your current dev setup? Drop it in the comments — I'm always
curious how other developers work.
Top comments (0)