<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Sliman</title>
    <description>The latest articles on DEV Community by Sliman (@touatsliman).</description>
    <link>https://dev.to/touatsliman</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3927065%2F79c18e8c-6600-48d8-83ec-17ffbd17d91a.jpeg</url>
      <title>DEV Community: Sliman</title>
      <link>https://dev.to/touatsliman</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/touatsliman"/>
    <language>en</language>
    <item>
      <title>How I Set Up My Ultimate Dev Environment: Arch Linux + Neovim + Hyprland</title>
      <dc:creator>Sliman</dc:creator>
      <pubDate>Tue, 12 May 2026 12:19:44 +0000</pubDate>
      <link>https://dev.to/touatsliman/how-i-set-up-my-ultimate-dev-environment-arch-linux-neovim-hyprland-6jp</link>
      <guid>https://dev.to/touatsliman/how-i-set-up-my-ultimate-dev-environment-arch-linux-neovim-hyprland-6jp</guid>
      <description>&lt;h1&gt;
  
  
  How I Set Up My Ultimate Dev Environment: Arch Linux + Neovim + Hyprland
&lt;/h1&gt;

&lt;p&gt;Hi, I'm Sliman — a Computer Science master's student specializing in &lt;br&gt;
&lt;strong&gt;Networking &amp;amp; Security&lt;/strong&gt;, based in Algeria. I spend most of my time &lt;br&gt;
writing Python, C, JavaScript, and Bash, working on projects ranging &lt;br&gt;
from cryptography tools to machine learning models and CTF challenges.&lt;/p&gt;

&lt;p&gt;Today I want to share the dev environment I've built and fine-tuned &lt;br&gt;
over time — one that makes me genuinely fast and comfortable as a developer.&lt;/p&gt;


&lt;h2&gt;
  
  
  Why I Chose Arch Linux
&lt;/h2&gt;

&lt;p&gt;Most people start with Ubuntu. I did too. But at some point you want &lt;br&gt;
&lt;strong&gt;full control&lt;/strong&gt; — over your kernel, your packages, what runs at startup, &lt;br&gt;
all of it. Arch Linux gives you exactly that.&lt;/p&gt;

&lt;p&gt;It's a rolling release distro, meaning you always have the latest packages.&lt;br&gt;
The &lt;a href="https://aur.archlinux.org/" rel="noopener noreferrer"&gt;AUR (Arch User Repository)&lt;/a&gt; has virtually &lt;br&gt;
everything you'll ever need. And the &lt;br&gt;
&lt;a href="https://wiki.archlinux.org/" rel="noopener noreferrer"&gt;Arch Wiki&lt;/a&gt; is hands-down the best Linux &lt;br&gt;
documentation on the internet.&lt;/p&gt;

&lt;p&gt;Yes, the installation takes time. But you learn exactly how Linux works &lt;br&gt;
in the process — disk partitioning, bootloaders, networking, all of it.&lt;/p&gt;


&lt;h2&gt;
  
  
  Hyprland: The Tiling Compositor That Changed Everything
&lt;/h2&gt;

&lt;p&gt;I use &lt;strong&gt;Hyprland&lt;/strong&gt; as my Wayland compositor. No traditional desktop &lt;br&gt;
environment, no taskbar clutter. Just a keyboard-driven, animated, &lt;br&gt;
buttery-smooth tiling experience running natively on Wayland.&lt;/p&gt;

&lt;p&gt;Hyprland is what happens when you take the productivity of a tiling &lt;br&gt;
window manager and add &lt;strong&gt;smooth animations, per-window opacity, blur &lt;br&gt;
effects, and gestures&lt;/strong&gt; — without sacrificing speed.&lt;/p&gt;

