Skip to content

Repository files navigation

🏠 dotfiles

My personal Linux configuration files — NixOS with Home Manager, or GNU Stow on other distros

Arch LinuxNixOSMaintained

📦 Setup

NixOS (primary)

cd nix/
sudo nixos-rebuild switch --flake .#nixos

See nix/README.md for details.

GNU Stow (other distros)

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 */

🛠️ Tools & Configurations

🪟 Window Managers & Compositors

ToolDescriptionConfig
HyprlandhyprModern Wayland compositor with eye-candy animationshypr/
NiriniriScrollable tiling Wayland compositornix/niri/
i3i3Tiling window manager for X11i3/

🖥️ Terminal & Shell

ToolDescriptionConfig
KittykittyGPU-accelerated terminal emulatorkitty/
ZshzshZ Shell with Zinit for fast plugin loadingzsh/
TmuxtmuxTerminal multiplexer for session managementtmux/
starshipBlazing-fast cross-shell promptstarship/

✏️ Editor

ToolDescriptionConfig
NeovimlazyvimNeovim with LazyVim distributionnvim-lazyvim/

🚀 Application Launchers & Tools

ToolDescriptionConfig
RofirofiApplication launcher and dmenu replacementrofi/
YaziyaziBlazing fast terminal file manageryazi/

⚙️ Utilities & Dev Tools

ToolDescriptionConfig
GitgitVersion control system configurationgit/
keynavKeyboard-driven mouse cursor controlkeynav/
xbindkeysrcX11 keyboard shortcuts daemonxbindkeysrc/
opencodeOpenCode AI assistant configurationopencode/

📦 Infrastructure as Code

ToolDescriptionConfig
NixOSnixNixOS flake with Home Manager for declarative confignix/

📜 Scripts

ScriptDescription
bootstrap.shSets up zsh plugins (zinit), private repos, and external dependencies
monitor.shDisplay layout script for multi-monitor setups

🎨 Features

  • 🌊 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

📝 Notes

  • OS: NixOS / Arch Linux 🐧
  • Management: NixOS + Home Manager (primary), or GNU Stow for symlink farm
  • Philosophy: Minimal, fast, keyboard-driven workflow

🔧 Requirements

# 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

📚 Structure

~/.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)

🤝 Contributing

Feel free to fork and adapt these dotfiles for your own use!

📄 License

These configurations are free to use and modify.

About

My Linux setup: NixOS with Home Manager or Arch with Stow, dual compositor (i3/Niri), LazyVim, Zsh + Zinit.

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages