My personal Linux configuration files — NixOS with Home Manager, or GNU Stow on other distros
cd nix/
sudo nixos-rebuild switch --flake .#nixosSee nix/README.md for details.
This repository also supports GNU Stow for symlink management.
# Clone the repository
git clone git@github.com:lad/dotfiles.git ~/.dotfiles
cd ~/.dotfiles
# Install a specific configuration
stow <package-name>
# Example: Install nvim configuration
stow nvim-lazyvim
# Install all configurations
stow */| Tool | Description | Config |
|---|---|---|
| Modern Wayland compositor with eye-candy animations | hypr/ |
|
| Scrollable tiling Wayland compositor | nix/niri/ |
|
| Tiling window manager for X11 | i3/ |
| Tool | Description | Config |
|---|---|---|
| Neovim with LazyVim distribution | nvim-lazyvim/ |
| Tool | Description | Config |
|---|---|---|
| Application launcher and dmenu replacement | rofi/ |
|
| Blazing fast terminal file manager | yazi/ |
| Tool | Description | Config |
|---|---|---|
| NixOS flake with Home Manager for declarative config | nix/ |
| Script | Description |
|---|---|
| bootstrap.sh | Sets up zsh plugins (zinit), private repos, and external dependencies |
| monitor.sh | Display layout script for multi-monitor setups |
- 🌊 Wayland-ready: Hyprland/Niri configuration with smooth animations
- 🪟 X11 fallback: i3wm for compatibility
- ⚡ Blazing fast: GPU-accelerated terminal, modern file manager, starship prompt
- 🎯 Keyboard-centric: Vim motions everywhere, custom keybindings
- 📦 Modular: Each tool is a separate stow package
- 🐚 Shell enhancements: Zsh with Zinit (turbo-loading), syntax highlighting, fzf-tab
- 🐧 NixOS-ready: Full NixOS + Home Manager configuration for declarative system management
- OS: NixOS / Arch Linux 🐧
- Management: NixOS + Home Manager (primary), or GNU Stow for symlink farm
- Philosophy: Minimal, fast, keyboard-driven workflow
# Install stow
sudo pacman -S stow
# Install tools (adjust as needed)
sudo pacman -S hyprland i3-wm kitty zsh tmux neovim rofi git yazi keynav xbindkeys starship~/.dotfiles/
├── git/ # Git configuration
├── hypr/ # Hyprland (Wayland compositor)
├── i3/ # i3 window manager
├── keynav/ # Keyboard navigation
├── kitty/ # Terminal emulator
├── nix/ # NixOS flake + Home Manager config
├── nvim-lazyvim/ # Neovim with LazyVim
├── opencode/ # OpenCode AI assistant config
├── rofi/ # Application launcher
├── scripts/ # Bootstrap and utility scripts
├── starship/ # Starship prompt config
├── tmux/ # Terminal multiplexer
├── xbindkeysrc/ # X11 keybindings
├── yazi/ # File manager
└── zsh/ # Z Shell (Zinit-based)
Feel free to fork and adapt these dotfiles for your own use!
These configurations are free to use and modify.