&lt;p&gt;Here's what my typical workspace layout looks like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;Workspace 1&lt;/code&gt; — Terminal (Kitty or Alacritty)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;Workspace 2&lt;/code&gt; — Browser (Firefox)&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;Workspace 3&lt;/code&gt; — Files / Notes&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;Workspace 4&lt;/code&gt; — Background tasks / Docker&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Key features I love:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Dynamic tiling&lt;/strong&gt; — windows tile automatically, no manual layout switching&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Waybar&lt;/strong&gt; — fully customizable status bar with CSS styling&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hyprlock&lt;/strong&gt; — beautiful screen locker&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hypridle&lt;/strong&gt; — smart idle management&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Native Wayland&lt;/strong&gt; — better performance and security than X11&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Once you go tiling, you never go back. Your hands almost never leave &lt;br&gt;
the keyboard, and switching between a terminal, browser, and editor &lt;br&gt;
becomes instant.&lt;/p&gt;


&lt;h2&gt;
  
  
  Neovim + LazyVim: My Editor Setup
&lt;/h2&gt;

&lt;p&gt;I use &lt;strong&gt;Neovim&lt;/strong&gt; with the &lt;strong&gt;LazyVim&lt;/strong&gt; distribution as my main editor.&lt;/p&gt;

&lt;p&gt;Key plugins I rely on daily:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;nvim-treesitter&lt;/code&gt; — beautiful syntax highlighting for every language&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;telescope.nvim&lt;/code&gt; — fuzzy finder for files, grep, and git history&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;nvim-lspconfig&lt;/code&gt; — LSP support for Python, JavaScript, C, Lua&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;none-ls&lt;/code&gt; — formatting and linting&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;harpoon&lt;/code&gt; — quick navigation between frequently used files&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;lazygit&lt;/code&gt; integration — full Git workflow without leaving Neovim&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The learning curve is real, but after a few weeks of muscle memory, &lt;br&gt;
editing code feels like playing an instrument — fluid and expressive.&lt;/p&gt;


&lt;h2&gt;
  
  
  Terminal &amp;amp; Shell Setup
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Kitty&lt;/strong&gt; — GPU-accelerated terminal, Wayland-native&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zsh + Oh My Zsh&lt;/strong&gt; — better shell experience with plugins&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;tmux&lt;/strong&gt; — terminal multiplexer for managing multiple sessions&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;starship&lt;/strong&gt; — minimal and fast shell prompt&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For daily tasks I live inside the terminal:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Quick project navigation&lt;/span&gt;
&lt;span class="nb"&gt;alias &lt;/span&gt;&lt;span class="nv"&gt;proj&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"cd ~/projects"&lt;/span&gt;

&lt;span class="c"&gt;# Git shortcuts&lt;/span&gt;
&lt;span class="nb"&gt;alias &lt;/span&gt;&lt;span class="nv"&gt;gs&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"git status"&lt;/span&gt;
&lt;span class="nb"&gt;alias &lt;/span&gt;&lt;span class="nv"&gt;gp&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"git push"&lt;/span&gt;
&lt;span class="nb"&gt;alias &lt;/span&gt;&lt;span class="nv"&gt;gl&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"git log --oneline --graph"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Tools I Use Daily
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tool&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;fzf&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Fuzzy search files and history&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;ripgrep&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Fast code search (better than grep)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;bat&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;cat&lt;/code&gt; with syntax highlighting&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;exa&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Modern &lt;code&gt;ls&lt;/code&gt; replacement&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;htop&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Process monitoring&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Docker&lt;/td&gt;
&lt;td&gt;Containers for all my dev environments&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;This setup isn't for everyone. It takes time to configure and there's &lt;br&gt;
a learning curve. But if you're someone who values &lt;strong&gt;speed, minimalism, &lt;br&gt;
and full control&lt;/strong&gt; over your environment — this stack is worth every &lt;br&gt;
hour invested.&lt;/p&gt;

&lt;p&gt;I'm planning to write more about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;My Python and Node.js project workflows&lt;/li&gt;
&lt;li&gt;CTF challenge write-ups (cryptography &amp;amp; networking)&lt;/li&gt;
&lt;li&gt;Machine learning projects built from scratch&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Follow along if that sounds interesting to you. 🚀&lt;/p&gt;




&lt;p&gt;&lt;em&gt;What's your current dev setup? Drop it in the comments — I'm always &lt;br&gt;
curious how other developers work.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>linux</category>
      <category>neovim</category>
      <category>productivity</category>
      <category>beginners</category>
    </item>
  </channel>
</rss>
