Skip to content

albugowy15/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

132 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dotfiles

📋 Overview

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.

Featured Configurations

  • 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

⚙️ Installation

Prerequisites

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

Setting Up Dotfiles

  1. Clone the Repository

    git clone https://github.com/albugowy15/dotfiles.git ~/dotfiles
  2. Navigate to the Dotfiles Directory

    cd ~/dotfiles
  3. Create Symlinks Using Stow

    To deploy all configurations:

    stow .

    Or deploy specific configurations:

    stow nvim
    stow zsh
    stow hyprland
    # etc.
  4. Apply Configurations

    Some configurations may require restarting applications or logging out and back in to take effect.

🧩 Configuration Details

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/

🔧 Customization

These dotfiles are designed to be easily customizable to suit your preferences:

  1. Before Making Changes

    • Create backups of your existing configurations
    • Review the structure of each configuration directory
  2. Making Changes

    • Modify files directly in the ~/dotfiles directory
    • Test changes incrementally to ensure stability
  3. After Making Changes

    • Restart the relevant application or reload its configuration
    • For system-wide changes, consider logging out and back in

🔄 Updating

Keep your dotfiles up to date with these steps:

cd ~/dotfiles
git pull origin main
stow .  # Re-apply configurations

🗂️ Directory Structure

dotfiles/
├── 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
│       └── ...
└── ...

🔗 Dependencies

Click to view dependencies for each configuration

Hyprland

  • wlroots
  • xdg-desktop-portal-hyprland

Neovim

  • nodejs (for LSP)
  • ripgrep (for Telescope)
  • fd (for Telescope)

Waybar

  • Font Awesome (for icons)
  • pavucontrol (for audio module)

Additional Tools

  • wofi (application launcher)
  • hyprlock (screen locking)
  • brightnessctl (brightness control)
  • playerctl (media control)

📝 Notes

  • These configurations are primarily tested on Arch Linux
  • Some configurations may require additional dependencies

About

My dotfiles

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published