This repository contains my personal configuration files (dotfiles) for Arch Linux. These dotfiles are designed to create a seamless, efficient, and personalized workflow, carefully crafted over time to maximize productivity and aesthetic appeal.
- Hyprland: A dynamic tiling Wayland compositor
- Neovim: Highly efficient text editor with modern capabilities
- Alacritty: Fast GPU-accelerated terminal emulator
- tmux: Terminal multiplexer for session management
- zsh: Feature-rich shell with extensive customization
- Waybar: Highly customizable status bar for Wayland
- And more: Various utilities and small configurations
Ensure you have the following installed on your Arch Linux system:
- GNU Stow: For managing symlinks
- Git: For cloning this repository
sudo pacman -S stow git-
Clone the Repository
git clone https://github.com/albugowy15/dotfiles.git ~/dotfiles -
Navigate to the Dotfiles Directory
cd ~/dotfiles
-
Create Symlinks Using Stow
To deploy all configurations:
stow .Or deploy specific configurations:
stow nvim stow zsh stow hyprland # etc. -
Apply Configurations
Some configurations may require restarting applications or logging out and back in to take effect.
Hyprland
My Hyprland setup includes:
- Custom keybindings for efficient window management
- Optimized workspace layouts
- Integrated with waybar for system status
- Animations and visual effects for a modern desktop experience
File location: ~/.config/hypr/
Neovim
Features of my Neovim configuration:
- Modern LSP setup for code intelligence
- Treesitter for enhanced syntax highlighting
- Telescope for fuzzy finding
- Custom keymaps for improved workflow
- Plugin management with lazy.nvim
File location: ~/.config/nvim/
Alacritty
Terminal configuration featuring:
- Custom color scheme
- Font configuration with ligatures
- Performance optimizations
- Key bindings for common operations
File location: ~/.config/alacritty/
tmux
Terminal multiplexer setup with:
- Custom status bar
- Enhanced key bindings
- Session management utilities
- Integration with system clipboard
File location: ~/.tmux.conf
zsh
Shell configuration featuring:
- Custom prompt with git integration
- Aliases for common commands
- Plugin management
- Path and environment variable setup
File location: ~/.zshrc
Waybar
Status bar configuration with:
- System resource monitors
- Workspace indicators
- Media controls
- Custom styling and modules
File location: ~/.config/waybar/
These dotfiles are designed to be easily customizable to suit your preferences:
-
Before Making Changes
- Create backups of your existing configurations
- Review the structure of each configuration directory
-
Making Changes
- Modify files directly in the
~/dotfilesdirectory - Test changes incrementally to ensure stability
- Modify files directly in the
-
After Making Changes
- Restart the relevant application or reload its configuration
- For system-wide changes, consider logging out and back in
Keep your dotfiles up to date with these steps:
cd ~/dotfiles
git pull origin main
stow . # Re-apply configurationsdotfiles/
├── hyprland/
│ └── .config/hypr/
│ ├── hyprland.conf
│ └── ...
├── nvim/
│ └── .config/nvim/
│ ├── init.lua
│ └── ...
├── alacritty/
│ └── .config/alacritty/
│ ├── alacritty.yml
│ └── ...
├── zsh/
│ ├── .zshrc
│ └── .config/zsh/
├── tmux/
│ └── .tmux.conf
├── waybar/
│ └── .config/waybar/
│ ├── config
│ └── ...
└── ...
Click to view dependencies for each configuration
- wlroots
- xdg-desktop-portal-hyprland
- nodejs (for LSP)
- ripgrep (for Telescope)
- fd (for Telescope)
- Font Awesome (for icons)
- pavucontrol (for audio module)
- wofi (application launcher)
- hyprlock (screen locking)
- brightnessctl (brightness control)
- playerctl (media control)
- These configurations are primarily tested on Arch Linux
- Some configurations may require additional dependencies