Personal configuration files for my Arch Linux development environment, managed with GNU Stow.
This repository contains configuration files for:
- Hyprland - Wayland compositor with animations
- Sway - i3-compatible Wayland compositor
- i3 - X11 window manager
- Bash - Shell configuration with aliases and keybinds
- Alacritty - GPU-accelerated terminal emulator
- Ghostty - Modern terminal emulator
- Tmux - Terminal multiplexer
- Zellij - Modern terminal workspace
- Neovim - Highly customized Neovim setup with Lazy.nvim
- Rofi - Application launcher and menu system
- Launcher, powermenu, emoji picker, clipboard manager
- WiFi/Bluetooth managers, snippet manager
- Waybar - Wayland status bar
- i3blocks - Status bar for i3
- i3status - Lightweight status bar
- Dunst - Notification daemon
- systemd - User service configurations
- swhkd/sxhkd - Hotkey daemons
- swaylock - Screen locker for Wayland
- lazygit - Terminal UI for git
Located in .local/bin/:
- Screenshot utilities (
screenshot,rubyshot) - Screen recording scripts
- Session management (
lock-sys,tmux-sessionizer) - Power menu and WiFi menu
- AUR helpers and system utilities
sudo pacman -S stow git neovim tmux bash alacritty# Wayland
sudo pacman -S hyprland sway waybar swaylock
# X11
sudo pacman -S i3-wm i3blocks i3status
# Tools
sudo pacman -S rofi dunst lazygit zellij swhkd
# Terminal enhancement
sudo pacman -S fzf ripgrep fdgit clone git@github.com:Nithin745/dotfiles.git ~/dotfiles
cd ~/dotfiles# Backup your current configs (optional but recommended)
mkdir -p ~/.config-backup
cp -r ~/.config/* ~/.config-backup/
cp ~/.bashrc ~/.bash_profile ~/.asoundrc ~/.config-backup/ 2>/dev/null || truestow .# Example: Install only Neovim and Tmux configs
stow -t ~ --dir=. --stow .config/nvim .config/tmux
# Example: Install Bash configurations
stow -t ~ --dir=. --stow .bashrc .bash_profile
# Example: Install Hyprland setup
stow -t ~ --dir=. --stow .config/hypr .config/waybar .config/rofistow -t ~ --dir=. --stow .local/bin
chmod +x ~/.local/bin/*# Move existing config to dotfiles repo
mv ~/.config/newapp ~/dotfiles/.config/
cd ~/dotfiles
stow .# Edit files in dotfiles repo
cd ~/dotfiles
# Make changes...
# Stow will automatically link changescd ~/dotfiles
stow -D .cd ~/dotfiles
stow -R .- Modern Lua-based configuration
- Managed with Lazy.nvim plugin manager
- Custom keybindings and autocmds
- Multiple backup configurations included
- Custom scripts for monitor handling and screen locking
- Hyprpaper integration for wallpapers
- Custom keymaps and window rules
- Environment variables configuration
- Modular configuration split into multiple files
- Custom keybindings and hooks
- Session management integration
- Multiple themes (mocha, onedark, violet)
- Custom launchers for various functions
- Bluetooth, WiFi, clipboard, and emoji pickers
- Custom aliases and functions
- Django completions
- Custom keybindings
dotfiles/
├── .config/ # Application configurations
│ ├── nvim/ # Neovim configuration
│ ├── hypr/ # Hyprland configuration
│ ├── tmux/ # Tmux configuration
│ ├── rofi/ # Rofi themes and scripts
│ └── ... # Other app configs
├── .local/
│ └── bin/ # Custom executable scripts
├── .bashrc # Bash configuration
├── .bash_profile # Bash profile
├── .asoundrc # ALSA configuration
└── .gitignore # Git ignore rules
-
Personal Information: Update user-specific paths and settings in configurations
-
Keybindings: Modify keybinds in respective config files:
- Hyprland:
.config/hypr/mappings.conf - Sway:
.config/sway/config - i3:
.config/i3/config - Tmux:
.config/tmux/conf.d/bindings.conf - Bash:
.config/bash/keybinds
- Hyprland:
-
Themes: Color schemes are located in:
- Rofi:
.config/rofi/colors/ - Alacritty:
.config/alacritty/alacritty.toml
- Rofi:
If stow reports conflicts:
# Remove or backup conflicting files
mv ~/.config/conflicting-file ~/.config/conflicting-file.bak
# Then restow
cd ~/dotfiles
stow .# Find broken symlinks
find ~ -xtype l
# Remove broken symlinks in .config
find ~/.config -xtype l -delete
# Restow
cd ~/dotfiles
stow -R .# Make all scripts executable
chmod +x ~/.local/bin/*This is a personal configuration repository, but feel free to:
- Fork and adapt to your needs
- Open issues for questions
- Submit PRs for bug fixes
MIT License - Feel free to use and modify as needed.
- Built for Arch Linux
- Managed with GNU Stow
- Inspired by the dotfiles community
Note: These configurations are tailored for my personal workflow. You may need to adjust paths, packages, and settings for your system.