Personal dotfiles repository containing configuration files for various Linux applications and tools.
This repository contains configuration files for a Linux development environment, including window managers, terminal emulators, text editors, shell configurations, and various productivity tools.
- bspwm - Binary Space Partitioning Window Manager configuration
- i3 - i3 window manager configuration
- alacritty - Alacritty terminal configuration
- kitty - Kitty terminal configuration
- wezterm - WezTerm terminal configuration (using Firefly Traditional color scheme, JetBrains Mono font)
- nvim - Neovim configuration using LazyVim framework
- helix - Helix editor configuration
- zsh - Zsh configuration with Oh My Zsh (robbyrussell theme) and Starship prompt
- tmux - Tmux configuration with TPM plugin manager, CPU/memory monitor, and custom keybindings
- starship - Starship cross-shell prompt configuration (Catppuccin Mocha theme)
- rofi - Rofi application launcher with multiple themes (including Gruvbox Dark Hard as default)
- picom - Picom compositor configuration with animations
- vscode - VS Code settings and keybindings
- sxhkd - Simple X Hotkey Daemon configuration for keyboard shortcuts
- fastfetch - Fastfetch system information tool configuration
- polybar - Polybar status bar configuration (referenced in bspwm config)
The .zshrc includes:
- Oh My Zsh with git plugin
- Starship prompt integration
- Custom aliases for:
- Package management (
apu,apuu,apin,sr) - Git operations (
gs,ga,gc,gp,gpl,gpo,gchk) - System services (
sngx,smysql,smdb,spsql) - Development tools (
v,vi,r,ff,pa)
- Package management (
- Path configurations for:
- Neovim
- Composer (Laravel)
- NVM (Node Version Manager)
- Lua Language Server
- CMake
- Default editor set to
nvim
Features:
- Base index starting at 1
- Status bar at the top with CPU and memory monitoring
- Custom keybindings:
Alt+1-9- Switch to window 1-9Alt+Arrow- Navigate panesAlt+Shift+Arrow- Resize panesCtrl+p/n- Previous/next window
- Plugins:
- TPM (Tmux Plugin Manager)
- tmux-sensible
- tmux-cpu-mem-monitor
Uses LazyVim framework with:
- Lazy.nvim plugin manager
- Custom configuration in
lua/config/directory - Plugin configurations in
lua/plugins/ - Stylua formatting configuration
Customized prompt showing:
- OS and username
- Current directory
- Git branch and status
- Language versions (C, Rust, Go, Node.js, PHP, Java, Kotlin, Haskell, Python)
- Docker context
- Current time
- Uses Catppuccin Mocha color palette
This repository uses GNU Stow for managing dotfiles. Stow creates symlinks automatically, making it easy to install, update, and remove configurations.
Install GNU Stow if you don't have it:
# Debian/Ubuntu
sudo apt install stow
# Arch Linux
sudo pacman -S stow
# Fedora
sudo dnf install stow
# macOS (with Homebrew)
brew install stow-
Clone this repository:
git clone <repository-url> ~/.dotfiles cd ~/.dotfiles
-
Install all configurations using Stow:
# Install all packages at once stow -t ~ */ # Or install specific packages individually stow -t ~ zsh stow -t ~ nvim stow -t ~ tmux stow -t ~ starship stow -t ~ alacritty stow -t ~ kitty stow -t ~ wezterm stow -t ~ helix stow -t ~ bspwm stow -t ~ i3 stow -t ~ rofi stow -t ~ picom stow -t ~ sxhkd stow -t ~ vscode stow -t ~ fastfetch
-
To remove a configuration:
stow -D -t ~ <package-name> # Example: stow -D -t ~ nvim
-
To restow (update) a configuration:
stow -R -t ~ <package-name> # Example: stow -R -t ~ zsh
-
Install required dependencies:
- Oh My Zsh:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" - Starship: Follow instructions at https://starship.rs/guide/#%F0%9F%9A%80-installation
- Tmux plugins: Press
Prefix + Iin tmux after installation - LazyVim: Follow LazyVim installation guide
- Oh My Zsh:
- GNU Stow - Symlink manager for dotfiles (required for installation)
- zsh - Z shell
- Oh My Zsh - Zsh framework
- Starship - Cross-shell prompt
- tmux - Terminal multiplexer
- TPM - Tmux Plugin Manager
- Neovim - Text editor
- LazyVim - Neovim configuration framework
- bspwm / i3 - Window managers
- sxhkd - Hotkey daemon
- rofi - Application launcher
- picom - Compositor
- alacritty / kitty / wezterm - Terminal emulators
- helix - Text editor
- fastfetch - System information tool
- This repository is structured for GNU Stow. Each directory (package) contains files that will be symlinked to your home directory when stowed. The directory structure within each package mirrors the target location (e.g.,
nvim/.config/nvim/becomes~/.config/nvim/). - The bspwm configuration includes automatic desktop assignment rules for Firefox and VS Code
- Keyboard layout switching (US/RU) is configured via Alt+Shift toggle
- The configuration assumes a Linux environment
- Some paths are hardcoded to specific user directories and may need adjustment
This is a personal configuration repository. Use at your own discretion.
