Welcome to my dotfiles repository! This repository contains the configuration files (dotfiles) I use to set up and customize my development environment. These dotfiles are modular and managed using GNU Stow for easy deployment.
Dotfiles are configuration files for various programs and tools, often starting with a dot (.
). This repository:
- Provides a backup of my preferred environment setup.
- Allows quick deployment across systems.
- Uses GNU Stow.
- Configurations for tools like:
- Neovim (
nvim
) - Zsh (
zsh
) - Tmux (
tmux
) - Yazi (
yazi
) - Kitty (terminal emulator)
- Neovim (
- Designed for Linux-based systems (tested on Arch Linux).
- Compatible with GNU Stow for simple symlink creation.
- Easily customizable and extendable.
-
Install GNU Stow:
sudo pacman -S stow # For Arch-based systems
Alternatively, use your package manager (
apt
,brew
, etc.) if you're not on Arch. -
Clone this repository to your home directory or any preferred location:
git clone https://github.com/Pix3lexe/dotfiles.git ~/dotfiles cd ~/dotfiles
Before using these dotfiles, make sure the following dependencies are installed (these are specific to the Hyprland-based environment and related tools).
NOTE: If you're on Arch you can also install them by running:
./install.sh
- hyprland: Window manager for Wayland.
- wofi: Application launcher.
- waybar: Status bar for Wayland.
- ttf-font-awesome: Icon font for status bars and UI customization.
- hyprshot: Screenshot tool for Hyprland.
- swaync: Notification daemon.
- hyprlock: Screen locker for Hyprland.
- hypridle: Idle management tool.
- hyprpaper: Wallpaper manager for Hyprland.
- nwg-look: GTK theme switcher for Wayland.
- xdg-desktop-portal-gtk: Desktop portal for GTK integration.
- xdg-desktop-portal-hyprland: Desktop portal specific to Hyprland.
- catppuccin-gtk-theme-mocha: GTK theme for a consistent aesthetic.
- wl-clipboard: Clipboard manager for Wayland.
The repository is structured to be modular, with each folder representing a specific tool or program.
dotfiles/
├── nvim/ # Configuration for Neovim
│ └── .config/nvim/
├── zsh/ # Zsh shell configuration
│ └── .zshrc
├── tmux/ # Tmux configuration
│ └── .tmux.conf
└── ...
Each directory contains the relevant files, arranged in the same structure as their destination.
Use GNU Stow to symlink configuration files to their respective locations.
-
Navigate to the
dotfiles
directory:cd ~/dotfiles
-
Stow a specific configuration (e.g., Neovim):
stow -t ~ nvim
This creates the necessary symlinks, such as:
~/.config/nvim -> ~/dotfiles/nvim/.config/nvim
To remove the symlinks created by Stow:
stow -D -t ~ nvim
Alternatively you can run the setup script (only works on Arch), which will set up everything by itself:
./setup.sh
If you have questions or suggestions, feel free to reach out via GitHub Issues.