"Efficiency is not about doing more things; it is about removing the friction of doing the things that matter."
This repository hosts my personal configuration files for a high-performance, keyboard-driven development environment on Arch Linux. The goal is maximum velocity with zero system bloat.
(A snapshot of my current clean i3 + Alacritty environment)
My workflow relies heavily on GPU acceleration and Rust-based tools to ensure instant response times.
| Domain | Tool | Why? |
|---|---|---|
| OS | Arch Linux | Minimalist, rolling release, total control. |
| Window Manager | i3-wm | Tiling WM. Windows are managed via keyboard, not mouse. |
| Terminal | Alacritty | The fastest terminal emulator available (GPU-accelerated). |
| Shell | Zsh | Interactive shell configured with syntax highlighting & autosuggestions. |
| Prompt | Starship | Blazing fast, Rust-based, minimal prompt. |
| Navigation | Zoxide | Smarter cd. Jumps to directories based on usage frequency. |
| File Manager | Yazi | Vim-like file manager that lives in the terminal. |
Status: β Unresolved
I use a bilingual setup (English/Persian). However, Alacritty currently does not support "Advanced Text Shaping" or BiDi (Bidirectional) text rendering.
- The Issue: Persian/Farsi characters appear separated and in Left-to-Right order (e.g., "Ψ³ΩΨ§Ω " renders as "Ω Ψ§ Ω Ψ³").
- Current State: I have decided to stick with Alacritty for its raw performance despite this limitation.
- Workaround: None active in the terminal. I use GUI text editors (VS Code/Gedit) when extensive Persian writing is required.
Install the core packages from the Arch official repositories:
# Core System & GUI
sudo pacman -S i3-wm i3status dmenu alacritty xorg-xinit xorg-server
# Shell & Productivity
sudo pacman -S zsh starship zoxide yazi fzf ripgrep
# Zsh Plugins (Arch Native Way)
sudo pacman -S zsh-autosuggestions zsh-syntax-highlighting
# Fonts (Critical for icons/ligatures)
sudo pacman -S ttf-jetbrains-mono ttf-nerd-fonts-symbols- Deployment Clone the repository and link the configuration files to your home directory.
Method A: Manual Linking (Simple)
git clone https://github.com/alimoradi296/dotfiles.git cd dotfiles
mv ~/.zshrc ~/.zshrc.backup mv ~/.config/i3 ~/.config/i3.backup
cp .zshrc ~/ cp -r .config/i3 ~/.config/ cp -r .config/alacritty ~/.config/ cp -r .local/bin ~/.local/ π Repository Structure
dotfiles/ βββ .config/ β βββ alacritty/ β β βββ alacritty.toml # Visual settings, opacity (0.95), font size β βββ i3/ β βββ config # Window rules, startup apps, keybindings βββ .local/ β βββ bin/ β βββ env # PATH configurations βββ .zshrc # Plugin loading, aliases, Zoxide/Starship init βββ README.md β¨οΈ Workflow & Keybindings My i3 config is set up for speed. Here are the essentials:
Key Combination Action Mod + Enter Spawn Terminal (Alacritty) Mod + d Application Launcher (dmenu) Mod + Shift + q Kill Focused Window Mod + f Toggle Fullscreen Mod + Shift + Space Toggle Floating/Tiling Mode Mod + Shift + r Restart i3 (Reload Config) Alt + Shift Toggle Language Layout (US <-> IR)
π€ Contributing If you know a performant way to render RTL text in Alacritty without switching to a slower terminal (like Kitty or WezTerm), please open an issue or PR!
π License MIT